diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2005-04-28 13:54:46 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2005-04-28 13:54:46 +0000 |
commit | 934b54fb57ccdabbc5621556f361d6f264d7781c (patch) | |
tree | e1a8b7bd3a70362a1cf5ecca2a3c517b5db28e41 /usr.sbin/bgpd/rde.c | |
parent | 0038c3369dd66655dd155902da4283ca84dc9f36 (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.c | 12 |
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)) |