]> git.puffer.fish Git - matthieu/frr.git/commitdiff
nhrpd: fix sending /32 shortcut
authorLouis Scalbert <louis.scalbert@6wind.com>
Fri, 23 Aug 2024 14:05:45 +0000 (16:05 +0200)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Fri, 23 Aug 2024 19:58:49 +0000 (19:58 +0000)
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 <louis.scalbert@6wind.com>
(cherry picked from commit af54901405474b0623bda1899424ec18a3240c71)

nhrpd/nhrp_route.c

index fd9090bd6e743780c64bef8ca0c04fea5b63d290..7adc4a63991b3dfea476588eeb79f7c19d04aac2 100644 (file)
@@ -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];