I found a different way to replicate the bug, this time it crashes ALL
the IPv6 sessions connected to multiple Foundry switches (cisco seems
fine). I have setup a v6 session with a tcp md5sig like so:
group "peers-rs-v6" {
announce IPv6 unicast
announce IPv4 none
softreconfig in yes
enforce neighbor-as yes
set nexthop no-modify
local-address 2001:7F8:1::A500:6777:4
neighbor 2001:7f8:1::A500:1200:1 {
descr "AS1200-v6-01"
remote-as 1200
announce all
passive
tcp md5sig password hondjes
}
neighbor 2001:7f8:1::a504:8345:1 {
descr "XSNEWS-v6-01"
remote-as 48345
announce all
passive
max-prefix 5
}
}
# bgpctl s s
AS1200-v6-01 1200 9042 8142 0 00:13:34 Idle
XSNEWS-v6-01 48345 9374 8492 0 00:12:22 1/5
While in Idle, the session logs the following in daemon:
Feb 23 14:00:03 radix-new bgpd[19498]: Connection attempt from neighbor
2001:7f8:1::a500:1200:1 (AS1200-v6-01) while session is in state Idle
Feb 23 14:00:23 radix-new bgpd[19498]: Connection attempt from neighbor
2001:7f8:1::a500:1200:1 (AS1200-v6-01) while session is in state Idle
I then clear the peering with the md5 hash:
bgpctl neigh AS1200-v6-01 clear
# bgpctl neigh AS1200-v6-01 clear
request processed
# bgpctl s s
XSNEWS-v6-01 48345 9380 8497 0 00:14:35 1/5
AS1200-v6-01 1200 9042 8142 0 00:17:15 Active
but then after a few seconds, when the session becomes alive, the empty
update get send out, and all foundry based v6 sessions reset.
# bgpctl s s
XSNEWS-v6-01 48345 9381 8501 0 00:00:11 Idle
AS1200-v6-01 1200 9047 8152 0 00:00:11 Idle
This is what daemon shows:
Feb 23 14:07:31 radix-new bgpd[19498]: neighbor 2001:7f8:1::a500:1200:1
(AS1200-v6-01): state change Idle -> Active, reason: Start
Feb 23 14:07:43 radix-new bgpd[19498]: neighbor 2001:7f8:1::a500:1200:1
(AS1200-v6-01): state change Active -> OpenSent, reason: Connection opened
Feb 23 14:07:43 radix-new bgpd[19498]: neighbor 2001:7f8:1::a500:1200:1
(AS1200-v6-01): state change OpenSent -> OpenConfirm, reason: OPEN
message received
Feb 23 14:07:43 radix-new bgpd[19498]: neighbor 2001:7f8:1::a500:1200:1
(AS1200-v6-01): state change OpenConfirm -> Established, reason:
KEEPALIVE message received
Feb 23 14:07:43 radix-new bgpd[25932]: neighbor 2001:7f8:1::a500:1200:1
(AS1200-v6-01) AS1200: update 2001:7b8:200::/48 via 2001:7f8:1::a500:1200:1
Feb 23 14:07:43 radix-new bgpd[25932]: neighbor 2001:7f8:1::a500:1200:1
(AS1200-v6-01) AS1200: update 2001:610:140::/48 via 2001:7f8:1::a500:1200:1
Feb 23 14:07:43 radix-new bgpd[25932]: neighbor 2001:7f8:1::a500:1200:1
(AS1200-v6-01) AS1200: update 2001:7f8:1::/48 via 2001:7f8:1::a500:1200:1
Feb 23 14:07:43 radix-new bgpd[8490]: nexthop 2001:7f8:1::a500:1200:1
now valid: directly connected
Feb 23 14:07:43 radix-new bgpd[19498]: neighbor 2001:7f8:1::a500:1200:1
(AS1200-v6-01): received notification: error in UPDATE message,
attribute list error
Feb 23 14:07:43 radix-new bgpd[19498]: neighbor 2001:7f8:1::a500:1200:1
(AS1200-v6-01): state change Established -> Idle, reason: NOTIFICATION
received
Feb 23 14:07:43 radix-new bgpd[19498]: neighbor 2001:7f8:1::a500:1200:2
(AS1200-v6-02): received notification: error in UPDATE message,
attribute list error
Feb 23 14:07:43 radix-new bgpd[19498]: neighbor 2001:7f8:1::a500:1200:2
(AS1200-v6-02): state change Established -> Idle, reason: NOTIFICATION
received
Feb 23 14:07:43 radix-new bgpd[19498]: neighbor 2001:7f8:1::a504:8345:2
(XSNEWS-v6-02): received notification: error in UPDATE message,
attribute list error
Feb 23 14:07:43 radix-new bgpd[19498]: neighbor 2001:7f8:1::a504:8345:2
(XSNEWS-v6-02): state change Established -> Idle, reason: NOTIFICATION
received
Feb 23 14:07:43 radix-new bgpd[19498]: neighbor 2001:7f8:1::a504:8345:1
(XSNEWS-v6-01): received notification: error in UPDATE message,
attribute list error
Feb 23 14:07:43 radix-new bgpd[19498]: neighbor 2001:7f8:1::a504:8345:1
(XSNEWS-v6-01): state change Established -> Idle, reason: NOTIFICATION
received
Feb 23 14:08:13 radix-new bgpd[19498]: neighbor 2001:7f8:1::a504:8345:2
(XSNEWS-v6-02): state change Idle -> Active, reason: Start
Feb 23 14:08:13 radix-new bgpd[19498]: neighbor 2001:7f8:1::a504:8345:1
(XSNEWS-v6-01): state change Idle -> Active, reason: Start
Feb 23 14:08:13 radix-new bgpd[19498]: neighbor 2001:7f8:1::a500:1200:2
(AS1200-v6-02): state change Idle -> Active, reason: Start
I'm running the latest openbgpd version (from cvs, 2 days ago) on amd64.
Kind regards,
Arnoud Vermeer
Henning Brauer schreef:
> * Stuart Henderson <[email protected]> [2009-01-30 17:59]:
>
>> On 2009-01-29, Arnoud Vermeer <[email protected]> wrote:
>>
>>> While looking in to the problem, we found out that OpenBGPD sends a
>>> empty UPDATE, on which quagga responds by terminating the process.
>>>
>>>
>> ...
>>
>>> While doing a tcpdump we found the following packets leading to a
>>> NOTIFICATION. As you can see, frame 19 is an empty UPDATE packet.
>>>
>> Isn't that an end-of-RIB marker?
>>
>
> yep.