mirror of
https://github.com/openvswitch/ovs
synced 2025-08-31 14:25:26 +00:00
python: ovs: flow: Support dp-extra-info section.
DPDK flows can have this extra section that, for now, only has one possible key (miniflow_bits). Add it to the ODPFlow flow. Acked-by: Eelco Chaudron <echaudro@redhat.com> Signed-off-by: Adrian Moreno <amorenoz@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
This commit is contained in:
committed by
Ilya Maximets
parent
4c5c1aa9f9
commit
c7e5cf39c5
@@ -119,7 +119,15 @@ class ODPFlow(Flow):
|
||||
]
|
||||
|
||||
action_pos += 8 # len("actions:")
|
||||
actions = odp_string[action_pos:]
|
||||
|
||||
dp_extra_pos = odp_string[action_pos:].find("dp-extra-info")
|
||||
if dp_extra_pos > 0:
|
||||
dp_extra_pos += action_pos
|
||||
actions = odp_string[action_pos : dp_extra_pos]
|
||||
dp_extra_pos += 14 # len("dp-extra-info:")
|
||||
dp_extra = odp_string[dp_extra_pos :]
|
||||
else:
|
||||
actions = odp_string[action_pos:]
|
||||
|
||||
field_parts = rest.lstrip(" ").partition(" ")
|
||||
|
||||
@@ -160,6 +168,19 @@ class ODPFlow(Flow):
|
||||
)
|
||||
sections.append(asection)
|
||||
|
||||
if dp_extra_pos > 0:
|
||||
dparser = KVParser(
|
||||
dp_extra, KVDecoders({"miniflow_bits": decode_default})
|
||||
)
|
||||
dparser.parse()
|
||||
dsection = Section(
|
||||
name="dp_extra_info",
|
||||
pos=dp_extra_pos,
|
||||
string=dp_extra,
|
||||
data=dparser.kv(),
|
||||
)
|
||||
sections.append(dsection)
|
||||
|
||||
super(ODPFlow, self).__init__(sections, odp_string, id)
|
||||
|
||||
def __str__(self):
|
||||
|
Reference in New Issue
Block a user