summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/rde.c
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2005-04-28 13:54:46 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2005-04-28 13:54:46 +0000
commit934b54fb57ccdabbc5621556f361d6f264d7781c (patch)
treee1a8b7bd3a70362a1cf5ecca2a3c517b5db28e41 /usr.sbin/bgpd/rde.c
parent0038c3369dd66655dd155902da4283ca84dc9f36 (diff)
Support for "network connected" and "network static" -- announce all
directly connected respectively all static routes. The list is auto- matically adjusted as soon as a route changes. OK henning@
Diffstat (limited to 'usr.sbin/bgpd/rde.c')
-rw-r--r--usr.sbin/bgpd/rde.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/usr.sbin/bgpd/rde.c b/usr.sbin/bgpd/rde.c
index 73a1c05952b..28f83a64509 100644
--- a/usr.sbin/bgpd/rde.c
+++ b/usr.sbin/bgpd/rde.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rde.c,v 1.157 2005/04/16 19:10:59 cloder Exp $ */
+/* $OpenBSD: rde.c,v 1.158 2005/04/28 13:54:45 claudio Exp $ */
/*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -486,6 +486,16 @@ rde_dispatch_imsg_parent(struct imsgbuf *ibuf)
parent_set = NULL;
network_add(&netconf_p, 1);
break;
+ case IMSG_NETWORK_REMOVE:
+ if (imsg.hdr.len - IMSG_HEADER_SIZE !=
+ sizeof(struct network_config)) {
+ log_warnx("rde_dispatch: wrong imsg len");
+ break;
+ }
+ memcpy(&netconf_p, imsg.data, sizeof(netconf_p));
+ SIMPLEQ_INIT(&netconf_p.attrset);
+ network_delete(&netconf_p, 1);
+ break;
case IMSG_RECONF_FILTER:
if (imsg.hdr.len - IMSG_HEADER_SIZE !=
sizeof(struct filter_rule))