summaryrefslogtreecommitdiffhomepage
path: root/src/ndp.c
AgeCommit message (Collapse)Author
2017-07-04ndp: optimize check_addr6_updates codeHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-07-04ndp: fix syslog tracing for netlink neigbor and address eventsHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-07-03treewide: rework logic to retrieve IPv6 interface addressesHans Dedecker
Retrieve IPv6 interface addresses when the interface gets created; this allows to get rid of the IPv6 address dump logic in ndp.c. Add IPv4 address support in odhcp_ipaddr struct. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-06-29treewide: rework code to get rid of fixed IPv6 address arraysHans Dedecker
Rework code to get rid of RELAYD_MAX_PREFIXES and RELAYD_MAX_ADDRS by using dynamic IPv6 address array allocation. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-05-04ndp.c: add switch/case fallthrough commentsFelix Fietkau
Fixes gcc 7 build errors Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-04-28ndp: don't trigger IPv6 ping when neighbor entry is invalidHans Dedecker
A ping for an IPv6 address not present on an interface will generate a netlink neighbor message with as status fail; launching again an IPv6 ping on other proxy enabled interfaces will create a cascade effect of netlink neighbor messages with as status fail which in its turn will again trigger an IPv6 ping on proxy enabled interfaces ... Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-04-28ndp: fix adding proxy neighbor entriesHans Dedecker
Proxy neighbor entries were not created for proxy enabled interfaces if the first interface was not enabled Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-04-27ndp: fix wrong interface name in syslog messageHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-03-29ndp: keep an exact copy of IPv6 interface addressesHans Dedecker
Don't reset the final 32 bit IPv6 host suffix when storing the IPv6 addresses in the interface structure. This will allow exact lookup aand return of IPv6 addresses stored in the interface structure when needed. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-03-29ndp: code cleanupHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-03-29rework IPv6 address dump logicHans Dedecker
Make the code more logical by moving the IPv6 address dump logic into the different protocol interface enable handlers so it's clear which protocols require interface IPv6 address tracking. At the same time restructure the IPv6 address dump logic so less IPv6 address netlink dumps are created. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-03-13ndp: add syslog debug tracingHans Dedecker
Add extra LOG_DEBUG syslog tracing for trouble shooting Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-02-10treewide: define and use macro IN6_IS_ADDR_ULAHans Dedecker
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-02-10ndp: deregister netlink event socket for non recoverable errorsHans Dedecker
Deregister netlink event socket in case of error different from ENOBUFS or failure to set netlink rx buffer size Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-02-09ndp: harden netlink event socket error handlingHans Dedecker
Start with a netlink receive buffersize of 130k for the netlink event socket; double the netlink receive buffer size in case an ENOBUFS is reported. Also align function naming and its parameters. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-02-09ndp: close proc file descriptor also during error handlingHans 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-31odhcpd: properly handle netlink messages (FS#388)Hans Dedecker
Use libnl-tiny to construct and process netlink messages when manipulating IPv6 routes and fetching IPv6 addresses. This fixes lingering netlink error messages on the netlink socket in case route deletion failed causing fetching of IPv6 addresses to be aborted and odhcpd faultly assuming no IPv6 addresses being present on the interface.
2017-01-23treewide: rework prio of syslog messagesHans Dedecker
Rework prio of syslog messages allowing to filter out the relevant messages by setting the correct log level Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2017-01-23ndp: code cleanupHans Dedecker
ia_reconf is only set but nowhere used; so let's remove it ... 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>
2017-01-21ndp: don't scan netlink attributes in case of netlink route eventHans Dedecker
In case a netlink route event is received for a default route netlink data attributes were faulty processed as neigbor netlink data. Fix this by not processing any netlink attribute for any route event. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
2015-11-16Handle netlink ENOBUFS eventsSteven Barth
2015-07-27ra/dhcpv6: unify address change handlingSteven Barth
2015-07-14ndp: reintroduce address replaySteven Barth
2015-07-14Remove unsolicited unicast RAs, adjust intervalsSteven Barth
2015-07-14ndp: fixup relaySteven Barth
2015-07-14ndp: remove bindtodevice workaroundSteven Barth
2015-07-13ndp: fixup route replicationSteven Barth
2015-07-07router: also send RAs to every known neighborSteven Barth
2015-07-07ndp: replay on-link routes instead of address assignmentsSteven Barth
2015-06-30ra: keep alive neighbor entries so we can send unicast RAs in the futureSteven Barth
2015-03-30properly handle return codesJohn Crispin
Signed-off-by: John Crispin <blogic@openwrt.org>
2014-10-17ndp: more fixesSteven Barth
2014-10-17ndp: fix proxying behaviorSteven Barth
2014-10-17ndp: fix proc-settingSteven Barth
2014-10-16Begin rewrite of NDP-relaySteven Barth
2014-07-22Revert "rewrite of NDP proxy" for nowSteven Barth
2014-07-17Fix compilationSteven Barth
2014-07-17Add missing NDP sync featuresSteven Barth
2014-07-16Initial rewrite of NDP proxySteven Barth
2014-07-14odhcpd: only enable packet socket if really neededSteven 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-25Fix parsing of static ndp entriesHans Dedecker
2014-02-17Add support for (managed) prefixes of length 65-96Steven Barth
2014-01-17Don't enable relay master if no slaves are presentSteven Barth
2013-12-31ndp: Enable ping6 keep-aliveSteven Barth
2013-12-05Fix possible SEGFAULT conditionsHans Dedecker