summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhenning <henning@openbsd.org>2004-04-27 04:06:58 +0000
committerhenning <henning@openbsd.org>2004-04-27 04:06:58 +0000
commit3f82f47991615aeb40359b139318b6dc14b47e68 (patch)
tree1b303c9d99c0a05439fba69f194ed72273d54dc6
parentprint route refresh capability if present (diff)
downloadwireguard-openbsd-3f82f47991615aeb40359b139318b6dc14b47e68.tar.xz
wireguard-openbsd-3f82f47991615aeb40359b139318b6dc14b47e68.zip
announce route refresh capability, and parse announced route refresh capa
-rw-r--r--usr.sbin/bgpd/session.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/usr.sbin/bgpd/session.c b/usr.sbin/bgpd/session.c
index c6fd6c01845..d00069e1026 100644
--- a/usr.sbin/bgpd/session.c
+++ b/usr.sbin/bgpd/session.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: session.c,v 1.153 2004/04/27 03:53:43 henning Exp $ */
+/* $OpenBSD: session.c,v 1.154 2004/04/27 04:06:58 henning Exp $ */
/*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -1026,7 +1026,12 @@ session_open(struct peer *p)
errs += buf_add(buf, &capa_mp_v4.afi, sizeof(capa_mp_v4.afi));
errs += buf_add(buf, &capa_mp_v4.pad, sizeof(capa_mp_v4.pad));
errs += buf_add(buf, &capa_mp_v4.safi, sizeof(capa_mp_v4.safi));
+
/* route refresh, RFC 2918 */
+ capa_code = CAPA_REFRESH;
+ capa_len = 0;
+ errs += buf_add(buf, &capa_code, sizeof(capa_code));
+ errs += buf_add(buf, &capa_len, sizeof(capa_len));
}
if (errs == 0) {
@@ -1772,6 +1777,9 @@ parse_capabilities(struct peer *peer, u_char *d, u_int16_t dlen)
break;
}
break;
+ case CAPA_REFRESH:
+ peer->capa.refresh = 1;
+ break;
default:
break;
}