Dear Ondrej,

On Thu, 28 May 2026 at 18:59, Ondrej Zajicek <santiago@crfreenet.org> wrote:
On Thu, May 28, 2026 at 04:29:36PM +0200, André Grüneberg wrote:
> The joy was disturbed today, when I tried to set a different bgp_next_hop
> than the local host. As soon as I set the bgp_next_hop this forces the
> VNI/mpls_label to be encoded as 0. While the local export table shows the
> configured mpls_label, the remote side receives VNI=0.
>
> I found a workaround in explicitly setting next hop address in the BGP
> protocol's evpn channel.
>
So if it uses its own address in outgoing BGP next hop, it uses
mpls_label. If it uses existing (third-party) bgp_next_hop, it uses
bgp_mpls_label_stack. If it creates BGP next hop from gw attribute, it
uses gw_mpls label.

You can see the EVPN protocol behavior when it converts ethernet route
to EVPN route (which has both mpls_label and BGP.mpls_label_stack):

You can either use static ethernet routes and use EVPN proto to translate them,

As far as I can see, static eth routes do not support the IP part in mac-ip. As you can see from my example, I want to set real mac-ip routes -- because this is what I need for our distributed ARP/ND sponge:
        route evpn mac 172.25.110.202:100 0 c0:12:34:56:78:9a 2001:db8::1 drop;
 
or you can set next hop as a BGP channel option instead of as a route
property, to trick BGP thinking it is its own address and use mpls_label.

Well, that's definitely a workaround for as long as I only need one next-hop.
So maybe you have a good idea for modifying/fixing this in future.

> Yet my expectation would be that explicitly setting bgp_next_hop does not
> have any influence on treating the VNI/mpls_label.
... especially so when a show route export <proto> all shows the VNI set in the filter.

IMO show route export should not differ from what goes onto the wire.

Best wishes,
André

--
André Grüneberg, Managing Director
andre.grueneberg@bcix.de
+49 30 2332195 42

BCIX Management GmbH
Albrechtstr. 110
12103 Berlin
Germany

Geschäftsführer/Managing Directors: Jens Lietzmann, André Grüneberg
Handelsregister: Amtsgericht Charlottenburg, HRB 143581 B