Signed-off-by: YAMAMOTO Takashi <[email protected]>
---
 ryu/ofproto/nicira_ext.py   | 241 ++++++++++++++++++++++++++++++++++++++++++++
 ryu/ofproto/ofproto_v1_0.py | 218 +--------------------------------------
 2 files changed, 242 insertions(+), 217 deletions(-)
 create mode 100644 ryu/ofproto/nicira_ext.py

diff --git a/ryu/ofproto/nicira_ext.py b/ryu/ofproto/nicira_ext.py
new file mode 100644
index 0000000..03a2d95
--- /dev/null
+++ b/ryu/ofproto/nicira_ext.py
@@ -0,0 +1,241 @@
+# Copyright (C) 2011, 2012 Nippon Telegraph and Telephone Corporation.
+# Copyright (C) 2011, 2012 Isaku Yamahata <yamahata at valinux co jp>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Nicira extensions
+# Many of these definitions are common among OpenFlow versions.
+
+from struct import calcsize
+
+from ofproto_common import OFP_HEADER_SIZE
+
+# Action subtypes
+NXAST_RESUBMIT = 1
+NXAST_SET_TUNNEL = 2
+NXAST_DROP_SPOOFED_ARP__OBSOLETE = 3
+NXAST_SET_QUEUE = 4
+NXAST_POP_QUEUE = 5
+NXAST_REG_MOVE = 6
+NXAST_REG_LOAD = 7
+NXAST_NOTE = 8
+NXAST_SET_TUNNEL64 = 9
+NXAST_MULTIPATH = 10
+NXAST_AUTOPATH = 11
+NXAST_BUNDLE = 12
+NXAST_BUNDLE_LOAD = 13
+NXAST_RESUBMIT_TABLE = 14
+NXAST_OUTPUT_REG = 15
+NXAST_LEARN = 16
+NXAST_EXIT = 17
+NXAST_DEC_TTL = 18
+NXAST_FIN_TIMEOUT = 19
+NXAST_CONTROLLER = 20
+
+NX_ACTION_RESUBMIT_PACK_STR = '!HHIHHB3x'
+NX_ACTION_RESUBMIT_SIZE = 16
+assert calcsize(NX_ACTION_RESUBMIT_PACK_STR) == NX_ACTION_RESUBMIT_SIZE
+
+NX_ACTION_SET_TUNNEL_PACK_STR = '!HHIH2xI'
+NX_ACTION_SET_TUNNEL_SIZE = 16
+assert calcsize(NX_ACTION_SET_TUNNEL_PACK_STR) == NX_ACTION_SET_TUNNEL_SIZE
+
+NX_ACTION_SET_QUEUE_PACK_STR = '!HHIH2xI'
+NX_ACTION_SET_QUEUE_SIZE = 16
+assert calcsize(NX_ACTION_SET_QUEUE_PACK_STR) == NX_ACTION_SET_QUEUE_SIZE
+
+NX_ACTION_POP_QUEUE_PACK_STR = '!HHIH6x'
+NX_ACTION_POP_QUEUE_SIZE = 16
+assert calcsize(NX_ACTION_POP_QUEUE_PACK_STR) == NX_ACTION_POP_QUEUE_SIZE
+
+NX_ACTION_REG_MOVE_PACK_STR = '!HHIHHHHII'
+NX_ACTION_REG_MOVE_SIZE = 24
+assert calcsize(NX_ACTION_REG_MOVE_PACK_STR) == NX_ACTION_REG_MOVE_SIZE
+
+NX_ACTION_REG_LOAD_PACK_STR = '!HHIHHIQ'
+NX_ACTION_REG_LOAD_SIZE = 24
+assert calcsize(NX_ACTION_REG_LOAD_PACK_STR) == NX_ACTION_REG_LOAD_SIZE
+
+NX_ACTION_SET_TUNNEL64_PACK_STR = '!HHIH6xQ'
+NX_ACTION_SET_TUNNEL64_SIZE = 24
+assert calcsize(NX_ACTION_SET_TUNNEL64_PACK_STR) == NX_ACTION_SET_TUNNEL64_SIZE
+
+NX_ACTION_MULTIPATH_PACK_STR = '!HHIHHH2xHHI2xHI'
+NX_ACTION_MULTIPATH_SIZE = 32
+assert calcsize(NX_ACTION_MULTIPATH_PACK_STR) == NX_ACTION_MULTIPATH_SIZE
+
+NX_ACTION_NOTE_PACK_STR = '!HHIH6B'
+NX_ACTION_NOTE_SIZE = 16
+assert calcsize(NX_ACTION_NOTE_PACK_STR) == NX_ACTION_NOTE_SIZE
+
+NX_ACTION_BUNDLE_PACK_STR = '!HHIHHHHIHHI4x'
+NX_ACTION_BUNDLE_SIZE = 32
+assert calcsize(NX_ACTION_BUNDLE_PACK_STR) == NX_ACTION_BUNDLE_SIZE
+
+NX_ACTION_AUTOPATH_PACK_STR = '!HHIHHII4x'
+NX_ACTION_AUTOPATH_SIZE = 24
+assert calcsize(NX_ACTION_AUTOPATH_PACK_STR) == NX_ACTION_AUTOPATH_SIZE
+
+NX_ACTION_OUTPUT_REG_PACK_STR = '!HHIHHIH6x'
+NX_ACTION_OUTPUT_REG_SIZE = 24
+assert calcsize(NX_ACTION_OUTPUT_REG_PACK_STR) == NX_ACTION_OUTPUT_REG_SIZE
+
+NX_ACTION_LEARN_PACK_STR = '!HHIHHHHQHBxHH'
+NX_ACTION_LEARN_SIZE = 32
+assert calcsize(NX_ACTION_LEARN_PACK_STR) == NX_ACTION_LEARN_SIZE
+
+NX_ACTION_CONTROLLER_PACK_STR = '!HHIHHHBB'
+NX_ACTION_CONTROLLER_SIZE = 16
+assert calcsize(NX_ACTION_CONTROLLER_PACK_STR) == NX_ACTION_CONTROLLER_SIZE
+
+NX_ACTION_FIN_TIMEOUT_PACK_STR = '!HHIHHH2x'
+NX_ACTION_FIN_TIMEOUT_SIZE = 16
+assert calcsize(NX_ACTION_FIN_TIMEOUT_PACK_STR) == NX_ACTION_FIN_TIMEOUT_SIZE
+
+NX_ACTION_HEADER_PACK_STR = '!HHIH6x'
+NX_ACTION_HEADER_SIZE = 16
+assert calcsize(NX_ACTION_HEADER_PACK_STR) == NX_ACTION_HEADER_SIZE
+
+# Messages
+NXT_ROLE_REQUEST = 10
+NXT_ROLE_REPLY = 11
+NXT_SET_FLOW_FORMAT = 12
+NXT_FLOW_MOD = 13
+NXT_FLOW_REMOVED = 14
+NXT_FLOW_MOD_TABLE_ID = 15
+NXT_SET_PACKET_IN_FORMAT = 16
+NXT_PACKET_IN = 17
+NXT_FLOW_AGE = 18
+NXT_SET_ASYNC_CONFIG = 19
+NXT_SET_CONTROLLER_ID = 20
+
+# enum nx_role
+NX_ROLE_OTHER = 0
+NX_ROLE_MASTER = 1
+NX_ROLE_SLAVE = 2
+
+# enum nx_flow_format
+NXFF_OPENFLOW10 = 0
+NXFF_NXM = 2
+
+# enum nx_packet_in_format
+NXPIF_OPENFLOW10 = 0
+NXPIF_NXM = 1
+
+# enum nx_stats_types
+NXST_FLOW = 0
+NXST_AGGREGATE = 1
+NXST_FLOW_MONITOR = 2
+
+NICIRA_HEADER_PACK_STR = '!II'
+NICIRA_HEADER_SIZE = 16
+assert (calcsize(NICIRA_HEADER_PACK_STR) +
+        OFP_HEADER_SIZE == NICIRA_HEADER_SIZE)
+
+NX_ROLE_PACK_STR = '!I'
+NX_ROLE_SIZE = 20
+assert (calcsize(NX_ROLE_PACK_STR) +
+        NICIRA_HEADER_SIZE == NX_ROLE_SIZE)
+
+NX_FLOW_MOD_PACK_STR = '!Q4HI3H6x'
+NX_FLOW_MOD_SIZE = 48
+assert (calcsize(NX_FLOW_MOD_PACK_STR) +
+        NICIRA_HEADER_SIZE == NX_FLOW_MOD_SIZE)
+
+NX_SET_FLOW_FORMAT_PACK_STR = '!I'
+NX_SET_FLOW_FORMAT_SIZE = 20
+assert (calcsize(NX_SET_FLOW_FORMAT_PACK_STR) +
+        NICIRA_HEADER_SIZE == NX_SET_FLOW_FORMAT_SIZE)
+
+NX_FLOW_REMOVED_PACK_STR = '!QHBxIIHHQQ'
+NX_FLOW_REMOVED_SIZE = 56
+assert (calcsize(NX_FLOW_REMOVED_PACK_STR) +
+        NICIRA_HEADER_SIZE == NX_FLOW_REMOVED_SIZE)
+
+NX_FLOW_MOD_TABLE_ID_PACK_STR = '!B7x'
+NX_FLOW_MOD_TABLE_ID_SIZE = 24
+assert (calcsize(NX_FLOW_MOD_TABLE_ID_PACK_STR) +
+        NICIRA_HEADER_SIZE == NX_FLOW_MOD_TABLE_ID_SIZE)
+
+NX_SET_PACKET_IN_FORMAT_PACK_STR = '!I'
+NX_SET_PACKET_IN_FORMAT_SIZE = 20
+assert (calcsize(NX_SET_PACKET_IN_FORMAT_PACK_STR) +
+        NICIRA_HEADER_SIZE == NX_SET_PACKET_IN_FORMAT_SIZE)
+
+NX_PACKET_IN_PACK_STR = '!IHBBQH6x'
+NX_PACKET_IN_SIZE = 40
+assert (calcsize(NX_PACKET_IN_PACK_STR) +
+        NICIRA_HEADER_SIZE == NX_PACKET_IN_SIZE)
+
+NX_ASYNC_CONFIG_PACK_STR = '!IIIIII'
+NX_ASYNC_CONFIG_SIZE = 40
+assert (calcsize(NX_ASYNC_CONFIG_PACK_STR) +
+        NICIRA_HEADER_SIZE == NX_ASYNC_CONFIG_SIZE)
+
+NX_CONTROLLER_ID_PACK_STR = '!6xH'
+NX_CONTROLLER_ID_SIZE = 24
+assert (calcsize(NX_CONTROLLER_ID_PACK_STR) +
+        NICIRA_HEADER_SIZE == NX_CONTROLLER_ID_SIZE)
+
+NX_STATS_MSG_PACK_STR = '!I4x'
+NX_STATS_MSG0_SIZE = 8
+assert calcsize(NX_STATS_MSG_PACK_STR) == NX_STATS_MSG0_SIZE
+NX_STATS_MSG_SIZE = 24
+_OFP_VENDOR_STATS_MSG_SIZE = 16
+assert (calcsize(NX_STATS_MSG_PACK_STR) + _OFP_VENDOR_STATS_MSG_SIZE ==
+        NX_STATS_MSG_SIZE)
+
+NX_FLOW_STATS_REQUEST_PACK_STR = '!2HB3x'
+NX_FLOW_STATS_REQUEST_SIZE = 8
+assert (calcsize(NX_FLOW_STATS_REQUEST_PACK_STR) ==
+        NX_FLOW_STATS_REQUEST_SIZE)
+
+NX_FLOW_STATS_PACK_STR = '!HBxIIHHHHHHQQQ'
+NX_FLOW_STATS_SIZE = 48
+assert calcsize(NX_FLOW_STATS_PACK_STR) == NX_FLOW_STATS_SIZE
+
+NX_AGGREGATE_STATS_REQUEST_PACK_STR = '!2HB3x'
+NX_AGGREGATE_STATS_REQUEST_SIZE = 8
+assert (calcsize(NX_AGGREGATE_STATS_REQUEST_PACK_STR) ==
+        NX_AGGREGATE_STATS_REQUEST_SIZE)
+
+NX_AGGREGATE_STATS_REPLY_PACK_STR = '!QQI4x'
+NX_AGGREGATE_STATS_REPLY_SIZE = 24
+assert (calcsize(NX_AGGREGATE_STATS_REPLY_PACK_STR) ==
+        NX_AGGREGATE_STATS_REPLY_SIZE)
+
+# enum nx_hash_fields
+NX_HASH_FIELDS_ETH_SRC = 0
+NX_HASH_FIELDS_SYMMETRIC_L4 = 1
+
+# enum nx_mp_algorithm
+NX_MP_ALG_MODULO_N = 0
+NX_MP_ALG_HASH_THRESHOLD = 1
+NX_MP_ALG_HRW = 2
+NX_MP_ALG_ITER_HASH = 3
+
+# enum nx_bd_algorithm
+NX_BD_ALG_ACTIVE_BACKUP = 0
+NX_BD_ALG_HRW = 1
+
+# nx_learn constants
+NX_LEARN_N_BITS_MASK = 0x3ff
+NX_LEARN_SRC_FIELD = 0 << 13  # Copy from field.
+NX_LEARN_SRC_IMMEDIATE = 1 << 13  # Copy from immediate value.
+NX_LEARN_SRC_MASK = 1 << 13
+NX_LEARN_DST_MATCH = 0 << 11  # Add match criterion.
+NX_LEARN_DST_LOAD = 1 << 11  # Add NXAST_REG_LOAD action
+NX_LEARN_DST_OUTPUT = 2 << 11  # Add OFPAT_OUTPUT action.
+NX_LEARN_DST_RESERVED = 3 << 11  # Not yet defined.
+NX_LEARN_DST_MASK = 3 << 11
diff --git a/ryu/ofproto/ofproto_v1_0.py b/ryu/ofproto/ofproto_v1_0.py
index 3e8078e..eb5324d 100644
--- a/ryu/ofproto/ofproto_v1_0.py
+++ b/ryu/ofproto/ofproto_v1_0.py
@@ -242,92 +242,6 @@ OFP_ACTION_PACK_STR = '!H'
 # OFP_ACTION_SIZE = 8
 # assert calcsize(OFP_ACTION_PACK_STR) == OFP_ACTION_SIZE
 
-# enum nx_action_subtype
-NXAST_RESUBMIT = 1
-NXAST_SET_TUNNEL = 2
-NXAST_DROP_SPOOFED_ARP__OBSOLETE = 3
-NXAST_SET_QUEUE = 4
-NXAST_POP_QUEUE = 5
-NXAST_REG_MOVE = 6
-NXAST_REG_LOAD = 7
-NXAST_NOTE = 8
-NXAST_SET_TUNNEL64 = 9
-NXAST_MULTIPATH = 10
-NXAST_AUTOPATH = 11
-NXAST_BUNDLE = 12
-NXAST_BUNDLE_LOAD = 13
-NXAST_RESUBMIT_TABLE = 14
-NXAST_OUTPUT_REG = 15
-NXAST_LEARN = 16
-NXAST_EXIT = 17
-NXAST_DEC_TTL = 18
-NXAST_FIN_TIMEOUT = 19
-NXAST_CONTROLLER = 20
-
-NX_ACTION_RESUBMIT_PACK_STR = '!HHIHHB3x'
-NX_ACTION_RESUBMIT_SIZE = 16
-assert calcsize(NX_ACTION_RESUBMIT_PACK_STR) == NX_ACTION_RESUBMIT_SIZE
-
-NX_ACTION_SET_TUNNEL_PACK_STR = '!HHIH2xI'
-NX_ACTION_SET_TUNNEL_SIZE = 16
-assert calcsize(NX_ACTION_SET_TUNNEL_PACK_STR) == NX_ACTION_SET_TUNNEL_SIZE
-
-NX_ACTION_SET_QUEUE_PACK_STR = '!HHIH2xI'
-NX_ACTION_SET_QUEUE_SIZE = 16
-assert calcsize(NX_ACTION_SET_QUEUE_PACK_STR) == NX_ACTION_SET_QUEUE_SIZE
-
-NX_ACTION_POP_QUEUE_PACK_STR = '!HHIH6x'
-NX_ACTION_POP_QUEUE_SIZE = 16
-assert calcsize(NX_ACTION_POP_QUEUE_PACK_STR) == NX_ACTION_POP_QUEUE_SIZE
-
-NX_ACTION_REG_MOVE_PACK_STR = '!HHIHHHHII'
-NX_ACTION_REG_MOVE_SIZE = 24
-assert calcsize(NX_ACTION_REG_MOVE_PACK_STR) == NX_ACTION_REG_MOVE_SIZE
-
-NX_ACTION_REG_LOAD_PACK_STR = '!HHIHHIQ'
-NX_ACTION_REG_LOAD_SIZE = 24
-assert calcsize(NX_ACTION_REG_LOAD_PACK_STR) == NX_ACTION_REG_LOAD_SIZE
-
-NX_ACTION_SET_TUNNEL64_PACK_STR = '!HHIH6xQ'
-NX_ACTION_SET_TUNNEL64_SIZE = 24
-assert calcsize(NX_ACTION_SET_TUNNEL64_PACK_STR) == NX_ACTION_SET_TUNNEL64_SIZE
-
-NX_ACTION_MULTIPATH_PACK_STR = '!HHIHHH2xHHI2xHI'
-NX_ACTION_MULTIPATH_SIZE = 32
-assert calcsize(NX_ACTION_MULTIPATH_PACK_STR) == NX_ACTION_MULTIPATH_SIZE
-
-NX_ACTION_NOTE_PACK_STR = '!HHIH6B'
-NX_ACTION_NOTE_SIZE = 16
-assert calcsize(NX_ACTION_NOTE_PACK_STR) == NX_ACTION_NOTE_SIZE
-
-NX_ACTION_BUNDLE_PACK_STR = '!HHIHHHHIHHI4x'
-NX_ACTION_BUNDLE_SIZE = 32
-assert calcsize(NX_ACTION_BUNDLE_PACK_STR) == NX_ACTION_BUNDLE_SIZE
-
-NX_ACTION_AUTOPATH_PACK_STR = '!HHIHHII4x'
-NX_ACTION_AUTOPATH_SIZE = 24
-assert calcsize(NX_ACTION_AUTOPATH_PACK_STR) == NX_ACTION_AUTOPATH_SIZE
-
-NX_ACTION_OUTPUT_REG_PACK_STR = '!HHIHHIH6x'
-NX_ACTION_OUTPUT_REG_SIZE = 24
-assert calcsize(NX_ACTION_OUTPUT_REG_PACK_STR) == NX_ACTION_OUTPUT_REG_SIZE
-
-NX_ACTION_LEARN_PACK_STR = '!HHIHHHHQHBxHH'
-NX_ACTION_LEARN_SIZE = 32
-assert calcsize(NX_ACTION_LEARN_PACK_STR) == NX_ACTION_LEARN_SIZE
-
-NX_ACTION_CONTROLLER_PACK_STR = '!HHIHHHBB'
-NX_ACTION_CONTROLLER_SIZE = 16
-assert calcsize(NX_ACTION_CONTROLLER_PACK_STR) == NX_ACTION_CONTROLLER_SIZE
-
-NX_ACTION_FIN_TIMEOUT_PACK_STR = '!HHIHHH2x'
-NX_ACTION_FIN_TIMEOUT_SIZE = 16
-assert calcsize(NX_ACTION_FIN_TIMEOUT_PACK_STR) == NX_ACTION_FIN_TIMEOUT_SIZE
-
-NX_ACTION_HEADER_PACK_STR = '!HHIH6x'
-NX_ACTION_HEADER_SIZE = 16
-assert calcsize(NX_ACTION_HEADER_PACK_STR) == NX_ACTION_HEADER_SIZE
-
 OFP_PACKET_OUT_PACK_STR = '!IHH'
 OFP_PACKET_OUT_SIZE = 16
 assert (calcsize(OFP_PACKET_OUT_PACK_STR) + OFP_HEADER_SIZE ==
@@ -583,113 +497,6 @@ assert (calcsize(OFP_QUEUE_PROP_MIN_RATE_PACK_STR) +
 
 NX_VENDOR_ID = 0x00002320
 
-# enum nicira_type (abridged)
-NXT_ROLE_REQUEST = 10
-NXT_ROLE_REPLY = 11
-NXT_SET_FLOW_FORMAT = 12
-NXT_FLOW_MOD = 13
-NXT_FLOW_REMOVED = 14
-NXT_FLOW_MOD_TABLE_ID = 15
-NXT_SET_PACKET_IN_FORMAT = 16
-NXT_PACKET_IN = 17
-NXT_FLOW_AGE = 18
-NXT_SET_ASYNC_CONFIG = 19
-NXT_SET_CONTROLLER_ID = 20
-
-# enum nx_role
-NX_ROLE_OTHER = 0
-NX_ROLE_MASTER = 1
-NX_ROLE_SLAVE = 2
-
-# enum nx_flow_format
-NXFF_OPENFLOW10 = 0
-NXFF_NXM = 2
-
-# enum nx_packet_in_format
-NXPIF_OPENFLOW10 = 0
-NXPIF_NXM = 1
-
-# enum nx_stats_types
-NXST_FLOW = 0
-NXST_AGGREGATE = 1
-NXST_FLOW_MONITOR = 2
-
-NICIRA_HEADER_PACK_STR = '!II'
-NICIRA_HEADER_SIZE = 16
-assert (calcsize(NICIRA_HEADER_PACK_STR) +
-        OFP_HEADER_SIZE == NICIRA_HEADER_SIZE)
-
-NX_ROLE_PACK_STR = '!I'
-NX_ROLE_SIZE = 20
-assert (calcsize(NX_ROLE_PACK_STR) +
-        NICIRA_HEADER_SIZE == NX_ROLE_SIZE)
-
-NX_FLOW_MOD_PACK_STR = '!Q4HI3H6x'
-NX_FLOW_MOD_SIZE = 48
-assert (calcsize(NX_FLOW_MOD_PACK_STR) +
-        NICIRA_HEADER_SIZE == NX_FLOW_MOD_SIZE)
-
-NX_SET_FLOW_FORMAT_PACK_STR = '!I'
-NX_SET_FLOW_FORMAT_SIZE = 20
-assert (calcsize(NX_SET_FLOW_FORMAT_PACK_STR) +
-        NICIRA_HEADER_SIZE == NX_SET_FLOW_FORMAT_SIZE)
-
-NX_FLOW_REMOVED_PACK_STR = '!QHBxIIHHQQ'
-NX_FLOW_REMOVED_SIZE = 56
-assert (calcsize(NX_FLOW_REMOVED_PACK_STR) +
-        NICIRA_HEADER_SIZE == NX_FLOW_REMOVED_SIZE)
-
-NX_FLOW_MOD_TABLE_ID_PACK_STR = '!B7x'
-NX_FLOW_MOD_TABLE_ID_SIZE = 24
-assert (calcsize(NX_FLOW_MOD_TABLE_ID_PACK_STR) +
-        NICIRA_HEADER_SIZE == NX_FLOW_MOD_TABLE_ID_SIZE)
-
-NX_SET_PACKET_IN_FORMAT_PACK_STR = '!I'
-NX_SET_PACKET_IN_FORMAT_SIZE = 20
-assert (calcsize(NX_SET_PACKET_IN_FORMAT_PACK_STR) +
-        NICIRA_HEADER_SIZE == NX_SET_PACKET_IN_FORMAT_SIZE)
-
-NX_PACKET_IN_PACK_STR = '!IHBBQH6x'
-NX_PACKET_IN_SIZE = 40
-assert (calcsize(NX_PACKET_IN_PACK_STR) +
-        NICIRA_HEADER_SIZE == NX_PACKET_IN_SIZE)
-
-NX_ASYNC_CONFIG_PACK_STR = '!IIIIII'
-NX_ASYNC_CONFIG_SIZE = 40
-assert (calcsize(NX_ASYNC_CONFIG_PACK_STR) +
-        NICIRA_HEADER_SIZE == NX_ASYNC_CONFIG_SIZE)
-
-NX_CONTROLLER_ID_PACK_STR = '!6xH'
-NX_CONTROLLER_ID_SIZE = 24
-assert (calcsize(NX_CONTROLLER_ID_PACK_STR) +
-        NICIRA_HEADER_SIZE == NX_CONTROLLER_ID_SIZE)
-
-NX_STATS_MSG_PACK_STR = '!I4x'
-NX_STATS_MSG0_SIZE = 8
-assert calcsize(NX_STATS_MSG_PACK_STR) == NX_STATS_MSG0_SIZE
-NX_STATS_MSG_SIZE = 24
-assert (calcsize(NX_STATS_MSG_PACK_STR) + OFP_VENDOR_STATS_MSG_SIZE ==
-        NX_STATS_MSG_SIZE)
-
-NX_FLOW_STATS_REQUEST_PACK_STR = '!2HB3x'
-NX_FLOW_STATS_REQUEST_SIZE = 8
-assert (calcsize(NX_FLOW_STATS_REQUEST_PACK_STR) ==
-        NX_FLOW_STATS_REQUEST_SIZE)
-
-NX_FLOW_STATS_PACK_STR = '!HBxIIHHHHHHQQQ'
-NX_FLOW_STATS_SIZE = 48
-assert calcsize(NX_FLOW_STATS_PACK_STR) == NX_FLOW_STATS_SIZE
-
-NX_AGGREGATE_STATS_REQUEST_PACK_STR = '!2HB3x'
-NX_AGGREGATE_STATS_REQUEST_SIZE = 8
-assert (calcsize(NX_AGGREGATE_STATS_REQUEST_PACK_STR) ==
-        NX_AGGREGATE_STATS_REQUEST_SIZE)
-
-NX_AGGREGATE_STATS_REPLY_PACK_STR = '!QQI4x'
-NX_AGGREGATE_STATS_REPLY_SIZE = 24
-assert (calcsize(NX_AGGREGATE_STATS_REPLY_PACK_STR) ==
-        NX_AGGREGATE_STATS_REPLY_SIZE)
-
 
 def nxm_header__(vendor, field, hasmask, length):
     return (vendor << 16) | (field << 9) | (hasmask << 8) | length
@@ -787,27 +594,4 @@ def nxm_nx_reg_w(idx):
 
 NXM_HEADER_PACK_STRING = '!I'
 
-# enum nx_hash_fields
-NX_HASH_FIELDS_ETH_SRC = 0
-NX_HASH_FIELDS_SYMMETRIC_L4 = 1
-
-# enum nx_mp_algorithm
-NX_MP_ALG_MODULO_N = 0
-NX_MP_ALG_HASH_THRESHOLD = 1
-NX_MP_ALG_HRW = 2
-NX_MP_ALG_ITER_HASH = 3
-
-# enum nx_bd_algorithm
-NX_BD_ALG_ACTIVE_BACKUP = 0
-NX_BD_ALG_HRW = 1
-
-# nx_learn constants
-NX_LEARN_N_BITS_MASK = 0x3ff
-NX_LEARN_SRC_FIELD = 0 << 13  # Copy from field.
-NX_LEARN_SRC_IMMEDIATE = 1 << 13  # Copy from immediate value.
-NX_LEARN_SRC_MASK = 1 << 13
-NX_LEARN_DST_MATCH = 0 << 11  # Add match criterion.
-NX_LEARN_DST_LOAD = 1 << 11  # Add NXAST_REG_LOAD action
-NX_LEARN_DST_OUTPUT = 2 << 11  # Add OFPAT_OUTPUT action.
-NX_LEARN_DST_RESERVED = 3 << 11  # Not yet defined.
-NX_LEARN_DST_MASK = 3 << 11
+from nicira_ext import *  # For API compat
-- 
2.1.0


------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to