bgpd: update traps to RFC4273 Notifications

The old bgpTraps group was obsolteted by RFC4273 and the
bgpNotifications groups was introduces. The new notifications
mirror the bgpTraps except that an extra item peerRemoteAddr
is sent in the notification. This upgrades the support to
conform with RFC4273

Signed-off-by: Pat Ruddy <pat@voltanet.io>
This commit is contained in:
Pat Ruddy 2020-11-03 17:05:24 +00:00
parent 8db8e86a91
commit c1e99f63fd

View File

@ -850,8 +850,9 @@ static uint8_t *bgp4PathAttrTable(struct variable *v, oid name[],
}
/* BGP Traps. */
static struct trap_object bgpTrapList[] = {{3, {3, 1, BGPPEERLASTERROR}},
{3, {3, 1, BGPPEERSTATE}}};
static struct trap_object bgpTrapList[] = {{3, {3, 1, BGPPEERREMOTEADDR} },
{3, {3, 1, BGPPEERLASTERROR} },
{3, {3, 1, BGPPEERSTATE} } };
static int bgpTrapEstablished(struct peer *peer)
{
@ -869,10 +870,10 @@ static int bgpTrapEstablished(struct peer *peer)
oid_copy_addr(index, &addr, IN_ADDR_SIZE);
smux_trap(bgp_variables, array_size(bgp_variables), bgp_trap_oid,
array_size(bgp_trap_oid), bgp_oid,
sizeof(bgp_oid) / sizeof(oid), index, IN_ADDR_SIZE,
bgpTrapList, array_size(bgpTrapList), BGPESTABLISHED);
ret = smux_trap(bgp_variables, array_size(bgp_variables), bgp_trap_oid,
array_size(bgp_trap_oid), bgp_oid,
sizeof(bgp_oid) / sizeof(oid), index, IN_ADDR_SIZE,
bgpTrapList, array_size(bgpTrapList), BGPESTABLISHED);
return 0;
}