mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-15 09:20:25 +00:00
zebra: Allow blackhole route deletion for prefixes
With the recent change to just pass the prefix in for the RTM_DELROUTE, for blackhole routes we had stopped modifying the req.rtm_type to be the appropriate type for blackhole routes. Since we are just deleting on the route, and zebra is never going to really install the same route multiple times then we do not need to specify the req.r.rtm_type for the deletion command. Ticket: CM-20616 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
ee11db2943
commit
c766824c62
@ -1350,7 +1350,17 @@ static int netlink_route_multipath(int cmd, struct prefix *p,
|
|||||||
req.r.rtm_src_len = src_p ? src_p->prefixlen : 0;
|
req.r.rtm_src_len = src_p ? src_p->prefixlen : 0;
|
||||||
req.r.rtm_protocol = zebra2proto(re->type);
|
req.r.rtm_protocol = zebra2proto(re->type);
|
||||||
req.r.rtm_scope = RT_SCOPE_UNIVERSE;
|
req.r.rtm_scope = RT_SCOPE_UNIVERSE;
|
||||||
req.r.rtm_type = RTN_UNICAST;
|
|
||||||
|
/*
|
||||||
|
* blackhole routes are not RTN_UNICAST, they are
|
||||||
|
* RTN_ BLACKHOLE|UNREACHABLE|PROHIBIT
|
||||||
|
* so setting this value as a RTN_UNICAST would
|
||||||
|
* cause the route lookup of just the prefix
|
||||||
|
* to fail. So no need to specify this for
|
||||||
|
* the RTM_DELROUTE case
|
||||||
|
*/
|
||||||
|
if (cmd != RTM_DELROUTE)
|
||||||
|
req.r.rtm_type = RTN_UNICAST;
|
||||||
|
|
||||||
addattr_l(&req.n, sizeof req, RTA_DST, &p->u.prefix, bytelen);
|
addattr_l(&req.n, sizeof req, RTA_DST, &p->u.prefix, bytelen);
|
||||||
if (src_p)
|
if (src_p)
|
||||||
|
Loading…
Reference in New Issue
Block a user