summaryrefslogtreecommitdiffstats
path: root/usr.sbin/rtadvd
Commit message (Collapse)AuthorAgeFilesLines
* Fixes to man8 groff mandoc style, usage mistakes, or typos.wblock2012-05-241-1/+1
| | | | | | | PR: 168016 Submitted by: Nobuyuki Koganemaru Approved by: gjb MFC after: 3 days
* Remove trailing whitespace per mdoc lint warningeadler2012-03-291-1/+1
| | | | | | | Disussed with: gavin No objection from: doc Approved by: joel MFC after: 3 days
* mdoc: correct .Bd/.Bl arguments.joel2012-03-261-4/+4
| | | | Reviewed by: brueffer
* Spelling fixes for usr.sbin/uqs2011-12-302-3/+3
|
* Remove RA timer on an interface with !IFF_UP actively after starting to sendhrs2011-09-201-0/+15
| | | | | | | | | clean-up RA messages for shutting down. The RA timers could prevent the rtadvd daemon from shutting down because ra_output() just ignored !IFF_UP interfaces and TRANSITIVE->UNCONFIGURED state transition never happened due to it. Spotted by: kib Approved by: re (bz)
* - Fix a bug that can lead to displaying an incorrect value. (r224210)hrs2011-09-127-178/+231
| | | | | | | | | | | | | | - Fix an abnormal termination caused by twice of "rtadvctl disable". (r224303) - Use poll() to wait for the control message socket instead of a spin loop. (r224304) - s/cmsg_/cm_/ to avoid conflict with CMSG_* symbols for struct cmsghdr. (r224619) - Ignore an interface that never sent RAs for graceful shut-down. (r224620) - Refine log messages. (r225148) - Fix SIGSEGV when receiving RAs that contain RDNSS and/or DNSSL options. (r225149) Approved by: re (kib)
* - Improve interface list handling. The rtadvd(8) now supports dynamically-hrs2011-07-1721-1430/+3100
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * - Refactoring the interface list. It now supports dynamicallyhrs2011-07-1421-1182/+2558
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | added/removed interfaces in a more consistent manner and reloading the configuration file. - Add initial support for control socket. RA information in the daemon can be obtained by rtadvctl(8) instead of SIGUSR1 in a similar manner to ifconfig(8). The information dump has been removed in favor of it. (reload the configuration file) # rtadvctl reload (show RA messages being sent on each interfaces) # rtadvctl show em0: flags=<UP,CONFIGURED,PERSIST> status=<RA_SEND> mtu 1280 DefaultLifetime: 30m MinAdvInterval/MaxAdvInterval: 3m20s/3m20s AdvLinkMTU: <none>, Flags: O, Preference: medium ReachableTime: 0s, RetransTimer: 0s, CurHopLimit: 64 AdvIfPrefixes: yes (show RA messages being sent only on em0) # rtadvctl show em0 (rtadvctl -v show provides additional information) # rtadvctl -v show em0 em0: flags=<UP,CONFIGURED,PERSIST> status=<RA_SEND> mtu 1280 DefaultLifetime: 30m MinAdvInterval/MaxAdvInterval: 3m20s/3m20s AdvLinkMTU: <none>, Flags: O, Preference: medium ReachableTime: 0s, RetransTimer: 0s, CurHopLimit: 64 AdvIfPrefixes: yes Prefixes (1): 2001:db8:1::/64 (CONFIG, vltime=30d, pltime=7d, flags=LA) RDNSS entries: 2001:db8:1::128 (ltime=2m40s) (stop rtadvd) # rtadvctl shutdown A remaining issue when reloading the configuration file is that during that period rtadvd cannot communicate with rtadvctl due to some additional RA sending for graceful shutdown. This will be fixed later.
| * - Check RTM_VERSION.hrs2011-06-163-1/+14
| | | | | | | | - Fix WARNS.
| * Merge from HEAD@222975.hrs2011-06-115-51/+142
| |\
| | \
| | \
| *-. \ Merge from HEAD@222848.hrs2011-06-084-18/+11
| |\ \ \
| * | | | Specify requirements for RA sending/receiving based on lifetime,hrs2011-06-052-44/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IFF_ND6_ACCEPT_RTADV, and net.inet6.ip6.forwarding. ra_output: (lifetime == 0) = output (lifetime != 0 && (ACCEPT_RTADV || !ip6.forwarding) = no output ra_input: ACCEPT_RTADV = input !ACCEPT_RTADV = no input Note that the current implementation sends RAs with zero-lifetime even if ip6.forwarding == 0. This behavior is derived from KAME and different from RFC 4861.
| * | | | Support dynamically-added/removed interfaces. The rtadvd(8) daemon detects anhrs2011-06-055-34/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | interface addition/removal via RTM_IFANNOUNCE message and update the internal structure. TO BE FIXED: The advertising interface list still depends on the command line argument. The configuration file cannot be reloaded.
| * | | | Simplify -D for LOG_DEBUG and -d for LOG_INFO.hrs2011-06-051-46/+36
| | | | |
| * | | | Document -M flag and fix a bug in handling of it.hrs2011-06-052-4/+6
| | | | |
| * | | | Rename: s/noonlinkprefix/noifprefix/.hrs2011-06-053-9/+9
| | | | |
| * | | | Reword noonlinkprefix sentences. It is related to prefixes on the networkhrs2011-06-041-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | interfaces, not in the routing table actually. PR: bin/152458
| * | | | "noonlinkprefix" directive has been added. This disables gathering on-linkhrs2011-06-043-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | prefixes from the kernel's routing table. A rtadvd.conf with "noonlinkprefix" + no "addr" generates an RA message with no prefix information option. PR: bin/152458
| * | | | Fix various inconsistencies in symbol naming and data handling whichhrs2011-06-048-1123/+1067
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | made the logic behind them unnecessarily complicated. This change is a preparation to add support of dynamically-added/removed interfaces and the link status changes in a more reliable way. Changes include: - Use queue(3) for linked-list manipulation. - Use consistent variable names. - Use (AF_INET6, s, d, sizeof(d)) instead of (AF_INET6, s, a, INET6_ADDRSTRLEN) for inet_ntop(). - style(9) fixes. No functional change in this commit.
| * | | | - INET6_ADDRSTRLEN does not include \0.hrs2011-06-044-11/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add link-local scope check for received RA messages. RFC 4861 Section 6.1.2 requires this. - Refer RFC 4861 instead of obsoleted RFC 2461.
| * | | | - Fixes for WARNS=6.hrs2011-06-0411-67/+62
| | | | | | | | | | | | | | | | | | | | - Use IFNAMSIZ for an interface name.
| * | | | - Use IANA reserved example.com domain for rtadvd.conf(5).hrs2011-06-047-29/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix 8-octet boundary calculation. Extra 8 octets were added when it was already on an 8-octet boundary. - Typos and style(9) fixes. Submitted by: bz
| * | | | - Add another length check for DNSSL option. A malformed ICMP message can havehrs2011-06-041-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | no '\0' in the search list and/or invalid length field. - NI_MAXHOST is defined including \0.
| * | | | Use strchr() instead of index().hrs2011-06-031-1/+1
| | | | |
| * | | | Fix label encoding/decoding function for RFC 1035 Section 3.1 encoding.hrs2011-06-032-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | Each label can have 63 octets at most, and the length of whole domain name is limited to NI_MAXHOST.
| * | | | - Remove #ifdef RDNSS.hrs2011-05-3114-235/+184
| | | | | | | | | | | | | | | | | | | | | | | | | - Style(9). - Define sin6_{linklocal,sitelocal}_all{nodes,routers} vars consistently.
| * | | | Implemnt RDNSS and DNSSL options (RFC 6106, IPv6 Router Advertisementhrs2011-05-2910-19/+482
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Options for DNS Configuration) into rtadvd(8) and rtsold(8). DNS information received by rtsold(8) will go to resolv.conf(5) by resolvconf(8) script. Lifetime handling is not supported at this moment. Note: when receiving a link-local scope address rtsold(8) adds a scope id into addresses in the script arguments based on the received interface in a representation defined in RFC 4007 (e.g. fe80::1%bge0). However, there are some shell scripts using printf(1) (including resolvconf(8)) cannot process it properly because printf(1) can recognize the character % as special. Based on work by: J.R. Oldroyd PR: kern/156259
* | | | Add sanity check for ifm_version in struct if_msghdr.hrs2011-07-041-0/+6
| |_|/ |/| |
* | | Support SIGHUP for reloading /etc/rtadvd.conf.hrs2011-06-115-51/+142
| |/ |/|
* | Fix a bug that prevents tc=xxx from working.hrs2011-06-071-2/+1
| |
* | - Use ELM_MALLOC() for struct rainfo.hrs2011-06-071-11/+5
| | | | | | | | | | | | | | - Fix a missing back pointer assignment in struct prefix to struct rainfo when addr="" is specified. This caused SIGSEGV. - Insert a prefix element to a tail queue after setting parameters.
* | Set WARNS=1 temporarily to unbreak universe.hrs2011-06-061-1/+1
| |
* | Fix build on 64-bit arch.hrs2011-06-063-5/+5
| | | | | | | | | | Submitted by: dim Pointy hat to: hrs
* | - Implement RDNSS and DNSSL options (RFC 6106, IPv6 Router Advertisementhrs2011-06-0618-1395/+2067
|/ | | | | | | | | | | | | | | | | | | | | Options for DNS Configuration) into rtadvd(8) and rtsold(8). DNS information received by rtsold(8) will go to resolv.conf(5) by resolvconf(8) script. This is based on work by J.R. Oldroyd (kern/156259) but revised extensively[1]. - rtadvd(8) now supports "noifprefix" to disable gathering on-link prefixes from interfaces when no "addr" is specified[2]. An entry in rtadvd.conf with "noifprefix" + no "addr" generates an RA message with no prefix information option. - rtadvd(8) now supports RTM_IFANNOUNCE message to fix crashes when an interface is added or removed. - Correct bogus ND_OPT_ROUTE_INFO value to one in RFC 4191. Reviewed by: bz[1] PR: kern/156259 [1] PR: bin/152458 [2]
* Prevent crashes from a race when (cloned) interfaces go away.bz2011-03-021-4/+6
| | | | | | | PR: bin/152143 Submitted by: Przemyslaw Frasunek (przemyslaw frasunek.com) Tested by: Przemyslaw Frasunek (przemyslaw frasunek.com) MFC after: 1 week
* style.Makefile says tab between var= and value.delphij2010-12-231-2/+2
|
* Allow overriding pidfile and dumpfile.delphij2010-12-223-19/+47
| | | | | | PR: bin/153362 Submitted by: Joe Holden <joe rewt org uk> MFC after: 1 month
* Fix another "string" typo.uqs2010-10-281-1/+1
| | | | MFC after: 3 days
* Correct a typo.bz2010-10-281-1/+1
| | | | MFC after: 3 days
* mdoc: move remaining sections into consistent orderuqs2010-05-131-2/+2
| | | | | | | This pertains mostly to FILES, HISTORY, EXIT STATUS and AUTHORS sections. Found by: mdocml lint run Reviewed by: ru
* The last big commit: let usr.sbin/ use WARNS=6 by default.ed2010-01-021-0/+2
|
* Properly convert bit value to a bit field. Before we were storingimp2009-02-191-2/+2
| | | | | | | | | | values like 0x80 or 0x40 into a uint8_t foo:1 bitfield. This would result in the bit always being 0. One of these caused a warning for overflow (one that was 0x80), but the other didn't. They were both wrong. This is why I hate code that mixes c struct bitfields and #defines. The rest of the fields accessed by the program should be audited.
* - rename the RETURN VALUES section to EXIT STATUS [1]danger2009-01-071-4/+2
| | | | | | | | - convert to .Ex macro - not bumping a date as this is not a real content change Approved by: ru [1] MFC after: 3 days
* Change 2 arc4random modulo operations to arc4random_uniform() asache2008-07-261-2/+2
| | | | | | OpenBSD does, since modulo is not power of 2. Obtained from: OpenBSD
* Cleanup of userland __P usekevlo2007-11-0713-89/+89
|
* o Remove duplicate includes.maxim2007-01-201-1/+0
| | | | Obtained from: Slava Semushin via NetBSD
* These IPv6-only tools have no explicit dependency on the INET6 macro.yar2006-07-271-1/+1
| | | | Tested with: cmp(1)
* avoid heap overrunsuz2006-03-231-1/+1
| | | | | Obtained from: KAME MFC after: 1 day
* fixed a typo in commentsuz2005-11-171-1/+1
|
* changed syslog level to more appropriate onessuz2005-10-191-3/+3
| | | | | | Obtained from: KAME Reviewd by: ume, gnn MFC after: 2 weeks
OpenPOWER on IntegriCloud