8 #ifndef COXMATCH_OUTPUT_H_
9 #define COXMATCH_OUTPUT_H_
12 #include "rofl/common/openflow/coxmatch.h"
14 #ifdef ROFL_EXPERIMENTAL
15 #include "rofl/common/openflow/experimental/matches/gre_matches.h"
16 #include "rofl/common/openflow/experimental/matches/gtp_matches.h"
17 #include "rofl/common/openflow/experimental/matches/pppoe_matches.h"
32 coxmatch const& oxm = oxm_output.oxm;
33 switch (oxm.get_oxm_class()) {
34 case openflow::OFPXMC_OPENFLOW_BASIC: {
35 switch (oxm.get_oxm_field()) {
36 case openflow::OFPXMT_OFB_IN_PORT:
38 case openflow::OFPXMT_OFB_IN_PHY_PORT:
40 case openflow::OFPXMT_OFB_METADATA:
42 case openflow::OFPXMT_OFB_ETH_DST:
44 case openflow::OFPXMT_OFB_ETH_SRC:
46 case openflow::OFPXMT_OFB_ETH_TYPE:
48 case openflow::OFPXMT_OFB_VLAN_VID:
50 case openflow::OFPXMT_OFB_VLAN_PCP:
52 case openflow::OFPXMT_OFB_IP_DSCP:
54 case openflow::OFPXMT_OFB_IP_ECN:
56 case openflow::OFPXMT_OFB_IP_PROTO:
58 case openflow::OFPXMT_OFB_IPV4_SRC:
60 case openflow::OFPXMT_OFB_IPV4_DST:
62 case openflow::OFPXMT_OFB_TCP_SRC:
64 case openflow::OFPXMT_OFB_TCP_DST:
66 case openflow::OFPXMT_OFB_UDP_SRC:
68 case openflow::OFPXMT_OFB_UDP_DST:
70 case openflow::OFPXMT_OFB_SCTP_SRC:
72 case openflow::OFPXMT_OFB_SCTP_DST:
74 case openflow::OFPXMT_OFB_ICMPV4_TYPE:
76 case openflow::OFPXMT_OFB_ICMPV4_CODE:
78 case openflow::OFPXMT_OFB_ARP_OP:
80 case openflow::OFPXMT_OFB_ARP_SPA:
82 case openflow::OFPXMT_OFB_ARP_TPA:
84 case openflow::OFPXMT_OFB_ARP_SHA:
86 case openflow::OFPXMT_OFB_ARP_THA:
88 case openflow::OFPXMT_OFB_IPV6_SRC:
90 case openflow::OFPXMT_OFB_IPV6_DST:
92 case openflow::OFPXMT_OFB_IPV6_FLABEL:
94 case openflow::OFPXMT_OFB_ICMPV6_TYPE:
96 case openflow::OFPXMT_OFB_ICMPV6_CODE:
98 case openflow::OFPXMT_OFB_IPV6_ND_TARGET:
100 case openflow::OFPXMT_OFB_IPV6_ND_SLL:
102 case openflow::OFPXMT_OFB_IPV6_ND_TLL:
104 case openflow::OFPXMT_OFB_MPLS_LABEL:
106 case openflow::OFPXMT_OFB_MPLS_TC:
108 case openflow::OFPXMT_OFB_MPLS_BOS:
110 case openflow::OFPXMT_OFB_TUNNEL_ID:
112 case openflow::OFPXMT_OFB_PBB_ISID:
114 case openflow::OFPXMT_OFB_IPV6_EXTHDR:
117 os << oxm;
return os;
120 case openflow::OFPXMC_EXPERIMENTER: {
121 switch (oxm.get_oxm_field()) {
122 case openflow::experimental::OFPXMT_OFX_NW_SRC:
124 case openflow::experimental::OFPXMT_OFX_NW_DST:
126 case openflow::experimental::OFPXMT_OFX_NW_PROTO:
128 case openflow::experimental::OFPXMT_OFX_NW_TOS:
130 case openflow::experimental::OFPXMT_OFX_TP_SRC:
132 case openflow::experimental::OFPXMT_OFX_TP_DST:
134 #ifdef ROFL_EXPERIMENTAL
135 case openflow::experimental::gtp::OFPXMT_OFX_GTP_MSGTYPE:
137 case openflow::experimental::gtp::OFPXMT_OFX_GTP_TEID:
139 case openflow::experimental::pppoe::OFPXMT_OFX_PPPOE_SID:
141 case openflow::experimental::pppoe::OFPXMT_OFX_PPPOE_CODE:
143 case openflow::experimental::pppoe::OFPXMT_OFX_PPPOE_TYPE:
145 case openflow::experimental::pppoe::OFPXMT_OFX_PPP_PROT:
147 case openflow::experimental::gre::OFPXMT_OFX_GRE_VERSION:
149 case openflow::experimental::gre::OFPXMT_OFX_GRE_PROT_TYPE:
151 case openflow::experimental::gre::OFPXMT_OFX_GRE_KEY:
155 os << oxm;
return os;
159 os << oxm;
return os;
Definition: coxmatch.h:684
Definition: coxmatch.h:640
Definition: gtp_matches.h:59
Definition: coxmatch.h:1200
Definition: pppoe_matches.h:34
Definition: coxmatch.h:548
Definition: coxmatch.h:1328
Definition: coxmatch.h:1048
Definition: coxmatch.h:1024
Definition: coxmatch.h:526
Definition: coxmatch.h:1510
Definition: coxmatch.h:662
Definition: pppoe_matches.h:106
Definition: coxmatch.h:618
Definition: pppoe_matches.h:58
Definition: coxmatch.h:880
Definition: coxmatch.h:1303
Definition: coxmatch.h:803
Definition: coxmatch.h:1461
Definition: coxmatch.h:976
Definition: coxmatch.h:420
Definition: coxmatch.h:499
Definition: coxmatch.h:740
Definition: coxmatch.h:49
Definition: coxmatch.h:1565
Definition: coxmatch.h:1253
Definition: coxmatch.h:1000
Definition: coxmatch.h:1142
Definition: coxmatch.h:1171
Definition: coxmatch.h:928
Definition: gtp_matches.h:32
Definition: coxmatch.h:904
Definition: pppoe_matches.h:82
Definition: coxmatch.h:1278
Definition: coxmatch.h:1624
Definition: coxmatch_output.h:25
Definition: coxmatch.h:471
Definition: coxmatch.h:832
Definition: coxmatch.h:1401
Definition: coxmatch.h:952
Definition: coxmatch.h:1432
Definition: gre_matches.h:96
Definition: coxmatch.h:1376
Definition: coxmatch.h:1600
Definition: gre_matches.h:69
Definition: coxmatch.h:774
Definition: coxmatch.h:1352
Definition: coxmatch.h:1531
Definition: coxmatch.h:1229
Definition: coxmatch.h:1488
Definition: coxmatch.h:706
Definition: coxmatch.h:398
Definition: gre_matches.h:42
Definition: coxmatch.h:1108
Definition: coxmatch.h:856
Definition: coxmatch.h:1073