2
0
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:
Adrian Moreno
2024-09-25 12:52:02 +02:00
committed by Ilya Maximets
parent 4c5c1aa9f9
commit c7e5cf39c5

View File

@@ -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):