Page MenuHomeVyOS Platform

FRR bgp address-family l2vpn-evpn route-target export/import not working
Closed, ResolvedPublicBUG

Description

How to reproduce the problem:

set protocols bgp address-family l2vpn-evpn vni 100 route-target export 65002:1
set protocols bgp address-family l2vpn-evpn vni 100 route-target import 65000:100
commit
# show protocols bgp address-family l2vpn-evpn vni 100
 advertise-svi-ip
 rd 65023:100000100
 route-target {
     export 65002:1
     import 65000:100
 }

But route-target is missing in frr config:

#vtysh
#show run bgpd
router bgp 65023
...
 !

 address-family l2vpn evpn
  advertise-all-vni
  vni 100
   rd 65023:100000100
   advertise-svi-ip
  exit-vni
 exit-address-family
exit

Details

Difficulty level
Normal (likely a few hours)
Version
1.4-rolling-202301260317
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Behavior change
Issue type
Bug (incorrect behavior)

Event Timeline

Viacheslav changed the task status from Open to In progress.Jan 27 2023, 11:25 AM
Viacheslav claimed this task.

The Original FRR log
This command is only supported under EVPN VRF

r14# conf t
r14(config)# router bgp 65000
r14(config-router)# address-family l2vpn evpn 
r14(config-router-af)# 
r14(config-router-af)# vni 100
r14(config-router-af-vni)# 
r14(config-router-af-vni)# route-target import 65000:100
This command is only supported under EVPN VRF
r14(config-router-af-vni)#

@daniil do you know what does it mean? Or have FRR correct config example?

hmm, very strange.

vm-01# conf
vm-01(config)# router bgp 65023
vm-01(config-router)#  address-family l2vpn evpn
vm-01(config-router-af)#   vni 100
vm-01(config-router-af-vni)#    route-target export 65002:1
vm-01(config-router-af-vni)#    route-target import 65000:100
vm-01(config-router-af-vni)# end
vm-01# show run bgp
router bgp 65023
...
 !
 address-family l2vpn evpn
  advertise-all-vni
  vni 100
   rd 65023:100000100
   route-target import 65000:100
   route-target export 65002:1
   advertise-svi-ip
  exit-vni
 exit-address-family
exit
vm-01# show version 
FRRouting 8.4.2 (vm-01) on Linux(6.1.8-amd64-vyos).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

Ok I'll re-check with the latest rolling.

r14# show version 
FRRouting 8.4.2 (r14) on Linux(6.1.6-amd64-vyos).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

The same with latest rolling

r14(config)# router bgp 
r14(config-router)# vni 100
r14(config)# 
r14(config)# 
r14(config)# router bgp 65000
r14(config-router)# address-family l2vpn evpn 
r14(config-router-af)# vni 100
r14(config-router-af-vni)# route-target export 65002:1
This command is only supported under EVPN VRF
r14(config-router-af-vni)# 
r14(config-router-af-vni)# end
r14# 
r14# show ver
FRRouting 8.4.2 (r14) on Linux(6.1.8-amd64-vyos).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
configured with:

My full bgp config:

protocols {
    bgp {
        address-family {
            ipv4-unicast {
                maximum-paths {
                    ebgp 2
                }
                redistribute {
                    connected {
                    }
                }
            }
            l2vpn-evpn {
                advertise {
                }
                advertise-all-vni
                vni 100 {
                    advertise-svi-ip
                    rd 65023:100000100
                    route-target {
                        export 65002:1
                        import 65000:100
                    }
                }
            }
        }
        neighbor 10.32.1.1 {
            peer-group RS-EVPN
        }
        neighbor 10.32.1.2 {
            peer-group RS-EVPN
        }
        neighbor eth1 {
            interface {
                peer-group SPINE
                v6only {
                }
            }
        }
        neighbor eth2 {
            interface {
                peer-group SPINE
                v6only {
                }
            }
        }
        parameters {
            log-neighbor-changes
            router-id 10.32.0.41
        }
        peer-group RS-EVPN {
            address-family {
                l2vpn-evpn {
                    allowas-in {
                        number 1
                    }
                    route-map {
                        export RS-OUT
                    }
                }
            }
            bfd {
            }
            capability {
                extended-nexthop
            }
            ebgp-multihop 32
            remote-as 65020
            update-source dum0
        }
        peer-group SPINE {
            address-family {
                ipv4-unicast {
                    allowas-in {
                        number 1
                    }
                    route-map {
                        export UNDERLAY-EXPORT
                    }
                }
                ipv6-unicast {
                }
            }
            capability {
                extended-nexthop
            }
            password XXXX
            remote-as 65001
        }
        system-as 65023
    }
}

If I don't use advertise-all-vni I get an error

This command is only supported under EVPN VRF

Please use

advertise-all-vni

PR https://github.com/vyos/vyos-1x/pull/1791

set protocols bgp address-family l2vpn-evpn advertise
set protocols bgp address-family l2vpn-evpn advertise-all-vni
set protocols bgp address-family l2vpn-evpn vni 100 advertise-svi-ip
set protocols bgp address-family l2vpn-evpn vni 100 rd '65023:100000100'
set protocols bgp address-family l2vpn-evpn vni 100 route-target export '65001:1'
set protocols bgp address-family l2vpn-evpn vni 100 route-target import '65000:102'
set protocols bgp system-as '65000'

FRR

!
router bgp 65000
 no bgp ebgp-requires-policy
 no bgp default ipv4-unicast
 no bgp network import-check
 !
 address-family l2vpn evpn
  advertise-all-vni
  vni 100
   rd 65023:100000100
   route-target import 65000:102
   route-target export 65001:1
   advertise-svi-ip
  exit-vni
 exit-address-family
exit
!
Viacheslav changed the task status from In progress to Needs testing.Jan 30 2023, 5:15 PM

Will be fixed in the next rolling release

Viacheslav moved this task from Need Triage to Finished on the VyOS 1.4 Sagitta board.