Mailing List Archive

[Bug 368] New: error in bgp fsm transitions (OpenSent)
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug
report.

http://bugzilla.quagga.net/show_bug.cgi?id=368

Summary: error in bgp fsm transitions (OpenSent)
Product: Quagga
Version: 0.98.3
Platform: Other
OS/Version: All
Status: NEW
Severity: normal
Priority: Medium
Component: bgpd
AssignedTo: maintainers@quagga.net
ReportedBy: mukesh@cs.cmu.edu


According to RFC 4271, if a TcpConnectionFails event occurs in the OpenSent
state, BGP should transition to the Active state. However, Quagga transitions to
the Idle state in reponse to TCP_fatal_error in OpenSent.

The consequence of this is a livelock which prevents two Quagga peers from
establishing a BGP session. This occurs if both peers enter the Idle state at
the same time. Then, whichever peer exits Idle first (call it A) will attempt to
open a session with the other peer (call it B).

Since B is still in Idle, B rejects the connection. If A's Open packet arrived
at B before B issued the close() syscall, then A will see a connection reset
(per draft-ietf-tcpimpl-prob-03.txt section 3.10), and generate a
TCP_fatal_error event.

With the current implementation, A will then transition back to the Idle state.
Then the process repeats, except with the roles reversed.



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
_______________________________________________
Quagga-bugs mailing list
Quagga-bugs@lists.quagga.net
http://lists.quagga.net/mailman/listinfo/quagga-bugs