Commit Graph

144 Commits

Author SHA1 Message Date
Steven Barth
1c82c32e7d 6rd: Clear correct IPv6 address bits in 6rdcalc
The correct bits are now cleared in the IPv6 address as the shift
value to the correct byte in the IPv6 address was wrong. Depending
on the stack values this could result in a hanging 6rdcalc program
due to an endless loop.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38818 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-16 09:18:14 +00:00
Steven Barth
c789acfbbb odhcp6c: Multiple improvements and fixes
* Various RFC compliance fixes (thanks to Hans Dedecker)
* Fix RA spam filter logic causing ipv6 connection issues
* Fix parameters -F and -P being order dependent

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38577 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-29 13:23:28 +00:00
Steven Barth
4805656f76 odhcp6c: filter similar RAs spammed by some ISPs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38505 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-23 10:31:06 +00:00
Steven Barth
ddd9ba8547 6relayd: reduce fallout of RA spamming a bit
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38488 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-21 10:26:57 +00:00
Steven Barth
092ba3c09a odhcp6c: fix parsing of IA_PD adverts
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38433 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-17 07:19:32 +00:00
Steven Barth
da88af3641 odhcp6c: various fixes
* Make SOL_MAX_RT configurable and default back to 120s
* Prefer servers with bigger prefixes (allows to use Comcast /60)
* Don't hang indefinitely if DHCPv6 REQUEST is not answered

Signed-off-by: Steven Barth <steven@midlink.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38393 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-14 18:53:02 +00:00
Steven Barth
9f6f08e80d odhcp6c: improve server selection, introduce "forceprefix" option
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38314 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-07 08:43:33 +00:00
Steven Barth
09838598c1 odhcp6c: validate hop-limit on RAs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38285 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-02 14:16:05 +00:00
Steven Barth
a21d544dc5 6relayd: remove compat ULA setting by default (too many bad sideeffects)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38283 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-02 06:14:39 +00:00
Steven Barth
880d5d81a2 odhcp6c: handle NoAddrsAvail IA-status
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38092 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-21 10:54:13 +00:00
Steven Barth
c89032631c odhcp6c: Restart when server returns IAID error
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38032 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-18 10:27:15 +00:00
Steven Barth
e7aed7d6a9 odhcp6c: Timing workaround for buggy servers
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37951 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-12 12:57:42 +00:00
Steven Barth
f919a7b85b odhcp6c: more compatibility fixes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37907 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-05 21:13:51 +00:00
Steven Barth
4b105ab178 6relayd: Overridden DNS should affect DHCPv6
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37558 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-26 11:59:25 +00:00
Steven Barth
33fbf466a8 6relayd: Fix DHCPv6-PD with continuous hints
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37370 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-16 12:07:06 +00:00
Steven Barth
d867d59821 odhcp6c: avoid integer overflows in resend logic
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37150 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-03 16:14:24 +00:00
Steven Barth
02cdd819fb odhcp6c: add missing config parameter
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37148 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-03 13:50:06 +00:00
Florian Fainelli
50e5b62bcd 6relayd: prevent build on AVR32
AVR32 misses a bunch of updated syscalls, including timerfd_create()
which is used by 6relayd. Since that requires Linux/libc changes, just
prevent building it for now.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37040 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-27 15:33:05 +00:00
Steven Barth
c4eb9cde4d odhcp6c: Add missing config option "ifaceid"
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37033 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-25 05:18:20 +00:00
Steven Barth
2978fda395 6relayd: don't accidentally remove regular prefix routes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37018 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-23 16:26:09 +00:00
Steven Barth
065773c16e 6relayd: fix lease-update behaviour for clients without reconfigure
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37011 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-22 08:31:28 +00:00
Steven Barth
cffbfac7f9 6relayd: Keep PD-downstream across RENEW/REBIND
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37009 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-22 08:19:25 +00:00
Steven Barth
28f17b5ff9 6relayd: Fix DHCPv6-PD assignment logic
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36980 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-21 06:15:09 +00:00
Steven Barth
ae618e0e3e 6relayd: correctly set downstream routes for DHCPv6-PD
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36969 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-19 13:08:33 +00:00
Steven Barth
a84a14bb3b odhcp6c: Add option to override interface identifier in RA-client
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36959 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-18 12:51:14 +00:00
Steven Barth
97065080b9 odhcp6c: add sanity checks for NDP and MTU parameters from RAs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36930 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-13 06:38:48 +00:00
Steven Barth
9a246f0762 6relayd: make route preference and prefix on-link flag configurable
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36922 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-11 20:52:27 +00:00
Steven Barth
c73c43a3a0 6relayd: Work around Windows DHCPv6 quirks
Announcing deprecated addresses breaks Windows clients

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36815 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-01 17:51:02 +00:00
Steven Barth
3a67765ef7 odhcp6c: work around spurious false-positive address DECLINEs
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36809 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-31 13:49:17 +00:00
Steven Barth
4a532d16c3 odhcp6c: fix handling of multiple RAs in a row
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36804 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-31 10:02:39 +00:00
Steven Barth
e547011ac2 6relayd: Better compatibility with misbheaving DHCPv6 clients
* Make the "best" address / prefix the first one being announced
* Only add the "best" address to the hosts-file

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36772 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-30 15:42:30 +00:00
Steven Barth
5223919c3f 6relayd: more verbosity in leases and logging
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36764 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-30 07:56:55 +00:00
Steven Barth
929c94d94e odhcp6c: fix or debug disappearing IPv6 addresses
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36745 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-28 16:28:14 +00:00
Steven Barth
cf58fd647b 6relayd: RFC 6204 and naming improvements
* Announce delegated prefixes using route info according to RFC 6204 L-3
* Enable hybrid stateless + stateful DHCPv6-mode as default

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36738 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-27 20:38:13 +00:00
Steven Barth
2427e3c873 6relayd: Fix DHCPv6-server picking up addresses from master interface
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36718 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-26 10:06:02 +00:00
Steven Barth
7c4f549443 6relayd: fix a lease-timing issue with stateful DHCPv6
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36702 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-24 12:31:30 +00:00
Steven Barth
3ba70f3735 6relayd: Let OpenWrt override default CFLAGS
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36690 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-22 11:58:54 +00:00
Steven Barth
b9453b277b 6relayd: Fix a segfault when multiple downstream interfaces are present
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36687 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-21 18:05:37 +00:00
Steven Barth
8e44875fa6 odhcp6c: Various fixes
* Honour T1 and T2 values from servers better
* Correctly send Reconfigure-Accept option in requests

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36678 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-21 09:13:48 +00:00
Steven Barth
4b922c28c7 6relayd: Various DHCPv6-fixes
* Be more standards-compliant in stateful mode
* Handle hostnames from Windows-clients correctly
* Handle messages from DHCPv6-relays better

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36677 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-21 09:13:40 +00:00
Steven Barth
faf3d16ffa odhcp6c: Fix address / prefix expiry logic
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36675 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-20 14:54:20 +00:00
Steven Barth
e474674f51 6relayd: Add stateful DHCPv6-support (IA_NA)
* Add management_level option (0: set O-flag, >=1: set M-flag)
* Add support for static DHCPv6-leases
* Various fixes for DHCPv6-PD

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36654 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-17 14:44:07 +00:00
Steven Barth
6e1d7c26c9 odhcp6c: Fix handling of RAs when no DHCPv6-server is present
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36641 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-15 11:07:01 +00:00
Felix Fietkau
a9020a0859 package: fold the IPv6 menu into Network
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36634 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-14 15:02:31 +00:00
Steven Barth
cf6fa4f194 6relayd: Always announce the current MAC-address
* Fixes #13516 thanks to berni for the detailed bugreport.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36629 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-13 17:54:36 +00:00
Steven Barth
7171040fb1 ds-lite: add ds-lite network protocol handler
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36628 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-13 17:12:39 +00:00
Steven Barth
1f64838bbc odhcp6c: added support for DS-Lite + various fixes
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36625 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-13 17:12:25 +00:00
Steven Barth
9d99dd82f9 6rd: increase metric of default route
This will prefer native IPv6 over 6rd if both are present.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36605 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-12 08:07:15 +00:00
Steven Barth
528c719a3f odhcp6c: Make SLAAC-only work without reqprefix=no
Previously if the upstream router did not provide any DHCPv6-service
the wan6 interface would not come up even if RAs were received. The new
behavior allows the wan6 interface to comeup with RA-only configuration
after a timeout of 10s.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36555 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-06 10:20:43 +00:00
Steven Barth
d7fe9e70d8 6relayd: Fix generation of RA-messages
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36419 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-24 18:22:08 +00:00