在 Open vSwitch 2.4.0 实现中,我们确实有以下内容:
#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;
我有以下变量:
ovs_16aligned_be32 srcIP;
ovs_be16 srcPort ;
我怎样才能转换srcIP
成 axxx.yyy.zzz.ttt
和 thesrcPort
成 little-endian uint16_t
?