[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