From: Louis Scalbert Date: Fri, 23 Aug 2024 14:05:45 +0000 (+0200) Subject: nhrpd: fix sending /32 shortcut X-Git-Tag: docker/10.0.2~11^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=eb10a8790f93198b21d13b9d383cb82b20044168;p=matthieu%2Ffrr.git nhrpd: fix sending /32 shortcut The remote spoke always sends a 32 prefix length to a shortcut request. In the example, the remote spoke as the IP address 192.168.2.1/24. spoke1# sh ip nhrp shortcut Type Prefix Via Identity dynamic 192.168.2.1/32 10.255.255.2 Do not deal with local routes in nhrpd. Now: spoke1# sh ip nhrp shortcut Type Prefix Via Identity dynamic 192.168.2.0/24 10.255.255.2 Fixes: d4aa24ba7d ("*: Introduce Local Host Routes to FRR") Signed-off-by: Louis Scalbert (cherry picked from commit af54901405474b0623bda1899424ec18a3240c71) --- diff --git a/nhrpd/nhrp_route.c b/nhrpd/nhrp_route.c index fd9090bd6e..7adc4a6399 100644 --- a/nhrpd/nhrp_route.c +++ b/nhrpd/nhrp_route.c @@ -219,6 +219,10 @@ int nhrp_route_read(ZAPI_CALLBACK_ARGS) if (api.type == ZEBRA_ROUTE_NHRP) return 0; + /* ignore local routes */ + if (api.type == ZEBRA_ROUTE_LOCAL) + return 0; + sockunion_family(&nexthop_addr) = AF_UNSPEC; if (CHECK_FLAG(api.message, ZAPI_MESSAGE_NEXTHOP)) { api_nh = &api.nexthops[0];