removing undesired padding from action_id structs
diff --git a/loxi_ir/ir.py b/loxi_ir/ir.py
index 6a053c6..76c92cb 100644
--- a/loxi_ir/ir.py
+++ b/loxi_ir/ir.py
@@ -33,6 +33,8 @@
from collections import namedtuple, OrderedDict
from generic_utils import find, memoize, OrderedSet
from loxi_ir import ir_offset
+#from loxi_ir.ir import *
+import loxi_ir.ir
import loxi_front_end.frontend_ir as frontend_ir
logger = logging.getLogger(__name__)
@@ -459,6 +461,10 @@
members.extend( build_member(c, fe_member, member_lengths[fe_member])
for fe_member in fe.members)
+ if not 'bsn' in name:
+ for m in c.members:
+ if isinstance(m, OFPadMember): c.members.remove(m)
+
name_classes[name] = c
return c
diff --git a/openflow_input/standard-1.3 b/openflow_input/standard-1.3
index 764ad21..6010880 100644
--- a/openflow_input/standard-1.3
+++ b/openflow_input/standard-1.3
@@ -758,7 +758,6 @@
struct of_action_id {
uint16_t type;
uint16_t len;
- pad(4);
};
struct of_action_output : of_action {
@@ -878,6 +877,11 @@
pad(4);
};
+struct of_instruction_id {
+ uint16_t type;
+ uint16_t len;
+};
+
struct of_instruction {
uint16_t type == ?;
uint16_t len;
@@ -1611,13 +1615,13 @@
uint16_t type == 0;
uint16_t length;
// FIXME Check if instruction_t is right for ids here
- list(of_instruction_t) instruction_ids;
+ list(of_instruction_id_t) instruction_ids;
};
struct of_table_feature_prop_instructions_miss : of_table_feature_prop {
uint16_t type == 1;
uint16_t length;
- list(of_instruction_t) instruction_ids;
+ list(of_instruction_id_t) instruction_ids;
};
struct of_table_feature_prop_next_tables : of_table_feature_prop {