diff options
author | hrs <hrs@FreeBSD.org> | 2011-07-17 19:24:54 +0000 |
---|---|---|
committer | hrs <hrs@FreeBSD.org> | 2011-07-17 19:24:54 +0000 |
commit | 0796dbc1809a43dc3a739a2b446ba0a630c90834 (patch) | |
tree | 2ab0459cdd5d75d697c56b61fae106e6e4db759b /usr.sbin/rtadvd/config.h | |
parent | 7c97535d94df77a599661f9c59a3379f8402e88b (diff) | |
parent | cdcbea6ad239dd44f37a01b119599e17dac4a5a8 (diff) | |
download | FreeBSD-src-0796dbc1809a43dc3a739a2b446ba0a630c90834.zip FreeBSD-src-0796dbc1809a43dc3a739a2b446ba0a630c90834.tar.gz |
- Improve interface list handling. The rtadvd(8) now supports dynamically-
added/removed interfaces in a more consistent manner and reloading the
configuration file.
- Implement burst unsolicited RA sending into the internal RA timer framework
when AdvSendAdvertisements and/or configuration entries are changed as
described in RFC 4861 6.2.4. This fixes issues that make termination of the
rtadvd(8) daemon take very long time.
An interface now has three internal states, UNCONFIGURED, TRANSITIVE, or
CONFIGURED, and the burst unsolicited sending happens in TRANSITIVE.
See rtadvd.h for the details.
- rtadvd(8) now accepts non-existent interfaces as well in the command line.
- Add control socket support and rtadvctl(8) utility to show the RA information
in rtadvd(8). Dumping by SIGUSR1 has been removed in favor of it.
Diffstat (limited to 'usr.sbin/rtadvd/config.h')
-rw-r--r-- | usr.sbin/rtadvd/config.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/usr.sbin/rtadvd/config.h b/usr.sbin/rtadvd/config.h index 01886a6..219390b 100644 --- a/usr.sbin/rtadvd/config.h +++ b/usr.sbin/rtadvd/config.h @@ -30,9 +30,12 @@ * SUCH DAMAGE. */ -extern int getconfig(int); -extern int rmconfig(int); -extern int loadconfig(char *[], const int); +extern struct ifinfo *getconfig(struct ifinfo *); +extern int rm_ifinfo(struct ifinfo *); +extern int rm_ifinfo_index(int); +extern int rm_rainfo(struct rainfo *); +extern int loadconfig_ifname(char *); +extern int loadconfig_index(int); extern void delete_prefix(struct prefix *); extern void invalidate_prefix(struct prefix *); extern void update_prefix(struct prefix *); @@ -40,7 +43,6 @@ extern void make_prefix(struct rainfo *, int, struct in6_addr *, int); extern void make_packet(struct rainfo *); extern void get_prefix(struct rainfo *); - /* * it is highly unlikely to have 100 prefix information options, * so it should be okay to limit it |