summaryrefslogtreecommitdiffhomepage
path: root/src/router.c
AgeCommit message (Collapse)Author
2017-02-10treewide: define and use macro IN6_IS_ADDR_ULAHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-02-09npd: rework IPv6 relay logic (FS#396)Hans Dedecker
Rework the IPv6 relay logic to make it more robust by making use of libnltiny to process netlink messages. At the same time reimplement the IPv6 relay finite state machine to make the relay logic less error prone Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-01-26odhcpd: extra syslog tracingHans Dedecker
Add extra syslog tracing for trouble shooting and make some syslog traces more self explaining Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-01-24router: fix compile issue on 64 bit systemsHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-01-24Revert "router: fix compile issue on 64 targets"Hans Dedecker
This reverts commit 70fbf936839e02d526929be06ecba3059f78be3c.
2017-01-24router: fix compile issue on 64 targetsHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-01-23router: convert syslog lifetime traces into LOG_INFO prioHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-01-21router: add syslog debug tracing for trouble shootingHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-01-21treewide: use RELAYD_MAX_ADDRS as address array sizeHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2016-12-27router: skip parse_routes when ra_default > 1Stijn Tintel
It does not make sense to scan the entire routing table if the decision will be overridden afterwards. This makes it possible to use odhcpd on a router with full IPv6 BGP table, by setting ra_default to 2. Without this change, odhcpd is constantly busy reading /proc/net/ipv6_route, and doesn't respond to router solicitations in time. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2015-11-27config: Close interface when ifindex cannot be resolvedHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-11-16Handle netlink ENOBUFS eventsSteven Barth
2015-10-20Don't overflow router lifetimeWill Mortensen
When a prefix lifetime was greater than UINT16_MAX, we would advertise a shorter router lifetime (even potentially 0). Saturate instead.
2015-10-20Correctly byteswap DNS lifetimes in RAsWill Mortensen
2015-09-07router: don't announce as default router if we aren'tSteven Barth
2015-09-07router: reduce dns lifetime to 10x maximum intervalSteven Barth
2015-09-01Fixup RAs/DHCPv6 announcing incorrect addressesSteven Barth
2015-08-20router/dhcpv6: use link-local addresses for DNSSteven Barth
2015-08-20router: improve deprecation handlingSteven Barth
2015-08-13router: Fix infinite lifetimesHans Dedecker
2015-08-13router: Fix compile issuesHans Dedecker
Fix compile issue due to comparison between signed and unsigned integers
2015-07-27ra/dhcpv6: unify address change handlingSteven Barth
2015-07-24Fix RA lifetimesSteven Barth
2015-07-15router: unify RA router and DNS lifetimeSteven Barth
2015-07-15router: fixup RA lifetime calculationSteven Barth
2015-07-14router: fix invalid router lifetimeSteven Barth
2015-07-14router: fix logic inversionSteven Barth
2015-07-14Remove unsolicited unicast RAs, adjust intervalsSteven Barth
2015-07-13router: only send RAs to neighbors if unsolicitedSteven Barth
2015-07-13router: only send direct RAs to link-local addressesSteven Barth
2015-07-07router: also send RAs to every known neighborSteven Barth
2015-04-10ra: always send current hop limitSteven Barth
2015-03-29Remove prefix coloring support, refine hybrid management modeSteven Barth
2014-10-30Fix IPv6 DNS server adddress selectionHans Dedecker
Fix selection of IPv6 DNS address in DHCPv6 and RA overwrite as an address could be selected with preferred lifetime zero while IPv6 addresses are in use with non zero preferred lifetimes. Fix tries to pick the IPv6 address with the longest preferred lifetime now. Fixes also the issue an IPv6 address with preferred lifetime zero could be returned in DHCPv6 DNS server option while an IPv6 address with non zero preferred lifetime is returned as DNS recursive RA option for the same set of available IPv6 addresses.
2014-10-16router: add support for router addressSteven Barth
2014-10-16router: unicast RAs to RS senders by defaultSteven Barth
2014-08-07ra: don't send MSR for /64 prefix if DP is /64 as wellSteven Barth
2014-07-01DHCPv6 destination address checkHans Dedecker
As described in RFC3315 §15 any solicit, confirm, rebind or information request message is discarded if the destination address is unicast Likewise any request (§18.2.1), renew (§18.2.3), release (§18.2.6) or decline (§18.2.7) message is discarded and the server replies with the status code use multicast.
2014-03-20Don't segfault when there is no IPv6 supportSteven Barth
2014-02-24Don't announce :: as DNSSteven Barth
2014-02-24Fix DNS-server and routes announced in RA for certain prefix casesSteven Barth
2014-02-21Fix wrong address pool being advertisedSteven Barth
2014-02-18Avoid some bloatSteven Barth
2014-02-17Add support for (managed) prefixes of length 65-96Steven Barth
2014-02-17Dynamically calculate RA intervals when prefix lifetimes are shortSteven Barth
2014-01-15Don't rearm rs timer if callback is not setHans Dedecker
2014-01-03Remove ula_compat featureSteven Barth
2013-12-23Readd fixed ICMPv6 validity checkSteven Barth
2013-12-21Revert "Router Advertisement/Solicitation sanity check"Steven Barth
This reverts commit 3f417e55d5208df5b91aa9b101657bbc7a461614.
2013-12-12Revert "Fix Router Advertisement/Solicitation option parsing"Steven Barth
This reverts commit f5877367522aad0b27d138e4a56d01be3bd33f2d.