In Open vSwitch 2.4.0 implementation, we do have the following:
#ifdef __CHECKER__
#define OVS_BITWISE __attribute__((bitwise))
#define OVS_FORCE __attribute__((force))
#else
#define OVS_BITWISE
#define OVS_FORCE
#endif
/* The ovs_be<N> types indicate that an object is in big-endian, not
* native-endian, byte order. They are otherwise equivalent to uint<N>_t. */
typedef uint16_t OVS_BITWISE ovs_be16;
typedef struct {
ovs_be16 hi, lo;
} ovs_16aligned_be32;
I have the following variables:
ovs_16aligned_be32 srcIP;
ovs_be16 srcPort ;
How can I convert srcIP
into a xxx.yyy.zzz.ttt
and the srcPort
into a little-endian uint16_t
?