diff options
author | paul <paul> | 2004-07-09 12:11:31 +0000 |
---|---|---|
committer | paul <paul> | 2004-07-09 12:11:31 +0000 |
commit | f5ba387492ec163f1200d949a984f12ef88538ba (patch) | |
tree | c17eef0501ef903883aae2ec62fba0be1a244fa0 /bgpd/bgp_packet.c | |
parent | 4d4653afe362d6ea549c6e21b27afe01fb8b8aac (diff) |
2004-07-09 Sowmini Varadhan <sowmini.varadhan@sun.com>
* bgp_packet.c: (bgp_collision_detect) Send NOTIFY on new socket
if that is connection we're closing.
(bgp_read) invalid marker check applies to KEEPALIVE too.
* bgp_route.c: Ignore multicast NRLI, dont send NOTIFY.
Diffstat (limited to 'bgpd/bgp_packet.c')
-rw-r--r-- | bgpd/bgp_packet.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c index 316c44e2..37f5afdc 100644 --- a/bgpd/bgp_packet.c +++ b/bgpd/bgp_packet.c @@ -1117,7 +1117,8 @@ bgp_collision_detect (struct peer *new, struct in_addr remote_id) OpenConfirm state). */ if (new->fd >= 0) - bgp_notify_send (peer, BGP_NOTIFY_CEASE, BGP_NOTIFY_CEASE_COLLISION_RESOLUTION); + bgp_notify_send (new, BGP_NOTIFY_CEASE, + BGP_NOTIFY_CEASE_COLLISION_RESOLUTION); return -1; } } @@ -2147,7 +2148,7 @@ bgp_read (struct thread *thread) peer->host, type, size - BGP_HEADER_SIZE); /* Marker check */ - if (type == BGP_MSG_OPEN + if (((type == BGP_MSG_OPEN) || (type == BGP_MSG_KEEPALIVE)) && ! bgp_marker_all_one (peer->ibuf, BGP_MARKER_SIZE)) { bgp_notify_send (peer, @@ -2219,7 +2220,7 @@ bgp_read (struct thread *thread) { case BGP_MSG_OPEN: peer->open_in++; - bgp_open_receive (peer, size); + bgp_open_receive (peer, size); /* XXX return value ignored! */ break; case BGP_MSG_UPDATE: peer->readtime = time(NULL); /* Last read timer reset */ |