summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJafar Al-Gharaibeh <Jafaral@users.noreply.github.com>2020-02-16 23:41:55 -0600
committerGitHub <noreply@github.com>2020-02-16 23:41:55 -0600
commitb5a3c5ef9ff62af16a382396726e0fd2b9e65fef (patch)
treee99747346ce56b70170db040ea40b337497131fe
parent2c36681d437404b9ae1bef24a1cf9c377f92f999 (diff)
parent69337c345ed256aa2b8a8b49b903d07a178f2cae (diff)
Merge pull request #5815 from donaldsharp/feb_sa_stuff
bgpd: Fix up a couple of new SA issues found
-rw-r--r--bgpd/bgp_nht.c15
-rw-r--r--bgpd/bgp_rpki.c50
2 files changed, 32 insertions, 33 deletions
diff --git a/bgpd/bgp_nht.c b/bgpd/bgp_nht.c
index 3060fe482c..55b44de6fb 100644
--- a/bgpd/bgp_nht.c
+++ b/bgpd/bgp_nht.c
@@ -428,9 +428,11 @@ void bgp_parse_nexthop_update(int command, vrf_id_t vrf_id)
ifp = if_lookup_by_index(nexthop->ifindex,
nexthop->vrf_id);
- zclient_send_interface_radv_req(
- zclient, nexthop->vrf_id, ifp, true,
- BGP_UNNUM_DEFAULT_RA_INTERVAL);
+ if (ifp)
+ zclient_send_interface_radv_req(
+ zclient, nexthop->vrf_id, ifp,
+ true,
+ BGP_UNNUM_DEFAULT_RA_INTERVAL);
}
/* There is at least one label-switched path */
if (nexthop->nh_label &&
@@ -898,8 +900,11 @@ void bgp_nht_register_enhe_capability_interfaces(struct peer *peer)
return;
for (nhop = bnc->nexthop; nhop; nhop = nhop->next) {
- ifp = if_lookup_by_index(nhop->ifindex,
- nhop->vrf_id);
+ ifp = if_lookup_by_index(nhop->ifindex, nhop->vrf_id);
+
+ if (!ifp)
+ continue;
+
zclient_send_interface_radv_req(zclient,
nhop->vrf_id,
ifp, true,
diff --git a/bgpd/bgp_rpki.c b/bgpd/bgp_rpki.c
index 7247210c93..2ca0c7b96d 100644
--- a/bgpd/bgp_rpki.c
+++ b/bgpd/bgp_rpki.c
@@ -1412,21 +1412,18 @@ DEFUN (match_rpki,
ret = route_map_add_match(index, "rpki", argv[2]->arg,
RMAP_EVENT_MATCH_ADDED);
- if (ret) {
- switch (ret) {
- case RMAP_RULE_MISSING:
- vty_out(vty, "%% BGP Can't find rule.\n");
- return CMD_WARNING_CONFIG_FAILED;
- 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;
- }
+ switch (ret) {
+ case RMAP_RULE_MISSING:
+ vty_out(vty, "%% BGP Can't find rule.\n");
+ return CMD_WARNING_CONFIG_FAILED;
+ case RMAP_COMPILE_ERROR:
+ vty_out(vty, "%% BGP Argument is malformed.\n");
+ return CMD_WARNING_CONFIG_FAILED;
+ case RMAP_COMPILE_SUCCESS:
+ return CMD_SUCCESS;
+ break;
}
+
return CMD_SUCCESS;
}
@@ -1445,21 +1442,18 @@ DEFUN (no_match_rpki,
ret = route_map_delete_match(index, "rpki", argv[3]->arg,
RMAP_EVENT_MATCH_DELETED);
- if (ret) {
- switch (ret) {
- case RMAP_RULE_MISSING:
- vty_out(vty, "%% BGP Can't find rule.\n");
- break;
- case RMAP_COMPILE_ERROR:
- vty_out(vty, "%% BGP Argument is malformed.\n");
- break;
- case RMAP_COMPILE_SUCCESS:
- /*
- * Nothing to do here
- */
- break;
- }
+ switch (ret) {
+ case RMAP_RULE_MISSING:
+ vty_out(vty, "%% BGP Can't find rule.\n");
+ return CMD_WARNING_CONFIG_FAILED;
+ break;
+ case RMAP_COMPILE_ERROR:
+ vty_out(vty, "%% BGP Argument is malformed.\n");
return CMD_WARNING_CONFIG_FAILED;
+ break;
+ case RMAP_COMPILE_SUCCESS:
+ return CMD_SUCCESS;
+ break;
}
return CMD_SUCCESS;