]> git.proxmox.com Git - mirror_frr.git/commitdiff
pbrd: make vty `match *` code more readable
authorStephen Worley <sworley@cumulusnetworks.com>
Tue, 3 Dec 2019 21:59:21 +0000 (16:59 -0500)
committerStephen Worley <sworley@cumulusnetworks.com>
Tue, 3 Dec 2019 21:59:21 +0000 (16:59 -0500)
Make the vty match src|dst|mark code a bit more readable
in its conditonal logic.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
pbrd/pbr_vty.c

index 9f4e5e7fc92491ae14f1948e3fda7fa41cf789fb..53248f5aaf4c7cba672b0d0748927a881df74fb2 100644 (file)
@@ -127,14 +127,16 @@ DEFPY(pbr_map_match_src, pbr_map_match_src_cmd,
        pbrms->family = prefix->family;
 
        if (!no) {
-               if (pbrms->src && prefix_same(pbrms->src, prefix))
-                       return CMD_SUCCESS;
-               else if (pbrms->src) {
+               if (pbrms->src) {
+                       if (prefix_same(pbrms->src, prefix))
+                               return CMD_SUCCESS;
+
                        vty_out(vty,
                                "A `match src-ip XX` command already exists, please remove that first\n");
                        return CMD_WARNING_CONFIG_FAILED;
-               } else
-                       pbrms->src = prefix_new();
+               }
+
+               pbrms->src = prefix_new();
                prefix_copy(pbrms->src, prefix);
        } else
                prefix_free(&pbrms->src);
@@ -157,14 +159,16 @@ DEFPY(pbr_map_match_dst, pbr_map_match_dst_cmd,
        pbrms->family = prefix->family;
 
        if (!no) {
-               if (pbrms->dst && prefix_same(pbrms->dst, prefix))
-                       return CMD_SUCCESS;
-               else if (pbrms->dst) {
+               if (pbrms->dst) {
+                       if (prefix_same(pbrms->dst, prefix))
+                               return CMD_SUCCESS;
+
                        vty_out(vty,
                                "A `match dst-ip XX` command already exists, please remove that first\n");
                        return CMD_WARNING_CONFIG_FAILED;
-               } else
-                       pbrms->dst = prefix_new();
+               }
+
+               pbrms->dst = prefix_new();
                prefix_copy(pbrms->dst, prefix);
        } else
                prefix_free(&pbrms->dst);
@@ -189,17 +193,18 @@ DEFPY(pbr_map_match_mark, pbr_map_match_mark_cmd,
 #endif
 
        if (!no) {
-               if (pbrms->mark && pbrms->mark == (uint32_t)mark)
-                       return CMD_SUCCESS;
-               else if (pbrms->mark) {
+               if (pbrms->mark) {
+                       if (pbrms->mark == (uint32_t)mark)
+                               return CMD_SUCCESS;
+
                        vty_out(vty,
                                "A `match mark XX` command already exists, please remove that first\n");
                        return CMD_WARNING_CONFIG_FAILED;
-               } else
-                       pbrms->mark = (uint32_t)mark;
-       } else {
+               }
+
+               pbrms->mark = (uint32_t)mark;
+       } else
                pbrms->mark = 0;
-       }
 
        pbr_map_check(pbrms);