Yu Watanabe
b5cc5591fa
netif-util: move several functions from network-util.[ch] to shared/netif-util.[ch]
...
These functions are not relevant to sd-network, and only used by
networkd, networkctl, and udevd.
2021-11-09 08:24:10 +09:00
Yu Watanabe
59aa622013
network: dhcp-server: introduce Router= setting to specify router address
...
Closes #21202 .
2021-11-03 03:15:00 +09:00
Yu Watanabe
aa5a0f959c
sd-dhcp6-client: simplify code a bit
...
Also this adds a note.
2021-11-01 23:13:08 +09:00
Yu Watanabe
0936c189c9
sd-dhcp6-client: do not implicitly cast to boolean
2021-11-01 23:13:08 +09:00
Yu Watanabe
e79b4b8534
sd-dhcp6-client: introduce dhcp6_lease_{get,set}_clientid()
2021-11-01 23:13:08 +09:00
Yu Watanabe
65457c17e6
sd-dhcp6-client: shorten code a bit
2021-11-01 23:13:08 +09:00
Yu Watanabe
4f81f0d241
sd-dhcp6-client: prefix variables which store results with "ret_"
2021-11-01 23:13:08 +09:00
Yu Watanabe
d3aa9d6a80
sd-dhcp6-client: update log messages
2021-11-01 23:13:08 +09:00
Yu Watanabe
7e6abd25f4
Merge pull request #21200 from yuwata/sd-dhcp6-client-server-address
...
sd-dhcp6-client: introduce sd_dhcp6_lease_get_server_address()
2021-11-01 21:04:48 +09:00
Yu Watanabe
3b73ebc08a
Merge pull request #21199 from yuwata/sd-dhcp6-client-trivial-cleanups
...
sd-dhcp6-client: trivial cleanups
2021-11-01 21:04:05 +09:00
Yu Watanabe
ef4edc1546
sd-dhcp6-client: introduce sd_dhcp6_lease_get_server_address()
2021-11-01 18:22:49 +09:00
Yu Watanabe
2c269a4e2a
sd-lldp-tx: drop unused and useless function
...
sd-lldp-tx does not call any callback function. So, the function is
mostly useless.
2021-11-01 08:57:17 +00:00
Yu Watanabe
7f402e5b7b
sd-dhcp6: drop unused functions
2021-11-01 08:56:42 +00:00
Yu Watanabe
01b4e90f32
sd-dhcp6-client: request IA_PD by default
...
For consistency with 0f5ef9b62a .
2021-11-01 10:02:50 +09:00
Yu Watanabe
5e82251913
sd-dhcp6-client: always set suitable ARP type
...
Also, drops unnecessary comparisons.
2021-11-01 09:51:52 +09:00
Yu Watanabe
6db9b30066
Merge pull request #21175 from tohojo/dhcp-server-expire
...
sd-dhcp-server: clear out expired leases when finding new address
2021-10-30 04:13:40 +09:00
Toke Høiland-Jørgensen
cb3c06a02e
sd-dhcp-server: fix address availability checks
...
The checks for finding a new available address in the pool were broken in two
ways: not using UINT32_TO_PTR() on hashmap lookups resulted in false negatives,
and the check wasn't skipping the server address if that was part of the pool.
Move the check for available addresses to a small helper function and fix both
issues, and also add a check to the REQUEST code for the server address.
2021-10-29 15:29:05 +02:00
Toke Høiland-Jørgensen
d635a7f9e4
sd-dhcp-server: clear out expired leases when processing requests
...
The DHCP server configuration supports setting a maximum lease time, but old
leases are never actually cleared out if the client doesn't send a RELEASE.
This causes the pool to run out of addresses on networks where clients just
disappear, which is a fairly common occurrence on wireless networks.
Fix this by cleaning up expired leases before processing client requests, so
addresses can be reused for new clients.
2021-10-29 15:29:05 +02:00
Yu Watanabe
17347053cf
libsystemd-network: drop _public_ attribute
...
No function in libsystemd-network is exposed yet.
2021-10-29 22:13:23 +09:00
Yu Watanabe
41521417ab
sd-radv: fix implicit conversion to boolean
2021-10-29 22:10:43 +09:00
Yu Watanabe
9661d2e80c
sd-ndisc: drop unused functions
...
All received information is stored in sd_ndisc_router, and we have
sd_ndisc_router_get_mtu() and sd_ndisc_router_get_hop_limit().
2021-10-29 22:05:27 +09:00
Yu Watanabe
d951507d5d
sd-radv: shorten the default lifetime for prefix/route prefix
...
See draft-ietf-6man-slaac-renum-02 section 4.1.1.
2021-10-27 23:58:35 +09:00
Yu Watanabe
95e104e049
sd-radv: make prefix/route prefix lifetime can be specified with independently with valid_until
...
Previously, valid_until (or preferred_until for preferred lifetime) was
calculated from lifetime. So, when an upstream interface acquire a
dynamic prefix (e.g. through DHCPv6-PD) with long lifetime, then sd-radv
advertise the same lifetime. It may not be desired for some situations.
2021-10-27 23:58:28 +09:00
Yu Watanabe
eef5ebec97
Merge pull request #21143 from yuwata/sd-radv-router-lifetime
...
sd-radv: several cleanups for router lifetime
2021-10-27 22:14:35 +09:00
Yu Watanabe
804775577d
sd-radv: update how to calculate interval of sending advertisements
2021-10-27 19:27:23 +09:00
Yu Watanabe
0945767012
sd-radv: router lifetime must be 0 or between 4 seconds and 9000 seconds
...
See RFC 4861 section 6.2.1.
2021-10-27 19:27:07 +09:00
Yu Watanabe
72db0a714b
sd-radv: introduce RADV_DEFAULT_ROUTER_LIFETIME_USEC
2021-10-27 19:05:55 +09:00
Yu Watanabe
e786c2e50f
sd-radv: add several notes about constants
2021-10-27 19:03:58 +09:00
Yu Watanabe
03ec10fdf4
sd-radv: make several constants not exposed
2021-10-27 19:03:35 +09:00
Yu Watanabe
d6fc0d674f
sd-radv: drop SD_ prefix for unexposed constants
2021-10-27 19:03:31 +09:00
Yu Watanabe
68cbac5bd4
sd-radv: use IPv6 specific functions
2021-10-27 16:41:04 +09:00
Yu Watanabe
acbb5500e2
sd-radv: use assert_return()
2021-10-27 16:41:04 +09:00
Yu Watanabe
7003b11487
sd-radv: make sd_radv_set_router_lifetime() take usec_t (uint64_t)
2021-10-27 16:13:09 +09:00
Yu Watanabe
a84171ce6f
libsystemd-network: do not warn when log_dhcp_client() or friends with NULL
2021-10-26 08:09:40 +09:00
Yu Watanabe
113e124f9b
icmp6: shorten code a bit
2021-10-21 22:40:03 +09:00
Yu Watanabe
ea51deb188
dhcp: shorten BPF code a bit
...
- replace `A = k` and `X = A` with `X = k`,
- replace `A ^= X` and `A == 0` with `A == X`.
- use UINT32_MAX when accept a packet
2021-10-21 22:39:53 +09:00
Yu Watanabe
155943b259
dhcp: rebreak function arguments
2021-10-21 22:39:43 +09:00
Yu Watanabe
b8319d748f
dhcp: fix assertions
2021-10-21 22:39:43 +09:00
Yu Watanabe
d70c78131d
dhcp: shorten code a bit
2021-10-21 22:39:43 +09:00
Yu Watanabe
36f1955da8
lldp: shorten code a bit
2021-10-21 22:39:43 +09:00
Yu Watanabe
e2c7c38b74
arp-util: shorten BPF code a bit
...
- replace `A = k` and `X = A` with `X = k`,
- replace `A ^= X` and `A == 0` with `A == X`.
- use UINT32_MAX when accept a packet
2021-10-21 22:39:25 +09:00
Yu Watanabe
653ddc1d18
sd-dhcp6-client: introduce sd_dhcp6_lease_get_timestamp()
2021-10-20 02:36:20 +09:00
Yu Watanabe
7502812c92
sd-dhcp6-client: max_retransmit_time must be positive
...
Found by LGTM.com analysis.
2021-10-13 02:49:49 +09:00
Yu Watanabe
fea8c18085
sd-dhcp6-client: introduce dhcp6_option_can_request()
2021-10-13 02:49:49 +09:00
Yu Watanabe
f5e3619b70
sd-dhcp6-client: add missing options
2021-10-12 20:48:19 +09:00
Yu Watanabe
ac94edc857
sd-dhcp6-client: add missing parenthesis
2021-10-12 20:48:19 +09:00
Yu Watanabe
59f1ded834
sd-dhcp6-client: add missing message types
...
This also changes the prefix: DHCP6_ -> DHCP6_MESSAGE_.
2021-10-12 20:48:19 +09:00
Yu Watanabe
b261b5f416
sd-dhcp6-client: name one more enum
2021-10-12 20:48:19 +09:00
Yu Watanabe
dd5e9378a2
sd-dhcp6-client: typedef several enums
...
Also introduces _MAX and _INVALID for several enums.
2021-10-12 20:48:19 +09:00
Zbigniew Jędrzejewski-Szmek
78ae9d3100
Merge pull request #20853 from yuwata/network-radv-set-default-timeouts
...
network: RADV: set default timeouts
2021-10-12 10:49:03 +02:00