Hi
we have been detected an issues when we want a bgp session with an ipv6 link-local address , it is not possible to establish .let me show :
version :
vyos@vyos:~$ show version Version: VyOS 1.4-rolling-202106260417 Release Train: sagitta Built by: autobuild@vyos.net Built on: Sat 26 Jun 2021 07:40 UTC Build UUID: 5cb5c98a-9eaf-4630-b563-f5e207950933 Build Commit ID: 848f1c917efc29 Architecture: x86_64 Boot via: installed image System type: KVM guest Hardware vendor: Bochs Hardware model: Bochs Hardware S/N: Hardware UUID: 8876859b-c954-4183-aad8-148843b3b890 Copyright: VyOS maintainers and contributor
bgp peer config :
set protocols bgp address-family ipv6-unicast redistribute connected set protocols bgp local-as '65000' set protocols bgp neighbor fe80::5200:ff:fe0c:1 address-family ipv6-unicast route-map import 'BGP-IPV6' set protocols bgp neighbor fe80::5200:ff:fe0c:1 ebgp-multihop '2' set protocols bgp neighbor fe80::5200:ff:fe0c:1 remote-as '65005' set protocols bgp neighbor fe80::5200:ff:fe0c:1 update-source 'fe80::5200:ff:fe07:1' set protocols bgp parameters default no-ipv4-unicast set protocols bgp parameters router-id '2.2.2.2'
show bgp ipv6 neighbors output :
vyos@vyos-ipv6-pl2#run show bgp ipv6 neighbors
BGP neighbor is fe80::5200:ff:fe0c:1, remote AS 65005, local AS 65000, external link
BGP version 4, remote router ID 0.0.0.0, local router ID 2.2.2.2
BGP state = Active
Last read 00:11:49, Last write never
Hold time is 180, keepalive interval is 60 seconds
Graceful restart information:
Local GR Mode: Helper*
Remote GR Mode: NotApplicable
R bit: False
Timers:
Configured Restart Time(sec): 120
Received Restart Time(sec): 0
Message statistics:
Inq depth is 0
Outq depth is 0
Sent Rcvd
Opens: 0 0
Notifications: 0 0
Updates: 0 0
Keepalives: 0 0
Route Refresh: 0 0
Capability: 0 0
Total: 0 0
Minimum time between advertisement runs is 0 seconds
Update source is fe80::5200:ff:fe07:1
For address family: IPv6 Unicast
Not part of any update group
Community attribute sent to this neighbor(all)
Inbound path policy configured
Route map for incoming advertisements is *BGP-IPV6
0 accepted prefixes
Connections established 0; dropped 0
Last reset 00:11:49, Waiting for peer OPEN
External BGP neighbor may be up to 2 hops away.
BGP Connect Retry Timer in Seconds: 120
Next connect timer due in 12 seconds
Read thread: off Write thread: off FD used: -1ipv6 settings :
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 50:00:00:07:00:01 brd ff:ff:ff:ff:ff:ff
inet6 2001:db8:3333::15/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::5200:ff:fe07:1/64 scope link
valid_lft forever preferred_lft forever]
vyos@vyos:~$ show ipv6 neighbors
IP Address Device State LLADDR
---------- ------ ----- ------
2001:db8:3333::16 eth1 stale 50:00:00:0c:00:01
fe80::5200:ff:fe0c:1 eth1 stale 50:00:00:0c:00:01journal log :
Jun 28 12:42:36 vyos-ipv6-pl2 sudo[4993]: pam_unix(sudo:session): session closed for user root Jun 28 12:42:36 vyos-ipv6-pl2 commit[4996]: Successful change to active configuration by user vyos on /dev/ttyS0 Jun 28 12:42:36 vyos-ipv6-pl2 bgpd[978]: [EC 100663299] can't bind socket for fe80::5200:ff:fe07:1 : Invalid argument Jun 28 12:44:36 vyos-ipv6-pl2 bgpd[978]: [EC 100663299] can't bind socket for fe80::5200:ff:fe07:1 : Invalid argument Jun 28 12:46:36 vyos-ipv6-pl2 bgpd[978]: [EC 100663299] can't bind socket for fe80::5200:ff:fe07:1 : Invalid argument Jun 28 12:48:36 vyos-ipv6-pl2 bgpd[978]: [EC 100663299] can't bind socket for fe80::5200:ff:fe07:1 : Invalid argument
there is something strange , when you want a ping(v6) using the link-local address ,it shows a similar issues :
vyos@vyos:~$sudo /usr/sbin/ip vrf exec default /bin/ping6 -I fe80::5200:ff:fe07:1 fe80::5200:ff:fe0c:1 /bin/ping6: bind icmp socket: Invalid argument if I use the interfaces , it works $ sudo /usr/sbin/ip vrf exec default /bin/ping6 -I eth1 fe80::5200:f /bin/ping6: Warning: source address might be selected on device other than: eth1 PING fe80::5200:ff:fe0c:1(fe80::5200:ff:fe0c:1) from :: eth1: 56 data bytes 64 bytes from fe80::5200:ff:fe0c:1%eth1: icmp_seq=1 ttl=64 time=2.00 ms 64 bytes from fe80::5200:ff:fe0c:1%eth1: icmp_seq=2 ttl=64 time=1.64 ms 64 bytes from fe80::5200:ff:fe0c:1%eth1: icmp_seq=3 ttl=64 time=1.66 ms 64 bytes from fe80::5200:ff:fe0c:1%eth1: icmp_seq=4 ttl=64 time=2.00 ms 64 bytes from fe80::5200:ff:fe0c:1%eth1: icmp_seq=5 ttl=64 time=1.73 ms