openflow: Split OFPAT_* into OFPAT10_* and OFPAT11_*.
[sliver-openvswitch.git] / include / openflow / openflow-1.1.h
index 93002af..0e5c901 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2008, 2011 The Board of Trustees of The Leland Stanford
+/* Copyright (c) 2008, 2011, 2012 The Board of Trustees of The Leland Stanford
  * Junior University
  *
  * We are making the OpenFlow specification and associated documentation
 #define OFPP11_MAX    0xffffff00
 #define OFPP11_OFFSET (OFPP11_MAX - OFPP_MAX)
 
+/* OpenFlow 1.1 specific message types, in addition to the common message
+ * types. */
+enum ofp11_type {
+    /* Controller command messages. */
+    OFPT11_PACKET_OUT = 13,     /* Controller/switch message */
+    OFPT11_FLOW_MOD,            /* Controller/switch message */
+    OFPT11_GROUP_MOD,           /* Controller/switch message */
+    OFPT11_PORT_MOD,            /* Controller/switch message */
+    OFPT11_TABLE_MOD,           /* Controller/switch message */
+
+    /* Statistics messages. */
+    OFPT11_STATS_REQUEST,       /* Controller/switch message */
+    OFPT11_STATS_REPLY,         /* Controller/switch message */
+
+    /* Barrier messages. */
+    OFPT11_BARRIER_REQUEST,     /* Controller/switch message */
+    OFPT11_BARRIER_REPLY,       /* Controller/switch message */
+
+    /* Queue Configuration messages. */
+    OFPT11_QUEUE_GET_CONFIG_REQUEST,  /* Controller/switch message */
+    OFPT11_QUEUE_GET_CONFIG_REPLY,    /* Controller/switch message */
+};
+
+enum ofp11_action_type {
+    OFPAT11_OUTPUT,           /* Output to switch port. */
+    OFPAT11_SET_VLAN_VID,     /* Set the 802.1q VLAN id. */
+    OFPAT11_SET_VLAN_PCP,     /* Set the 802.1q priority. */
+    OFPAT11_SET_DL_SRC,       /* Ethernet source address. */
+    OFPAT11_SET_DL_DST,       /* Ethernet destination address. */
+    OFPAT11_SET_NW_SRC,       /* IP source address. */
+    OFPAT11_SET_NW_DST,       /* IP destination address. */
+    OFPAT11_SET_NW_TOS,       /* IP ToS (DSCP field, 6 bits). */
+    OFPAT11_SET_NW_ECN,       /* IP ECN (2 bits). */
+    OFPAT11_SET_TP_SRC,       /* TCP/UDP/SCTP source port. */
+    OFPAT11_SET_TP_DST,       /* TCP/UDP/SCTP destination port. */
+    OFPAT11_COPY_TTL_OUT,     /* Copy TTL "outwards" -- from next-to-outermost
+                                 to outermost */
+    OFPAT11_COPY_TTL_IN,      /* Copy TTL "inwards" -- from outermost to
+                               next-to-outermost */
+    OFPAT11_SET_MPLS_LABEL,   /* MPLS label */
+    OFPAT11_SET_MPLS_TC,      /* MPLS TC */
+    OFPAT11_SET_MPLS_TTL,     /* MPLS TTL */
+    OFPAT11_DEC_MPLS_TTL,     /* Decrement MPLS TTL */
+
+    OFPAT11_PUSH_VLAN,        /* Push a new VLAN tag */
+    OFPAT11_POP_VLAN,         /* Pop the outer VLAN tag */
+    OFPAT11_PUSH_MPLS,        /* Push a new MPLS tag */
+    OFPAT11_POP_MPLS,         /* Pop the outer MPLS tag */
+    OFPAT11_SET_QUEUE,        /* Set queue id when outputting to a port */
+    OFPAT11_GROUP,            /* Apply group. */
+    OFPAT11_SET_NW_TTL,       /* IP TTL. */
+    OFPAT11_DEC_NW_TTL,       /* Decrement IP TTL. */
+    OFPAT11_EXPERIMENTER = 0xffff
+};
+
 #endif /* openflow/openflow-1.1.h */