mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-07-27 15:23:39 +00:00
Merge pull request #14751 from opensourcerouting/fix/soft_version_cap_received_fix
bgpd: Software capability nits
This commit is contained in:
commit
c93cfad7c0
@ -896,8 +896,6 @@ static int bgp_capability_software_version(struct peer *peer,
|
|||||||
size_t end = stream_get_getp(s) + hdr->length;
|
size_t end = stream_get_getp(s) + hdr->length;
|
||||||
uint8_t len;
|
uint8_t len;
|
||||||
|
|
||||||
SET_FLAG(peer->cap, PEER_CAP_SOFT_VERSION_RCV);
|
|
||||||
|
|
||||||
len = stream_getc(s);
|
len = stream_getc(s);
|
||||||
if (stream_get_getp(s) + len > end) {
|
if (stream_get_getp(s) + len > end) {
|
||||||
flog_warn(
|
flog_warn(
|
||||||
@ -907,6 +905,8 @@ static int bgp_capability_software_version(struct peer *peer,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SET_FLAG(peer->cap, PEER_CAP_SOFT_VERSION_RCV);
|
||||||
|
|
||||||
if (len > BGP_MAX_SOFT_VERSION) {
|
if (len > BGP_MAX_SOFT_VERSION) {
|
||||||
flog_warn(EC_BGP_CAPABILITY_INVALID_LENGTH,
|
flog_warn(EC_BGP_CAPABILITY_INVALID_LENGTH,
|
||||||
"%s: Received Software Version, but the length is too big, truncating, from peer %s",
|
"%s: Received Software Version, but the length is too big, truncating, from peer %s",
|
||||||
@ -1938,7 +1938,7 @@ uint16_t bgp_open_capability(struct stream *s, struct peer *peer,
|
|||||||
*/
|
*/
|
||||||
if (peergroup_flag_check(peer, PEER_FLAG_CAPABILITY_SOFT_VERSION) ||
|
if (peergroup_flag_check(peer, PEER_FLAG_CAPABILITY_SOFT_VERSION) ||
|
||||||
CHECK_FLAG(peer->bgp->flags, BGP_FLAG_SOFT_VERSION_CAPABILITY) ||
|
CHECK_FLAG(peer->bgp->flags, BGP_FLAG_SOFT_VERSION_CAPABILITY) ||
|
||||||
peer->sort == BGP_PEER_IBGP) {
|
peer->sort == BGP_PEER_IBGP || peer->sub_sort == BGP_PEER_EBGP_OAD) {
|
||||||
SET_FLAG(peer->cap, PEER_CAP_SOFT_VERSION_ADV);
|
SET_FLAG(peer->cap, PEER_CAP_SOFT_VERSION_ADV);
|
||||||
stream_putc(s, BGP_OPEN_OPT_CAP);
|
stream_putc(s, BGP_OPEN_OPT_CAP);
|
||||||
rcapp = stream_get_endp(s);
|
rcapp = stream_get_endp(s);
|
||||||
|
Loading…
Reference in New Issue
Block a user