BGP Neighbor Adjacency States

Hi Jie,

It’s possible that the MTU is causing your issue. Your ISP might be sending BGP updates of 1500 bytes which are dropped on your end. Here’s the default TCP segment size that is used for BGP:

R1#show ip bgp neighbors 192.168.12.2 | include segment
Maximum output segment queue size: 50
Datagrams (max data segment is 1460 bytes):

The segment size is 1460 bytes, add a TCP header (20 bytes) and IP header (20 bytes) and you have a 1500 byte packet. In other words, you should be able to send/receive up to 1500 bytes which is not possible at the moment.

There’s two ways how you can fix this. BGP uses path MTU discovery which you can verify here:

R1#show ip bgp neighbors 192.168.12.2 | include tcp
  Transport(tcp) path-mtu-discovery is enabled

So if we reduce the MTU, BGP should reduce its MSS:

R1(config)#interface GigabitEthernet 0/1
R1(config-if)#ip mtu 1400

R1#clear ip bgp *

Here’s the new MSS:

R1#show ip bgp neighbors 192.168.12.2 | include segment
Maximum output segment queue size: 50
Datagrams (max data segment is 1360 bytes):

You shouldn’t have any issues now.

The other way to solve this is by changing the TCP MSS manually. The command you used is for clients, not for the router itself. Here’s an example if you want to learn more. Try this instead:

R1(config)#interface GigabitEthernet 0/1
R1(config-if)#no ip mtu 1400

R1(config)#ip tcp mss 1450

R1#clear ip bgp *

R1#show ip bgp neighbors 192.168.12.2 | include segment
Maximum output segment queue size: 50
Datagrams (max data segment is 1450 bytes):

This should solve the problem.

Rene

4 Likes