Quantcast
Channel: ip route get recognizes address as anycast - Server Fault
Viewing all articles
Browse latest Browse all 3

Answer by mpontillo for ip route get recognizes address as anycast

$
0
0

If you look at the iproute2 gitweb, you'll see it's showing the status of the RTN_ANYCAST bit set on the kernel routing structure. If you cross-reference that with the kernel source (rtnetlink.h) you'll see the following comment:

    RTN_ANYCAST,            /* Accept locally as broadcast,
                               but send as unicast */

If you check the manual page, you'll see the anycast status of an address is determined by configuration (in particular, adding the anycast keyword when you specify the address to be added). According to man 8 ip:

   IFADDR := PREFIX | ADDR peer PREFIX [ broadcast ADDR ] [ anycast ADDR ]
           [ label STRING ] [ scope SCOPE-ID ]

   ...
           anycast   -   _not  implemented_  the  destinations are anycast
           addresses assigned to this host.  They are mainly equivalent to
           local with one difference: such addresses are invalid when used
           as the source address of any packet.

From the first part of the manual, it states that when you specify the address, you can instruct the stack that it's an anycast address. Without checking the kernel source code, I imagine that when you add an anycast address, the anycast bit gets propagated to a corresponding routing table entry that would be created when the address is added.

I'm not sure if the "not implemented" part is entirely correct, because it looks like iproute2 is indeed passing the anycast flags into the system calls. So it seems like if anycast is supported by the kernel, it should work. But I haven't tested it, so I don't know about that.


Viewing all articles
Browse latest Browse all 3

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>