On 22/03/2018 15:22, Roi Dayan wrote:
Raise the error up instead of ignoring it.
Before this commit beside an error an incorrect rule was also printed.

Signed-off-by: Roi Dayan <[email protected]>
Reviewed-by: Paul Blakey <[email protected]>
Signed-off-by: Simon Horman <[email protected]>

oops sorry about the signed off. i cherry-picked from master branch for
the backport and forgot to remove.

---
  lib/tc.c | 15 ++++++++++-----
  1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/lib/tc.c b/lib/tc.c
index 6f8cd1b9faf7..0d099aa1a9c3 100644
--- a/lib/tc.c
+++ b/lib/tc.c
@@ -570,6 +570,7 @@ nl_parse_single_action(struct nlattr *action, struct 
tc_flower *flower)
      struct nlattr *stats_attrs[ARRAY_SIZE(stats_policy)];
      struct ovs_flow_stats *stats = &flower->stats;
      const struct gnet_stats_basic *bs;
+    int err = 0;
if (!nl_parse_nested(action, act_policy, action_attrs,
                           ARRAY_SIZE(act_policy))) {
@@ -582,16 +583,20 @@ nl_parse_single_action(struct nlattr *action, struct 
tc_flower *flower)
      act_cookie = action_attrs[TCA_ACT_COOKIE];
if (!strcmp(act_kind, "gact")) {
-        nl_parse_act_drop(act_options, flower);
+        err = nl_parse_act_drop(act_options, flower);
      } else if (!strcmp(act_kind, "mirred")) {
-        nl_parse_act_mirred(act_options, flower);
+        err = nl_parse_act_mirred(act_options, flower);
      } else if (!strcmp(act_kind, "vlan")) {
-        nl_parse_act_vlan(act_options, flower);
+        err = nl_parse_act_vlan(act_options, flower);
      } else if (!strcmp(act_kind, "tunnel_key")) {
-        nl_parse_act_tunnel_key(act_options, flower);
+        err = nl_parse_act_tunnel_key(act_options, flower);
      } else {
          VLOG_ERR_RL(&error_rl, "unknown tc action kind: %s", act_kind);
-        return EINVAL;
+        err = EINVAL;
+    }
+
+    if (err) {
+        return err;
      }
if (act_cookie) {

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to