diff --git a/bgpd/bgp_open.c b/bgpd/bgp_open.c index 94d905127d..113017559e 100644 --- a/bgpd/bgp_open.c +++ b/bgpd/bgp_open.c @@ -1216,7 +1216,8 @@ int bgp_open_option_parse(struct peer *peer, uint8_t length, int *mp_capability) /* Extended Message Support */ peer->max_packet_size = - CHECK_FLAG(peer->cap, PEER_CAP_EXTENDED_MESSAGE_RCV) + (CHECK_FLAG(peer->cap, PEER_CAP_EXTENDED_MESSAGE_RCV) + && CHECK_FLAG(peer->cap, PEER_CAP_EXTENDED_MESSAGE_ADV)) ? BGP_EXTENDED_MESSAGE_MAX_PACKET_SIZE : BGP_STANDARD_MESSAGE_MAX_PACKET_SIZE;