36 #ifndef _OPENFLOW_EXPERIMENTAL_H
37 #define _OPENFLOW_EXPERIMENTAL_H 1
41 namespace experimental {
44 enum oxm_ofx_match_fields {
47 OFPXMT_OFX_NW_SRC = 0,
48 OFPXMT_OFX_NW_DST = 1,
49 OFPXMT_OFX_NW_PROTO = 2,
50 OFPXMT_OFX_NW_TOS = 3,
51 OFPXMT_OFX_TP_SRC = 4,
52 OFPXMT_OFX_TP_DST = 5,
60 #define HAS_MASK_FLAG (1 << 8)
63 enum oxm_tlv_match_fields {
64 OXM_TLV_EXPR_NW_SRC = (OFPXMC_EXPERIMENTER << 16) | (OFPXMT_OFX_NW_SRC << 9) | 4,
65 OXM_TLV_EXPR_NW_SRC_MASK = (OFPXMC_EXPERIMENTER << 16) | (OFPXMT_OFX_NW_SRC << 9) | 8 | HAS_MASK_FLAG,
66 OXM_TLV_EXPR_NW_DST = (OFPXMC_EXPERIMENTER << 16) | (OFPXMT_OFX_NW_DST << 9) | 4,
67 OXM_TLV_EXPR_NW_DST_MASK = (OFPXMC_EXPERIMENTER << 16) | (OFPXMT_OFX_NW_DST << 9) | 8 | HAS_MASK_FLAG,
68 OXM_TLV_EXPR_NW_PROTO = (OFPXMC_EXPERIMENTER << 16) | (OFPXMT_OFX_NW_PROTO << 9) | 1,
69 OXM_TLV_EXPR_NW_TOS = (OFPXMC_EXPERIMENTER << 16) | (OFPXMT_OFX_NW_TOS << 9) | 1,
70 OXM_TLV_EXPR_TP_SRC = (OFPXMC_EXPERIMENTER << 16) | (OFPXMT_OFX_TP_SRC << 9) | 2,
71 OXM_TLV_EXPR_TP_DST = (OFPXMC_EXPERIMENTER << 16) | (OFPXMT_OFX_TP_DST << 9) | 2,