> -#define NXM_HEADER(CLASS, FIELD, HASMASK, LENGTH) \ > - (((CLASS) << 16) | ((FIELD) << 9) | ((HASMASK) << 8) | (LENGTH)) > +#define NXM_HEADER(VENDOR, CLASS, HASMASK, FIELD, LENGTH) \
why did you swap FIELD and HASMASK? it's easier for me to remember if it's in the on-wire order. ie. CLASS, FIELD, HASMASK, LENGTH, VENDOR. > static void > -nx_put_header__(struct ofpbuf *b, uint32_t header, bool masked) > +nx_put_header__(struct ofpbuf *b, uint64_t header, bool masked) > { > - uint32_t masked_header = masked ? nxm_make_wild_header(header) : header; > - ovs_be32 network_header = htonl(masked_header); > + uint64_t masked_header = masked ? nxm_make_wild_header(header) : header; > + ovs_be64 network_header = htonll(masked_header); > > - ofpbuf_put(b, &network_header, sizeof network_header); > + ofpbuf_put(b, &network_header, 4 + nxm_experimenter_len(header)); better to use nxm_header_len? YAMAMOTO Takashi _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev