Skip to content

Conversation

@listerr
Copy link
Contributor

@listerr listerr commented Aug 15, 2025

For our resold members, the Peering Manager view was not showing bilateral peering sessions existing, despite a BGP session being configured and up.

The BGP session was being correctly identified from sFLOW, and added to the database, however, IXPM only appears to show bilateral peering sessions where the VLAN is a peering LAN in its database.

For resellers, we use Arista port VLAN translation feature. Arista sends the original VLAN via sFLOW and not the translated VLAN. Therefore the VLAN which is received via sFLOW is not in IXP Manager's database / does not have peering matrix option enabled. The portal excludes this when showing peering sessions in the Peering Manager view.

(It would be nice if Arista had a config option to send the translated VLAN via sFLOW, but I could not find such a thing. I suspect this may be non-trivial given it's usually done in hardware...)

This PR adds a config option for sflow-detect-ixp-bgp-sessions to use an sql query to map the resold customer VLANs back to the correct peering VLAN, as configured in IXP Manager.

Scenario:

Resold customer interface is:-

interface Ethernet15/1.501
   description P: Resold Customer Name
   load-interval 6
   encapsulation dot1q vlan 501
   vlan id 4
   mac access-group MAC-ACL-Ethernet15_1.501 in
   service-profile LONAP-1G
  • The VLAN id 501 is only significant for this port/reseller and is not in IXP Manager's database.
  • Ethernet15/1.501 is added to the peering VLAN (VLAN 4) in IXP Manager.
  • Arista sends us VLAN 501 via sFLOW, however.

If enabled, an sql query (also configurable) will be used to map the resold VLAN IDs back to the peering VLAN, and this VLAN will be added to the database instead.

The easiest thing to do[1] is a query which just extracts the VLAN ID from the interface name for all resold customers, together with the VLAN id for the peering VLAN as configured in IXP Manager.

So we end up with a table like:-

+-------+------+
| pvlan | vlan |
+-------+------+
| 845   |    4 |
| 1503  |    4 |
| 101   |    4 |
| 509   |    4 |
| 551   |    4 |
| 502   |    4 |
| 515   |    4 |
| 646   |    4 |
| 516   |    4 |
| 519   |    4 |
| 520   |    4 |
| 608   |    4 |
...

[1] Actually, the easiest/laziest thing to do in our case is: if ($vlan >= 500) ... { $vlan = 4 } - but that is quite a "LONAP-specific" workaround.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant