]> git.proxmox.com Git - mirror_frr.git/blobdiff - bgpd/bgp_rpki.c
Merge pull request #5717 from pguibert6WIND/flowspec_issue_redistribute
[mirror_frr.git] / bgpd / bgp_rpki.c
index a8b1a7e3bfc28ce823a269aae89ac3756c8a0c9c..7247210c93d7305300e645a88fd1830271ca8525 100644 (file)
@@ -143,7 +143,7 @@ static int rpki_sync_socket_rtr;
 static int rpki_sync_socket_bgpd;
 
 static struct cmd_node rpki_node = {RPKI_NODE, "%s(config-rpki)# ", 1};
-static struct route_map_rule_cmd route_match_rpki_cmd = {
+static const struct route_map_rule_cmd route_match_rpki_cmd = {
        "rpki", route_match, route_match_compile, route_match_free};
 
 static void *malloc_wrapper(size_t size)
@@ -406,7 +406,7 @@ static int bgpd_sync_callback(struct thread *thread)
                }
        }
 
-       prefix_free(prefix);
+       prefix_free(&prefix);
        return 0;
 }
 
@@ -1234,7 +1234,8 @@ DEFPY (show_rpki_prefix,
                const struct pfx_record *record = &matches[i];
 
                if (record->max_len >= prefix->prefixlen
-                   && ((asn != 0 && asn == record->asn) || asn == 0)) {
+                   && ((asn != 0 && (uint32_t)asn == record->asn)
+                       || asn == 0)) {
                        print_record(&matches[i], vty);
                }
        }
@@ -1407,7 +1408,7 @@ DEFUN (match_rpki,
        "Prefix not found\n")
 {
        VTY_DECLVAR_CONTEXT(route_map_index, index);
-       int ret;
+       enum rmap_compile_rets ret;
 
        ret = route_map_add_match(index, "rpki", argv[2]->arg,
                                  RMAP_EVENT_MATCH_ADDED);
@@ -1419,6 +1420,11 @@ DEFUN (match_rpki,
                case RMAP_COMPILE_ERROR:
                        vty_out(vty, "%% BGP Argument is malformed.\n");
                        return CMD_WARNING_CONFIG_FAILED;
+               case RMAP_COMPILE_SUCCESS:
+                       /*
+                        * Intentionally doing nothing here
+                        */
+                       break;
                }
        }
        return CMD_SUCCESS;
@@ -1435,9 +1441,10 @@ DEFUN (no_match_rpki,
        "Prefix not found\n")
 {
        VTY_DECLVAR_CONTEXT(route_map_index, index);
-       int ret;
+       enum rmap_compile_rets ret;
 
-       ret = route_map_delete_match(index, "rpki", argv[3]->arg);
+       ret = route_map_delete_match(index, "rpki", argv[3]->arg,
+                                    RMAP_EVENT_MATCH_DELETED);
        if (ret) {
                switch (ret) {
                case RMAP_RULE_MISSING:
@@ -1446,6 +1453,11 @@ DEFUN (no_match_rpki,
                case RMAP_COMPILE_ERROR:
                        vty_out(vty, "%% BGP Argument is malformed.\n");
                        break;
+               case RMAP_COMPILE_SUCCESS:
+                       /*
+                        * Nothing to do here
+                        */
+                       break;
                }
                return CMD_WARNING_CONFIG_FAILED;
        }