Yu Watanabe
8664ded716
dhcp: split dhcp-internal.h into two
2023-10-21 01:54:08 +09:00
Yu Watanabe
40e4be7e8e
dhcp: move DHCP client specific definitions to dhcp-client-internal.h
2023-10-21 01:54:08 +09:00
Yu Watanabe
9bcbb61458
dhcp: split out dhcp-network.h from dhcp-internal.h
2023-10-21 01:54:07 +09:00
Yu Watanabe
8320db407c
dhcp: move DHCPState to dhcp-client-internal.h
...
All other definitions in dhcp-protocol.h are common for client and
server. Let's move DHCP client specific definitions.
2023-10-21 01:54:07 +09:00
Yu Watanabe
f3d84e20c9
fuzz: include library headers first
2023-10-21 01:54:07 +09:00
Lennart Poettering
bd1ae17833
io-util: split out "struct iovec" related calls into their own .c/.h files
...
This is preparation for #28891 , which adds a bunch more helpers around
"struct iovec", at which point this really deserves its own .c/.h file.
The idea is that we sooner or later can consider "struct iovec" as an
entirely generic mechanism to reference some binary blob, and is the
go-to type for this purpose whenever we need one.
2023-10-20 10:34:33 +02:00
Frantisek Sumsal
4820c9d417
fuzz: unify logging setup
...
Make sure we don't log anything when running in "fuzzing" mode. Also,
when at it, unify the setup logic into a helper, pretty similar to
the test_setup_logging() one.
Addresses:
- https://github.com/systemd/systemd/pull/29558#pullrequestreview-1676060607
- https://github.com/systemd/systemd/pull/29558#discussion_r1358940663
2023-10-19 10:05:20 +01:00
Yu Watanabe
39ba10f19e
sd-dhcp-server: make sd_dhcp_server_is_running() silently work with NULL
...
We already do in the same way for sd-dhcp-client and friends.
2023-10-12 18:35:59 +09:00
Yu Watanabe
a91b888fff
sd-dhcp-client: support IPv6 only mode
...
This makes sd-dhcp-client optionally request IPv6 only preferred
option (RFC 8925).
2023-10-11 21:42:13 +09:00
Susant Sahani and Yu Watanabe
14bd102e3c
sd-dhcp-server: support IPv6 only mode
...
This makes sd-dhcp-server send IPv6 only preferred option (RFC 8925).
Co-authored-by: Yu Watanabe <watanabe.yu+github@gmail.com >
2023-10-11 21:42:13 +09:00
Yu Watanabe
042c91459a
fuzz: suppress log messages
2023-10-06 13:26:16 +09:00
Yu Watanabe
8b50b3198b
libsystemd-network: introduce $SYSTEMD_NETWORK_TEST_MODE environment variable
...
Then, drop dhcp_client_set_test_mode() and friends.
2023-10-06 13:25:23 +09:00
Alexandre Peixoto Ferreira
13abd00685
sd-dhcp-client: reject NAKs from servers that we did not send an offer to ( #29290 )
...
To support multiple DHCP servers in a network.
2023-09-25 11:46:41 +09:00
Luca Boccassi
f5f4486c65
Merge pull request #29254 from yuwata/sd-ndisc-use-usec_t
...
sd-ndisc: make sd_ndisc return time values in usec
2023-09-22 21:46:50 +01:00
Yu Watanabe
f9edbb80e9
sd-dhcp-client: split out client_parse_message()
...
No functional change, just refactoring and preparation for later
commits.
2023-09-23 01:38:21 +09:00
Yu Watanabe
db849df5a1
sd-dhcp-client: introduce dhcp_lease_unref_and_replace()
2023-09-23 01:38:21 +09:00
Yu Watanabe
8fc725052a
sd-dhcp-client: do not set fallback subnet mask if it is already set
2023-09-23 01:38:21 +09:00
Yu Watanabe
2ff1e23036
sd-dhcp-client: split out client_enter_requesting()
...
No functional change, just refactoring and preparation for later
commits.
2023-09-23 01:38:21 +09:00
Yu Watanabe
525717b87c
sd-dhcp-client: split out client_enter_bound()
...
No functional change, just refactoring and preparation for later
commits.
2023-09-23 01:38:21 +09:00
Yu Watanabe
6197db53ba
sd-ndisc: make sd_ndisc return time values in usec
...
This also introduces sd_ndisc_router_get_lifetime_timestamp() and
friends that return timestamp rather than timespan.
2023-09-23 01:34:56 +09:00
Zbigniew Jędrzejewski-Szmek
a0fe45a93f
Merge pull request #29224 from keszybz/netdev-config-parsing
...
Use a helper to simplify parsing of ranges in netdev config and related changes
2023-09-22 14:29:47 +02:00
Yu Watanabe
3231f624e6
sd-ndisc: rename function arguments for storing results
2023-09-22 02:17:31 +09:00
Luca Boccassi
45ad128d36
Merge pull request #29253 from yuwata/sd-radv-use-usec_t
...
sd-radv: use usec_t
2023-09-21 14:06:28 +01:00
Luca Boccassi
76859a9785
Merge pull request #29252 from yuwata/sd-dhcp6-client-use-usec_t
...
sd-dhcp6-client: use usec t
2023-09-21 11:30:02 +01:00
Yu Watanabe
511d96d3b7
sd-dhcp-client: use unaligned_be32_sec_to_usec()
...
Note, previously, we set 1 second if the time value is zero.
But the adjustment is dropped now, as for the lifetime we have explicit
check that the message has non-zero lifetime, and for T1 and T2 we have
better adjustment in client_set_lease_timeouts().
2023-09-21 09:52:03 +01:00
Yu Watanabe
8ff992d1a2
test-ndisc-ra: add tests for recently added functions
2023-09-21 04:01:24 +09:00
Yu Watanabe
eca280c8c0
sd-radv: make sd_radv always take timespan in usec
2023-09-21 04:01:14 +09:00
Yu Watanabe
394fac52d0
sd-dhcp6-client: introduce sd_dhcp6_lease_get_t1() and friends
2023-09-21 03:59:00 +09:00
Yu Watanabe
9132cbd5ad
sd-dhcp6-client: use be32_sec_to_usec() at more places
2023-09-21 03:59:00 +09:00
Yu Watanabe
d8ec95c7ff
sd-dhcp6-client: rework IA_NA or IA_PD getters
...
This splits sd_dhcp6_lease_get_address() into small pieces,
and introduce FOREACH_DHCP6_ADDRESS() macro.
Also, the lifetimes provided by _get_address_lifetime() are now in usec,
and _get_address_lifetime_timestamp() provides timestamp.
The same change is also applied for IA_PD.
2023-09-21 03:59:00 +09:00
Yu Watanabe
fb70992d39
sd-dhcp6-client: introduce sd_dhcp6_lease_has_pd_prefix() and friend
...
No functional change, just refactoring.
2023-09-21 03:59:00 +09:00
Yu Watanabe
a00076113b
sd-dhcp-server: store lifetime and friends in usec_t
2023-09-20 05:04:03 +09:00
Yu Watanabe
ca515c961b
libsystemd-network: introduce several helper functions to handle time values
...
These will be used in later commits.
2023-09-20 05:04:03 +09:00
Zbigniew Jędrzejewski-Szmek
f31fa08057
sd-network: modernize log error messages
...
SYNTHETIC_ERRNO() is used where appropriate.
Splits in message format strings are removed, so that it's easier to
read/grep/copy them.
2023-09-19 09:35:52 +02:00
Lennart Poettering
7b9da3861a
Revert "tree-wide: Mount file descriptors via /proc/<pid>/fd"
2023-09-08 22:13:09 +01:00
Yu Watanabe
0ad8d953de
sd-dhcp-client: introduce sd_dhcp_lease_has_6rd() helper function
...
No functional change, just refactoring.
2023-09-06 02:02:21 +09:00
Yu Watanabe
a93538e892
dhcp: introduce sd_dhcp_lease_get_timestamp()
...
And drop sd_dhcp_client_get_lease_timestamp().
Also, this introduce sd_dhcp_lease_get_lifetime_timestamp() and friends,
which provides timestamp of the lifetime and so on, while
sd_dhcp_lease_get_lifetime() provides timestamp.
2023-09-06 02:02:21 +09:00
Yu Watanabe
5fde4d37d4
sd-dhcp-client: store lifetime and friends in usec_t
2023-09-06 02:02:21 +09:00
Yu Watanabe
a832087979
Merge pull request #29023 from pelaufer/dhcp-prefix-dbus
...
Add dhcp client prefix lease information to networkd json output
2023-09-05 00:16:19 +09:00
Yu Watanabe
8b1bd20722
Merge pull request #29052 from yuwata/icmp6-util-cleanups
...
icmp6-util: several cleanups and fixlets
2023-09-05 00:15:23 +09:00
Susant Sahani
6e8f5e4c1f
network: ndisc - Allow to parse PREF64 prefix
2023-09-04 23:41:02 +09:00
Susant Sahani
6a6d27bc5b
network: sd-radv - Allow to configure Mobile IPv6 Home Agent
2023-09-04 23:40:40 +09:00
Yu Watanabe
690afe79dd
test: extract dummy icmp6 utils for tests
...
This extracts common implementation of dummy icmp6 utils used by tests.
2023-09-04 21:54:51 +09:00
Yu Watanabe
4961f56646
icmp6-util: make icmp6_receive() accept the null source address
...
Fixes #29050 .
2023-09-04 21:54:43 +09:00
Yu Watanabe
5121163832
icmp6-util: several cleanups for icmp6_receive()
...
- Rename the argument for storing the sender address,
- allow to call it with NULL for ret_xyz,
- reduce needless copy of timestamp when the message does not have
timestamp.
2023-09-04 21:52:55 +09:00
Yu Watanabe
4674f407b2
sd-ndisc,sd-radv: fix use of uninitialized value
...
When icmp6_receive() fails, then the source address is not initialized yet.
2023-09-04 19:31:40 +09:00
pelaufer
fd9b7f5bea
Adding dhcp client and dhcp6 client state interface
2023-09-02 14:51:03 -06:00
pelaufer
8412d4c878
Adding dhcp_state_to_string and dhcp client state change logging
2023-09-02 14:46:47 -06:00
pelaufer
8fb6320e4b
Add dhcp client prefix lease information to networkd json output
2023-09-02 13:45:03 -06:00
pelaufer
4502f82beb
Adding client_set_state to sd-dhcp-client.c to support a client state change hook
2023-09-01 12:34:13 -06:00