static void nxm_put_eth(struct ofpbuf *b, uint32_t header, const uint8_t value[ETH_ADDR_LEN]) { nxm_put_header(b, header); ofpbuf_put(b, value, ETH_ADDR_LEN); }
static void nxm_put_64w(struct ofpbuf *b, uint32_t header, ovs_be64 value, ovs_be64 mask) { nxm_put_header(b, header); ofpbuf_put(b, &value, sizeof value); ofpbuf_put(b, &mask, sizeof mask); }
static void nxm_put_eth_masked(struct ofpbuf *b, uint32_t header, const uint8_t value[ETH_ADDR_LEN], const uint8_t mask[ETH_ADDR_LEN]) { if (!eth_addr_is_zero(mask)) { if (eth_mask_is_exact(mask)) { nxm_put_eth(b, header, value); } else { nxm_put_header(b, NXM_MAKE_WILD_HEADER(header)); ofpbuf_put(b, value, ETH_ADDR_LEN); ofpbuf_put(b, mask, ETH_ADDR_LEN); } } }
static void nxm_put_8m(struct ofpbuf *b, uint32_t header, uint8_t value, uint8_t mask) { switch (mask) { case 0: break; case UINT8_MAX: nxm_put_8(b, header, value); break; default: nxm_put_header(b, NXM_MAKE_WILD_HEADER(header)); ofpbuf_put(b, &value, sizeof value); ofpbuf_put(b, &mask, sizeof mask); } }
static void nxm_put_32(struct ofpbuf *b, uint32_t header, ovs_be32 value) { nxm_put_header(b, header); ofpbuf_put(b, &value, sizeof value); }
static void nxm_put_8(struct ofpbuf *b, uint32_t header, uint8_t value) { nxm_put_header(b, header); ofpbuf_put(b, &value, sizeof value); }