From c44915d0b8eff1657097350a5a41590f9b6756f7 Mon Sep 17 00:00:00 2001 From: Muhammad Sammar Date: Sun, 18 Jul 2021 16:57:45 +0300 Subject: [PATCH] mlx5: Fix definer id setting in rule member object Definer id is taken from last matcher builder, but we missed checking if builder and rule member type are the same. --- mlx_steering_dump_parser.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/mlx_steering_dump_parser.py b/mlx_steering_dump_parser.py index cea05c9..9f1afd7 100755 --- a/mlx_steering_dump_parser.py +++ b/mlx_steering_dump_parser.py @@ -179,8 +179,15 @@ def parse_domain(csv_reader, domain_obj=None): DR_DUMP_REC_TYPE_RULE_RX_ENTRY_V1, DR_DUMP_REC_TYPE_RULE_TX_ENTRY_V1]: - dr_obj.data["definer_id"] = \ - dump_ctx.matcher.builders[-1].data["definer_id"] + definer_id = '-1' + for builder in dump_ctx.matcher.builders[::-1]: + if ((int(builder.data["is_rx"]) and dr_rec_type in [DR_DUMP_REC_TYPE_RULE_RX_ENTRY_V0, \ + DR_DUMP_REC_TYPE_RULE_RX_ENTRY_V1]) or \ + ((not int(builder.data["is_rx"]) and dr_rec_type in [DR_DUMP_REC_TYPE_RULE_TX_ENTRY_V0, \ + DR_DUMP_REC_TYPE_RULE_TX_ENTRY_V1]))): + definer_id = builder.data["definer_id"] + + dr_obj.data["definer_id"] = definer_id dump_ctx.rule.add_rule_entry(dr_obj) # update Action objects