Skip to content

Invalid prefix sent to BGP peer when using bind_address

In l2tpns.c (line 4140) :

   if (config->bind_address)
           bgp_add_route(config->bind_address, 0xffffffff);

Will produce invalid BGP update :

Network Layer Reachability Information (NLRI)
    NLRI length 255 invalid (> 32)
        [Expert Info (Error/Malformed): NLRI length 255 invalid (> 32)]
            [NLRI length 255 invalid (> 32)]

Second parameter of bgp_add_route is called "prefixlen" so 0xffffffff will produce the « 255 » length. ( probably from the time when masks where used )

The value should be "32"

Patch to come :)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information