60 Commits

Author SHA1 Message Date
Michael Stapelberg
a881f6b61e cut down on test noise 2018-06-24 12:06:40 +02:00
Michael Stapelberg
ae15230da3 dhcp4d: log in leases callback 2018-06-24 11:56:39 +02:00
Michael Stapelberg
5a07d6696d split integration tests into multiple packages
This makes them complete more quickly (because they are run in parallel) and
invalidates only the cache for the integration test I’m working on, not for all
of them.
2018-06-24 11:46:49 +02:00
Michael Stapelberg
2ff269bf67 unflake integration: use different interface name in DHCPv6 test 2018-06-24 08:33:39 +02:00
Michael Stapelberg
c96c683e43 dns: send NXDOMAIN for non-existant local names 2018-06-23 22:15:35 +02:00
Michael Stapelberg
3886367a32 remove TODOs: the sysctls have reasonable defaults 2018-06-23 20:34:42 +02:00
Michael Stapelberg
bf2c12a69d netconfigd: export ipv4/ipv6 packet/bytes counters on :8066 2018-06-23 19:56:34 +02:00
Michael Stapelberg
3ba84074c7 dhcp4d: send replies as unicast using raw sockets
Preferring unicast over multicast (which hogs a lot of airtime on WiFi networks)
is a best practice.

Some device/access point vendor combinations even seem to entirely eat (some?)
broadcast traffic (sometimes), e.g. my Apple iPhone SE/Ubiquiti UAP-AC-HD, so
that using unicast is required for reliable WiFi.
2018-06-23 17:46:53 +02:00
Michael Stapelberg
301d4c0d00 dhcp4d: always set broadcast flag for DHCPOFFERs
We always broadcast them, so we should signal that.
2018-06-22 18:35:23 +02:00
Michael Stapelberg
37bf17e1b7 make binaries cope with Squashfs root 2018-06-22 17:59:23 +02:00
Michael Stapelberg
5e11eae951 fix dhcp4d_test for larger pool 2018-06-19 09:46:29 +02:00
Michael Stapelberg
957e4de03a no-op: only one branch results in DHCPNAK 2018-06-18 19:29:58 +02:00
Michael Stapelberg
34d494b85c dhcp4d: increase lease range to cover existing leases 2018-06-18 19:29:42 +02:00
Michael Stapelberg
4b6b5196b0 dns: correctly resolve PTR for hostname 2018-06-18 09:44:46 +02:00
Michael Stapelberg
c743091929 dns: track number of questions and which upstream was used 2018-06-18 09:35:14 +02:00
Michael Stapelberg
24e2d5de00 dnsd: serve prometheus metrics on port 8053 2018-06-18 08:04:56 +02:00
Michael Stapelberg
0e6add220c notify dyndns from netconfigd, i.e. _after_ applying addresses 2018-06-17 20:44:25 +02:00
Michael Stapelberg
ffc18ec527 diag: display ICMP echo source address (for ff02::2%uplink0) 2018-06-17 20:24:56 +02:00
Michael Stapelberg
8b85084429 dhcp4: persist DHCPACK to renew existing lease after reboot 2018-06-15 17:30:57 +02:00
Michael Stapelberg
d2ecb190ac dhcp4: skip DHCPDISCOVER when renewing 2018-06-15 09:58:51 +02:00
Michael Stapelberg
32dd03c7f2 dhcp4d: copy reqIP, its backing storage gets reused 2018-06-15 09:56:07 +02:00
Michael Stapelberg
a1c4d60666 netconfig: implement support for port ranges 2018-06-14 22:25:39 +02:00
Michael Stapelberg
390c2af7db netconfig: implement UDP port forwardings 2018-06-14 21:05:43 +02:00
Michael Stapelberg
93eaab99cb dns: resolve own hostname, lock for concurrency 2018-06-14 20:42:53 +02:00
Michael Stapelberg
02c7fa7e0d dns: serve reverse lookup queries for all RFC 1918 reserved networks 2018-06-14 20:24:44 +02:00
Michael Stapelberg
fdd2201ef5 netconfig: prevent duplicate error messages 2018-06-14 18:28:40 +02:00
Michael Stapelberg
03b2345eb2 netconfig: flush nftables ruleset, replace DHCPv6 address 2018-06-14 08:27:08 +02:00
Michael Stapelberg
19aa03bf58 dhcp4: specify previous IP address when renewing 2018-06-13 19:32:20 +02:00
Michael Stapelberg
43e1b2eaae radvd: also set hop limit to 255 for multicast packets 2018-06-12 09:30:01 +02:00
Michael Stapelberg
589e2ae43d netconfig: replace routes, not add 2018-06-12 09:29:53 +02:00
Michael Stapelberg
4c69109db5 dhcp4d: implement permanent leases (no expiration) 2018-06-12 08:21:07 +02:00
Michael Stapelberg
d21822f531 dhcp4d: implement loading leases files from persistent storage 2018-06-09 15:18:01 +02:00
Michael Stapelberg
f9c3c23b16 dhcp4d: implement lease expiration 2018-06-09 15:04:54 +02:00
Michael Stapelberg
ea476bbb04 remove accidentally committed router7.test binaries 2018-06-08 16:51:50 +02:00
Michael Stapelberg
c37ddf4f6e integrationradvd: unflake test 2018-06-08 16:51:33 +02:00
Michael Stapelberg
4baac19e13 radvd: skip advertisments when no prefixes are configured 2018-06-08 16:50:27 +02:00
Michael Stapelberg
3561ec3708 dhcp4d: offer requested address if available 2018-06-07 08:39:47 +02:00
Michael Stapelberg
0152ef3601 netconfig: implement port forwardings 2018-06-05 08:51:51 +02:00
Michael Stapelberg
320ca04a2f netconfig: use oifname instead of oif 2018-06-05 08:48:30 +02:00
Michael Stapelberg
21ca224281 netconfig: switch from iptables to nft 2018-06-04 10:01:09 +02:00
Michael Stapelberg
1b004597c1 netconfig: implement spoof_hardware_addr for easier testing 2018-06-04 08:30:57 +02:00
Michael Stapelberg
2ef8bf6ea0 dnsd/dhcp4d: listen on configured address (not hard-coded) 2018-06-04 08:22:45 +02:00
Michael Stapelberg
763aa18a74 netconfig: write /etc/resolv.conf 2018-06-04 07:59:25 +02:00
Michael Stapelberg
48ddf81147 netconfig: apply IPv6 address to lan0, not uplink0 2018-06-03 20:35:41 +02:00
Michael Stapelberg
518b9f843c add the diagnostics daemon 2018-06-03 20:05:13 +02:00
Michael Stapelberg
7164b27041 dhcp6: specify the prefix delegation option 2018-06-03 20:03:07 +02:00
Michael Stapelberg
3cadbdd7aa dhcp6: hook up SIGUSR2 to DHCPRELEASE 2018-06-02 21:00:56 +02:00
Michael Stapelberg
1e62de50bd factor dnsmasq code into testing helper, verify dhcp6 client id 2018-06-02 18:05:09 +02:00
Michael Stapelberg
7d2205c295 dhcp6: implement support for client identifier 2018-06-02 18:01:44 +02:00
Michael Stapelberg
26a22667b2 netconfig: missing lease.json is no error 2018-06-02 17:38:17 +02:00