[ovs-dev] [PATCH v2 10/12] nx-match: Add support for experimenter OXM.

YAMAMOTO Takashi yamamoto at valinux.co.jp
Tue Oct 7 01:58:55 UTC 2014


> -#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



More information about the dev mailing list