Subject: Issue 46 and 48

From: Susan Hares <[email-masked]>
Date: Thu, 24 Oct 2002 11:05:15 -0400

I propose putting the text suggested by issue 48 in section 8.2 after

8.2) Description of FSM

8.2.1) FSM connections
	
	(text below)

8.2.2) FSM Definition

(text now in 8.2)

issue 47 suggested the following text:

	"BGP must maintain a separate FSM for each configured peer plus
	Each BGP peer paired in a potential connection unless configured
	to remain in the idle state, or configured to remain passive,
	will attempt to  to connect to the other.  For the purpose of
         this discussion, the active or connect side of the TCP
         connection (the side of a TCP connection (the side sending
         the first TCP SYN packet) is called outgoing.  The passive or
         listening side (the sender of the first SYN ACK) is called
         an incoming connection. [See section on the terms active and
	passive below.]
	
	A BGP implementation must connect to and listen on TCP port 179
	for incoming connections in addition to trying to connect to peers.
	Fro each incoming connection, a state machine must be instantiated.
	There exists a period in which the identity of the peer on the
	other end of an incoming connection is known but the BGP identifier
	is not known.  During this time, both an incoming and an outgoing
	connection for the same configured peering may exist.  This
	is referred to as a connection collision (see Section x.x, was 6.8).

	A BGP implementation will have at most one FSM for each configured
	peering plus one FSM for each incoming TCP connection for which the
	peer has not yet been identified. Each FSM corresponds to exactly
	one TCP connection.

	There may be more than one connections between a pair of peers if
	the connections are configured to use a different pair of IP
	addresses. This is referred to as multiple "configured peerings"
	to the same peer.

	8.2.1.1) Terms "active" and "passive"

	The terms active and passive have been in our vocabulary for
	almost a decade and have proven useful.  The words active and
	passive have slightly different meanings applied to a TCP
	connection or applied to a peer.  There is only one active
	side and one passive side to any one TCP connection per the
	definition above [and the state machine below.] When a
	BGP speaker is configured active it may end up on either the
	active or passive side of the connection that eventually gets
	established.  Once the TCP connection is completed, it doesn't
	matter which end was active and which end was passive and
	the only difference is which side of the TCP connection has
	port number 179.

In issue 46, Curtis proposed text the following text:
	"There is one FSM per connection.  Prior to determining what
	peer a connection is associated with there may be two connections for
	a given peer.  There should be no more than one connection per peer.
	The collision detection identifies the case where there is
	more than one connection per peer and provides guidances for which
	connection to get rid of.  When this occurs, the corresponding
	FSM for the connection that is closed should be disposed of."

I'm glad to add this text to section 8. Does it need to be added to the
same section?

Are there any comments on this addition?

Sue Hares

---

From: "Gray, Eric" <[email-masked]>
Date: Thu, 24 Oct 2002 13:14:06 -0400

Sue,

	Please see below...

Eric W. Gray
Systems Architect
Celox Networks, Inc.
[email-masked]
508 305 7214

> -----Original Message-----
> From: Susan Hares [mailto:[email-masked]]
> Sent: Thursday, October 24, 2002 11:05 AM
> To: [email-masked]
> Cc: [email-masked]; yakov Rekhter;
> [email-masked]; [email-masked]; [email-masked]
> Subject: Issue 46 and 48
> 
> 

Issue 48?

Also, in the text below, should must be capitalized?

> ... [snip]

---

From: "Gray, Eric" <[email-masked]>
Date: Fri, 25 Oct 2002 10:09:18 -0400

Sue,

	Sorry for the confusing usage.  I meant to ask
"should (the word) 'must' be capitalized (MUST)?" in 
reference to the text explicitly included "below" the 
question.

Eric W. Gray
Systems Architect
Celox Networks, Inc.
[email-masked]
508 305 7214

> From: Susan Hares [mailto:[email-masked]]
> Sent: Friday, October 25, 2002 8:22 AM
> To: Gray, Eric; [email-masked]
> Subject: RE: Issue 46 and 48
> 
> Eric:
> 
> Thank, it is issue 48 in the text below.
> 
> And Should be capitalized in the following
> three locations:
> 
> 
>  Event13: Transport Connection Indication & valid remote peer[changed]
> 
> 	   Definition: Event indicating that transport
>                        Requestvalid source IP address and TCP
>                        port, and valid destination IP address
>                        and TCP Port.  The definition of
>                        invalid Source, and invalid Destination
>                        IP address is left to the implementation.
>                        BGP's destination port should be port
> 
> 
> 
> 
>  Event14: RCV Transport Connection Indication and Invalid Source or
>           Destination [changed]
> 
>            Definition: Transport request received with either
>  		       an invalid source address or port
> 		       number or an invalid destination
>                        address or port number. BGP destination
>                        port  number should be 179 as defined
>                        by IANA.
> 
> 
> 
> 8.2) Description of FSM
> 
> 
> Idle state
> 
> 
>   In response to a manual start event with the passive Transport
>   flag (Event 4) or automatic start with the passive Transport flag
>   (Event 5), the local system:
>       -	initializes all BGP resources,
>       -	sets the connect retry count to zero,
>       -	start the Connect Retry timer with initial value,
>       -	listens for a connection that may be initiated by
>         the remote peer
>         [Action B in the FSM table]
>       -	changes its state to Active.
> 
>   The exact value of the ConnectRetry timer is a local
>   matter, but it should be sufficiently large to a
> 
> thanks for the comment.
> 
> Sue
> 
> 
> > issue 48 suggested the following text:
> 
           MUST?
> > 	A BGP implementation must connect to and listen on TCP port 179
                           MUST?
> > 	Fro each incoming connection, a state machine must be instantiated.
      FOR
> > 	There may be more than one connections between a pair of peers if
            MAY?