diff options
author | Henning Brauer <henning@cvs.openbsd.org> | 2004-04-28 06:45:38 +0000 |
---|---|---|
committer | Henning Brauer <henning@cvs.openbsd.org> | 2004-04-28 06:45:38 +0000 |
commit | 6130dab8fc3ef157452d71f919864e7756f614ff (patch) | |
tree | c97b62f6d3542cc587cb27eea94983a2b371fe83 /usr.sbin/bgpd/session.h | |
parent | 2c5b9dc7b6efff067b1d7a7968f6109e7b08ad77 (diff) |
if a peer follows the extremely misgiuded path that the RFCs just barely allow
to send a NOTIFICATION and thus ternminating the session when it sees a
capability it doesn't support (who would guess: zebra does so), parse the
data section of the notifcication to find out what what capabilties it didn't
like and do not advertise them the next time the session gets up. In case we
get a notification about unsupported capabilities with an empty data part
(don't ask for RFCs... and guess who does that), disable capabilty announcement
alltogether.
claudio ok
Diffstat (limited to 'usr.sbin/bgpd/session.h')
-rw-r--r-- | usr.sbin/bgpd/session.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/usr.sbin/bgpd/session.h b/usr.sbin/bgpd/session.h index 0b5eb378a90..99885ad8991 100644 --- a/usr.sbin/bgpd/session.h +++ b/usr.sbin/bgpd/session.h @@ -1,4 +1,4 @@ -/* $OpenBSD: session.h,v 1.48 2004/04/28 02:57:01 henning Exp $ */ +/* $OpenBSD: session.h,v 1.49 2004/04/28 06:45:37 henning Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> @@ -147,6 +147,8 @@ struct peer_stats { struct peer_capa { u_int8_t announce; + u_int8_t ann_mp; + u_int8_t ann_refresh; u_int8_t mp_v4; /* multiprotocol extensions, RFC 2858 */ u_int8_t mp_v6; u_int8_t refresh; /* route refresh, RFC 2918 */ |