-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Closed
Labels
Description
Description
When running frr on a single stack IPv6 host, the router ID default to 0.0.0.0 and is reported as invalid when connecting to another FRR peer.
Configuration file[/etc/frr/frr.conf] processing failure: 11
BGP neighbor is fc00:f853:ccd:e793::6, remote AS 64512, local AS 64512, internal link
Local Role: undefined
Remote Role: undefined
Hostname: 27742e3fce69
BGP version 4, remote router ID 0.0.0.0, local router ID 0.0.0.0
BGP state = Active
Last read 00:01:23, Last write 00:00:52
Hold time is 180 seconds, keepalive interval is 60 seconds
Configured hold time is 180 seconds, keepalive interval is 60 seconds
Configured tcp-mss is 0, synced tcp-mss is 0
Configured conditional advertisements interval is 60 seconds
Graceful restart information:
Local GR Mode: Helper*
Remote GR Mode: NotApplicable
R bit: False
N bit: False
Timers:
Configured Restart Time(sec): 120
Received Restart Time(sec): 120
Configured LLGR Stale Path Time(sec): 0
Message statistics:
Inq depth is 0
Outq depth is 0
Sent Rcvd
Opens: 4 4
Notifications: 1 8
Updates: 0 0
Keepalives: 3 0
Route Refresh: 0 0
Capability: 0 0
Total: 8 12
Minimum time between advertisement runs is 0 seconds
For address family: IPv6 Unicast
Not part of any update group
NEXT_HOP is always this router
Community attribute sent to this neighbor(all)
0 accepted prefixes
Connections established 0; dropped 0
Last reset 00:01:23, Notification received (OPEN Message Error/Bad BGP Identifier)
Internal BGP neighbor may be up to 255 hops away.
Local host: fc00:f853:ccd:e793::2, Local port: 51228
Foreign host: fc00:f853:ccd:e793::6, Foreign port: 179
Nexthop: 0.0.0.0
Nexthop global: fc00:f853:ccd:e793::2
Nexthop local: fe80::42:acff:fe12:2
BGP connection: shared network
BGP Connect Retry Timer in Seconds: 120
Next connect timer due in 114 seconds
Read thread: off Write thread: off FD used: -1
❯ docker exec -ti frr2 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host proto kernel_lo
valid_lft forever preferred_lft forever
130: eth0@if131: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:12:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fc00:f853:ccd:e793::2/64 scope global nodad
valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe12:2/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
Version
10.2.1
How to reproduce
Run two IPv6 FRR containers and point them to each other using a basic configuration that does not explicitly set the Router ID.
Docker does not natively support single stack IPv6, so I had to remove the IPv4 address from the interface prior to running frr in the containers.
Sample config pattern for the containers
router bgp 64512
no bgp default ipv4-unicast
no bgp default ipv6-unicast
no bgp network import-check
neighbor fc00:f853:ccd:e793::6 remote-as 64512
neighbor fc00:f853:ccd:e793::6 route-reflector-client
address-family ipv6 unicast
neighbor fc00:f853:ccd:e793::6 activate
neighbor fc00:f853:ccd:e793::6 next-hop-self
exit-address-family
Create network
docker network create --ipv6 foonet
Run containers following pattern
docker run -d --privileged --network foonet --name <name> --volume <host path to config> :/etc/frr quay.io/frrouting/frr:10.2.1 bash -c "ip a del dev eth0 <ipv4 addr>;/usr/lib/frr/docker-start"
Expected behavior
Default to a valid router ID and successful BGP session establishment.
Actual behavior
Default to router ID 0.0.0.0 and getting OPEN Message Error/Bad BGP Identifier
Additional context
No response
Checklist
- I have searched the open issues for this bug.
- I have not included sensitive information in this report.