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: [email protected] 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: -1
ipv6 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:01
journal 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