0

I'm wondering what will happen if BGP unnumbered session is configured on a link that has multiple routers on the other side which are both IPv6-capable and will both reply on RS and produce RA messages (Router Advertisement and Router Solicitation) which auto-configuration for BGP unnumbered relies upon?

Such configuration seems inherently ambiguous, but it might, for instance, [automagically] establish BGP peering with both...

If anyone tried to set up such a configuration or knows the result in advance, can you please share your findings?

illustration

5
  • 1
    Since even such an interface will have a link-local IPv6 address, you can actually use that to peer BGP. RFC 7404, Using Only Link-Local Addressing inside an IPv6 Network and other papers discuss the possibilities of only using link-local addressing for routing. The RAs are required to use link-local addresses for their source addresses, and even hosts use the router link-local address for their gateways.
    – Ron Maupin
    Commented Nov 3, 2020 at 13:23
  • @RonMaupin I conducted some experiments and I think I got an answer for my question; you might want to check it out Commented Nov 7, 2020 at 23:30
  • Well, I'm still back to saying that IPv6 interfaces are never actually unnumbered because they all have link-local addresses, so I'm not sure why you would even want to use unnumbered addressing. Since the interfaces already have addresses, simply use those addresses.
    – Ron Maupin
    Commented Nov 7, 2020 at 23:44
  • @RonMaupin I'm not disputing that IPv6 interfaces always have LLA and that they can be used directly. However, it's not something called "BGP unnumbered" and gives simplicity in the configuration since you do not have to specify the addresses explicitly and instead rely on IPv6 auto-discovery. You can see the whole beauty of this in the answer below. Commented Nov 8, 2020 at 9:21
  • I understand unnumbered as it can be used. What I do not understand is trying to use unnumbered on a numbered interface in the case of eBGP. Auto-connection to an AS you do not control is actually pretty crazy from a security standpoint. I would demand to connect to the exact address on the other AS.
    – Ron Maupin
    Commented Nov 8, 2020 at 14:54

1 Answer 1

0

I've finally reproduced this scenario to check what will happen.

Using eve-ng network emulator (note, it's not a simulator, it runs real software images and shows what happens almost indistinguishably from real devices) I've created the following topology.

topology

cumulus10 there (with AS 65003) hosts vlan1 interface (which is switch virtual interface) and ports swp1 and swp2 are bridged, effectively forming a single broadcast domain (as in the problem statement).

interface bridge
  bridge-ports swp1 swp2
  bridge-vids 1
  bridge-vlan-aware yes

interface vlan1
  address 10.10.10.1/24
  vlan-id 1
  vlan-raw-device bridge

This system has an instruction to establish BGP unnumbered session using vlan1 interface.

router bgp 65003
  neighbor vlan1 interface remote-as external

Two other devices (cumulus9 and cumulus11) have a simple configuration for BGP unnumbered peering over swp1 and swp2 respectively.

router bgp 65004
  neighbor swp1 interface remote-as external
router bgp 65005
  neighbor swp2 interface remote-as external

In one of my test runs I'm going to be using as an example I see that as soon as SVI brought up AS 65003 tries to establish BGP session sequentially with both neighbors, but in the end, only a single BGP session is established, the second one always fails. I am leaving the packet capture results as seen on swp1 interface for cumulus9 and swp2 for cumulus11 which sheds the light on the internals.

The bottom line: such configuration is inherently flawed for BGP unnumbered peering. From experiments, I see that any of the three possible pairs can form a BGP session (even look at the picture in question -- it is symmetric!), and which pair will do it is a subject for undefined behavior and probabilistic.

Packet capture plus link-local addresses and MAC addresses for all 3 devices below (to make sense of the packet capture results). Raw packet capture files (two .pcapng files, openable in Wireshark) I'm leaving for those who interested to dig here: https://www.dropbox.com/sh/bdo3w8a8tt2u8ka/AAD-Pfv2cWfuTdG2B9tFzN1va?dl=0; additionally, a quick peek at the most interesting part in form of the image is below.

| device    | interface  |  MAC              |   IPv6 LLA              |
|-----------+------------+-------------------+-------------------------|
| cumulus10 |   vlan1    | 50:00:00:0a:00:01 | fe80::5200:ff:fe0a:1/64 |
| cumulus9  |   swp1     | 50:00:00:09:00:01 | fe80::5200:ff:fe09:1/64 |
| cumulus11 |   swp2     | 50:00:00:0b:00:02 | fe80::5200:ff:fe0b:2/64 |

click to enlarge packet capture

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.