Yu Watanabe
9e1432d5cc
network: introduce IPv6StableSecretAddress= setting
...
Previously, IPv6LinkLocalAddressGenerationMode= is not set, then we
define the address generation mode based on the result of reading
stable_secret sysctl value. This makes the mode is determined by whether
a secret address is specified in the new setting.
Closes #19622 .
2021-06-09 04:56:48 +09:00
Yu Watanabe
165d7c5c42
network: introduce UplinkInterface= setting for DHCP server
2021-06-08 06:33:27 +09:00
borna-blazevic
c517a49bf7
network: dhcp-server: introduce [DHCPServerStaticLease] section
2021-05-27 15:51:26 +09:00
Yu Watanabe
f0c09831bd
network: allow to set Group=0 in [Link] section
...
Previously, when a link has already in a numbered group, we cannot
remove the link from the group.
This also fixes the range mentioned in the man page.
2021-05-25 07:12:05 +09:00
Yu Watanabe
75d5abd298
network: IPv6LinkLocalAddressGenerationMode=none disables IPv6LL addressing
2021-05-23 17:13:06 +09:00
Yu Watanabe
228c3e21e9
network: nexthop: add Group= setting to configure multipath route with group nexthop
2021-05-22 04:59:40 +09:00
Lennart Poettering
f9e60ff9ad
Merge pull request #19605 from yuwata/network-fdb-outgoing-interface
...
network: bridge-fdb: add support to specify outgoing interface
2021-05-20 21:33:14 +02:00
Yu Watanabe
e6655fbe40
man: mention that drop-in files are merged in alphanumeric order
...
This addresses the request in https://github.com/systemd/systemd/issues/19467#issuecomment-829332877 .
2021-05-20 21:20:51 +02:00
Susant Sahani
af99cdf4d4
network: bridge-fdb: add support to specify outgoing interface
2021-05-20 18:23:15 +09:00
Alvin Šipraga
553022c4af
man: clarify RequiredFamilyForOnline= behaviour for online state
...
With new "online state" semantics in networkd, make the description of
RequiredFamilyForOnline= a little more broad. Some rewording has been
done to make the passage easier to understand.
2021-05-19 10:34:06 +09:00
Alvin Šipraga
6c95e09388
man: clarify RequiredForOnline= behaviour for online state
...
With new "online state" semantics in networkd, make the description of
RequiredForOnline= a little more broad.
2021-05-19 10:34:06 +09:00
Yu Watanabe
0017ba3165
network: dhcp-server: introduce ServerAddress= setting
...
This may be useful when the link which DHCP server running on has
multiple static addresses.
2021-05-18 20:20:24 +09:00
ei-ke
410477a78f
Fixed a typo
2021-05-16 18:28:58 +02:00
Zbigniew Jędrzejewski-Szmek
6c55cefe2f
man: reword descriptions of two DHCPv4 options
2021-05-14 11:48:33 +02:00
Zbigniew Jędrzejewski-Szmek
c3696a9111
man: reorder items in [DHCPv4] and [DHCPv6] sections
...
The settings were listen in a completely random order, also different
between the v4 and v6 sections. Order by "options sent", "options received",
"communication settings" in both sections.
Also minor formatting changes are done, e.g. "=" is added in various places.
2021-05-14 11:48:33 +02:00
Yegor Alexeyev
11c38d3e51
rfc3046 implementation
2021-05-08 15:59:29 +09:00
Yu Watanabe
d7b0450639
network: dhcp4: introduce RoutesToNTP= boolean setting
2021-04-27 00:01:18 +09:00
Yu Watanabe
7057030610
network: dhcp4: enable RoutesToDNS= by default
2021-04-27 00:01:18 +09:00
Yu Watanabe
4e26a5baa0
network: make IAID and DUID for DHCPv6 configurable explicitly
...
Closes #18996 .
2021-04-21 21:00:11 +09:00
Yu Watanabe
4c0aae015f
man: update explanation about route metric
2021-04-21 13:55:02 +09:00
Yu Watanabe
0e1fb1d09a
network: radv: add RouteMetric= setting in [IPv6Prefix]
2021-04-21 13:55:02 +09:00
Yu Watanabe
9fe0b7b493
network: dhcp6-pd: add RouteMetric= setting in [DHCPv6PrefixDelegation]
2021-04-21 13:55:02 +09:00
Yu Watanabe
8ebafba9f9
network: move RouteMetric= from [DHCPv6] to [IPv6AcceptRA]
...
As the value is used in the routes in RA.
2021-04-21 13:55:02 +09:00
Yu Watanabe
c4ff0629dd
network: add RouteMetric= setting in [Address] section
2021-04-21 13:54:59 +09:00
Yegor Alexeyev
c95df5879e
relay role implementation
2021-04-20 15:11:53 +02:00
Zbigniew Jędrzejewski-Szmek
b7c3447a2f
Merge pull request #19310 from yuwata/network-dhcp-anonymize
...
network: dhcp4: several fixes and cleanups for Anonymize=
2021-04-16 11:12:22 +02:00
Yu Watanabe
86d58c8625
man: update explanation for Anonymize=
2021-04-14 14:15:15 +09:00
LetzteInstanz
8430841b5e
network: save IPv4/IPv6 address states into state file
...
This also introduces RequiredFamilyForOnline= setting to .network file,
and IPv4AddressState/IPv6AddressState DBus properties.
2021-04-14 08:51:02 +09:00
Yegor Alexeyev
21b6b87eb3
dhcp: Implemented BindToInterface= configuration option
2021-04-14 07:30:40 +09:00
Zbigniew Jędrzejewski-Szmek
a2dc3adef2
Merge pull request #18990 from yuwata/network-dhcpv6-use-domains
...
network: also introduce UseDomains= for [DHCPv6] section
2021-03-31 10:38:37 +02:00
Yu Watanabe
b63dae3168
man: DNS/NTP servers received from DHCP server are concatenated with the statically configured ones
...
Prompted by #9473 .
2021-03-15 14:48:47 +00:00
Yu Watanabe
f225a338c3
network: also introduce UseDomains= for [DHCPv6] section
...
When we split [DHCP] section into [DHCPv4] and [DHCPv6], UseDomains=
setting was forgot to be introduced in [DHCPv6] section.
2021-03-14 00:28:19 +09:00
Annika Wickert
c0267a592a
network: Implement B.A.T.M.A.N. Advanced interface type
2021-02-25 01:57:29 +09:00
Yu Watanabe
30f1083709
network: nexthop: add Blackhole= setting in [NextHop] section
...
As similar to unreachable type routes, blackhole nexthops do not have
NHA_OID attribute, so they are managed by Manager.
2021-02-23 02:21:17 +09:00
Yu Watanabe
2ddd52d1e2
network: nexthop: add OnLink= setting
2021-02-21 05:16:23 +09:00
Yu Watanabe
832583ada8
network: make Broadcast= accept boolean value
...
And disable it for wireguard interfaces by default.
Closes #18492 .
2021-02-20 14:23:00 +09:00
Yu Watanabe
324e342219
network: add NextHop= setting in [Route] section
2021-02-19 22:42:39 +09:00
Yu Watanabe
4c72d851cd
network: warn when any positive boolean string is specified for IPMasquerade=
...
Previously, any positive boolean string for IPMasquerade= enables only IPv4
masquerade. The commit 48ed276647
adds
IPv6 masquerade support. However, only "yes" is handled as "ipv4", and other
positive boolean strings are handled as "both".
This makes all positive boolean strings considered as "ipv4", warn that they
are deprecated, and suggest to use "ipv4" or "both".
Follow-up for 48ed276647
.
2021-02-19 14:24:10 +09:00
Yu Watanabe
38ba3da0a1
network: rename UseFQDN= -> UseHostname=
...
Prompted by
https://github.com/systemd/systemd/pull/18543#issuecomment-780798451 .
2021-02-18 21:47:37 +01:00
Susant Sahani
d75bf6cfe2
network: Add "route_localnet" sysctl support
2021-02-18 21:04:17 +09:00
Richard Laager
f542f3b2ed
Remove outdated disable_ipv6 docs
...
This was changed in commit 482efedc08
,
which was released in v243, to only enable and never disable IPv6.
Signed-off-by: Richard Laager <rlaager@wiktel.com>
2021-02-18 16:51:27 +09:00
Yu Watanabe
26ff450550
man: update explanations of settings in [NextHop] section
2021-02-17 15:55:37 +09:00
Lennart Poettering
b1b4e9204c
Merge pull request #18007 from fw-strlen/ipv6_masq_and_dnat
...
Support ipv6 for masquerade and dnat in nspawn and networkd
2021-02-16 23:41:35 +01:00
Yu Watanabe
ccb4072e21
man: fix indentation
2021-02-16 17:59:21 +01:00
Vinnie Magro
f963f8953d
networkd: add UseFQDN option for DHCPv6
...
Similar to DHCPv4's UseHostname option, add a UseFQDN config option in
[DHCPv6] to set the system's transient hostname if the FQDN option is
set in the DHCPv6 response from the server.
2021-02-11 13:30:04 +09:00
Yu Watanabe
face9fcc16
network,udev: move TransmitQueues=/ReceiveQueues= from .network to .link
...
As the settings are mostly hardware setup, and merely see from network
layer.
See also discussions in
https://github.com/systemd/systemd/pull/18170#issuecomment-758807497
https://github.com/orgs/systemd/teams/systemd/discussions/1
2021-02-03 14:44:51 +09:00
Zbigniew Jędrzejewski-Szmek
1d3a473b4a
man: use ellipses for ranges in range descriptions
...
… and in few other places ;)
2021-01-29 17:02:23 +01:00
Zbigniew Jędrzejewski-Szmek
75909cc7e4
man: various typos and other small issues
...
Fixes #18397 .
2021-01-29 08:42:39 +01:00
Dan Streetman
61135582e0
network: add ActivationPolicy= configuration parameter
...
This parameter allows configuring the activation policy for an interface,
meaning how it manages the interface's administrative state (IFF_UP flag).
The policy can be configured to bring the interface either up or down when
the interface is (re)configured, to always force the interface either up or
down, or to never change the interface administrative state.
If the interface is bound with BindCarrier=, its administrative state is
controlled by the interface(s) it's bound to, and this parameter is forced
to 'bound'.
This changes the default behavior of how systemd-networkd sets the IFF_UP
flag; previously, it was set up (if not already up) every time the
link_joined() function was called. Now, with the default ActivationPolicy=
setting of 'up', it will only set the IFF_UP flag once, the first time
link_joined() is called, during an interface's configuration; and on
the first link_joined() call each time the interface is reconfigured.
Fixes : #3031
Fixes : #17437
2021-01-21 11:49:43 -05:00
Susant Sahani
c038ce4606
network: add support to RoutingPolicyRule lookup table name
2021-01-19 16:37:46 +00:00
Florian Westphal
48ed276647
networkd: extend IPMasquerade to cover ipv6
...
Extend IPMasquerade to also cover ipv6.
For compatibility reasons with earlier releases IPMasquerade=yes
is identical to IPMasquerade=ipv4.
Use IPMasquerade=both to cover ipv6 as well as ipv4.
IPForward will now also enable ipv6 forwarding if IPMasquerade for ipv6 is enabled.
2021-01-19 16:38:53 +01:00
Adam Nielsen
e64652f70c
man: clarify what network scopes are
2021-01-17 12:47:08 +09:00
Yu Watanabe
fec1b650ad
network: introduce ManageTemporaryAddress= setting in [DHCPv6PrefixDelegation] section
...
The setting is enabled by default, as NDisc also enabled the flag by
default.
Closes #18208 .
2021-01-14 00:17:05 +09:00
Yu Watanabe
1536b7b2d0
network: introduce new UseAddress= setting in [DHCPv6] section
...
If it is disabled, then the addresses provided by the DHCPv6 server will
be ignored.
Closes #18203 .
2021-01-12 14:19:03 +09:00
Yu Watanabe
66bf4617b1
Merge pull request #18169 from OnkelUlla/can_bus_error_reporting
...
network: can: add support for bus error reporting
2021-01-09 09:21:54 +09:00
Ulrich Ölmann
77b674049b
network: can: add support for bus error reporting
...
Enhance systemd-networkd to be able to control a CAN device's berr-reporting
flag via the new boolean directive BusErrorReporting= to be used in network
files.
2021-01-08 20:23:12 +01:00
Susant Sahani
007cac09a2
network: route - add support to configure tcp advmss
2021-01-08 14:06:13 +00:00
Susant Sahani
0a9fb9bad8
network: Allow to set device's receive queues and transmit queues
2021-01-05 12:46:28 +09:00
Yu Watanabe
75d2641190
network: introduce RouterAllowList= and RouterDenyList= in [IPv6AcceptRA]
2020-12-24 17:16:15 +09:00
Susant Sahani
de6b6ff84c
networkd: add support for prefix allow-list and route allow-list
2020-12-24 17:16:13 +09:00
Yu Watanabe
3f0af4a5f9
network: rename DenyList= -> PrefixDenyList=
2020-12-24 17:15:44 +09:00
Devon Pringle
16c89e649d
networkd: add RouteDenyList
...
Allow configuration for IPv6 discovered routes to be ignored instead of
adding them as a route. This can be used to block unwanted routes, for
example, you may wish to not receive some set of routes on an interface
if they are causing issues.
2020-12-18 21:44:32 +09:00
Susant Sahani
d7d1d18fd2
network: Allow to configure unreachable/blackhole RoutingPolicyRule ( #17984 )
2020-12-18 12:21:15 +09:00
Susant Sahani
937e305e93
network: Allow to configure interface promiscuous mode
2020-12-15 20:25:08 +00:00
Zbigniew Jędrzejewski-Szmek
0107b769b1
networkd: start ipv4ll when dhcp has trouble getting a lease
...
Fixes #13316 .
2020-11-30 12:37:36 +09:00
Zbigniew Jędrzejewski-Szmek
3ca1fab70a
networkd: merge ll addressing fallback modes into normal "boolean" values
...
They are not really boolean, because we have both ipv4 and ipv6, but
for each protocol we have either unset, no, and yes.
From https://github.com/systemd/systemd/issues/13316#issuecomment-582906817 :
LinkLocalAddressing must be a boolean option, at least for ipv4:
- LinkLocalAddressing=no => no LL at all.
- LinkLocalAddressing=yes + Static Address => invalid configuration, warn and
interpret as LinkLocalAddressing=no, no LL at all.
(we check that during parsing and reject)
- LinkLocalAddressing=yes + DHCP => LL process should be subordinated to the
DHCP one, an LL address must be acquired at start or after a short N
unsuccessful DHCP attemps, and must not stop DHCP to keeping trying. When a
DHCP address is acquired, drop the LL address. If the DHCP address is lost,
re-adquire a new LL address.
(next patch will move in this direction)
- LinkLocalAddressing=fallback has no reason to exist, because LL address must
always be allocated as a fallback option when using DHCP. Having both DHCP
and LL address at the same time is an RFC violation, so
LinkLocalAdressing=yes correctly implemented is already the "fallback"
behavior. The fallback option must be deprecated and if present in older
configs must be interpreted as LinkLocalAddressing=yes.
(removed)
- And for IPv6, the LinkLocalAddress option has any sense at all? IPv6-LL
address aren't required to be always set for every IPv6 enabled interface (in
this case, coexisting with static or dynamic address if any)? Shouldn't be
always =yes?
(good question)
This effectively reverts 29e81083bd
. There is no
special "fallback" mode now, so the check doesn't make sense anymore.
2020-11-30 12:37:36 +09:00
Zbigniew Jędrzejewski-Szmek
573b02f5c1
man: adjust description of MaxAttempts
...
The code was changed in 715cedfbf0
to allow more than
six attempts and the old description stopped making sense.
2020-11-30 12:37:36 +09:00
Zbigniew Jędrzejewski-Szmek
8dc299a0da
Merge pull request #17584 from yuwata/news-networkd
...
NEWS: several entries for networkd
2020-11-17 10:59:20 +01:00
Yu Watanabe
9f2c260ef9
man: DHCPv6PrefixDelegation= is disabled by dafault
2020-11-17 10:27:00 +01:00
Yu Watanabe
cbdc906288
man: mention that FirewallMark= optionally takes firewall mask
...
Closes #17587 .
2020-11-17 10:08:06 +01:00
Yu Watanabe
0e686feaff
network: honor M or O flag in RA even if IPv6AcceptRA.DHCPv6Cleint=always
...
Follow-up for ac24e418d9
.
The original motivation of the commit and RFE #15339 is to start dhcpv6
client in managed mode when neither M nor O flag is set in the RA.
But, previously, if the setting is set to "always", then the DHCPv6
client is always started in managed mode even if O flag is set in the
RA. Such the behavior breaks RFC 7084.
2020-11-16 18:59:24 +09:00
Yu Watanabe
6b44ad0bf8
man: set constant tag to NUL or NULL
2020-11-12 17:10:36 +09:00
Yu Watanabe
23243adf69
man: add missing period
2020-11-12 16:33:14 +09:00
Yu Watanabe
71a5db49fd
network: make default router lifetime to 30min
...
Closes #17527 .
2020-11-10 00:04:42 +09:00
Yu Watanabe
db9ecf0501
license: LGPL-2.1+ -> LGPL-2.1-or-later
2020-11-09 13:23:58 +09:00
Yu Watanabe
e5ff2245d3
man: update documents about IPv6 RA and DHCPv6-PD
2020-10-19 14:55:21 +09:00
Yu Watanabe
b8caa4ef34
network: rename Gateway=_dhcp6 -> Gateway=_ipv6ra
2020-10-15 07:04:02 +09:00
Dmitry Borodaenko
5fad3913e2
typo in systemd.network(5): IPv6PrefixDelegation=dhcpv6
2020-10-14 07:28:47 +09:00
Yu Watanabe
d306d1d0ca
network: introduce Gateway=_dhcp4 and _dhcp6, and deprecate "_dhcp"
...
Fixes #17249 .
2020-10-08 02:51:23 +09:00
Zbigniew Jędrzejewski-Szmek
3b1211574b
man: use trailing slash on directories in more places
2020-10-05 18:44:05 +02:00
Lennart Poettering
54565e509d
Merge pull request #17195 from keszybz/man-cleanups
...
Man page cleanups
2020-09-30 14:16:05 +02:00
Zbigniew Jędrzejewski-Szmek
885a4e6ca7
man: assorted small fixes
...
This is almost all of #17177 .
2020-09-30 10:31:21 +02:00
Zbigniew Jędrzejewski-Szmek
0558f3035f
man/systemd.network(5): unify descriptions of MUDURL=
...
Let's write one good description and refer to it from the other two
spots.
2020-09-30 10:30:03 +02:00
Yu Watanabe
3cb7af5baa
man: update InitialCongestionWindow= and InitialAdvertisedReceiveWindow=
...
Fixes #16643 .
2020-09-29 16:05:43 +09:00
Susant Sahani
8f6b6d7091
network: TC - introduce fq pie
...
see https://patchwork.ozlabs.org/patch/1233253/
2020-09-17 17:12:07 +09:00
Daniel Mack
a1717e9af1
man: document new Network.BridgeMDB config options
2020-09-10 18:55:17 +02:00
Yu Watanabe
b27caa34f6
network: make prefixstable mode of IPv6Token= can be applied to any received prefixes
...
Closes #4625 .
2020-09-08 14:32:33 +09:00
Florian Klink
73b432e7ef
network: fix DHCPv6 Prefix Delegation example after option rename
...
99e015e28c
missed to update the example
below - DHCPv6.AssignAcquiredDelegatedPrefixAddress was moved to
DHCPv6PrefixDelegation.Assign.
As it already defaulted to true since it's introduction in
9efa8a3cff
, there's no need to explicitly
list it at all.
2020-08-01 00:35:35 +09:00
Yu Watanabe
99e015e28c
network: rename settings about DHCPv6 Prefix Delegation
...
Closes #16602 .
2020-07-29 05:50:08 +09:00
Yu Watanabe
711dd5db9e
man: update explanation about the format to specify DNS servers
2020-07-21 04:12:16 +09:00
Anita Zhang
675fa6ea28
man: fix some manvolnum
2020-07-11 13:26:52 +02:00
Susant Sahani
98ebef62c7
DHCPv4: client add support for DHCP server allow list
2020-07-06 22:28:54 +02:00
Zbigniew Jędrzejewski-Szmek
bdac560801
tree-wide: drop quotes from around [section]
...
For users, the square brackets already serve as markup and clearly delineate
the section name from surrounding text. Putting additional markup around that
only adds clutter. Also, we were very inconsistent in using the quotes. Let's
just drop them altogether.
2020-07-06 11:29:05 +02:00
Zbigniew Jędrzejewski-Szmek
e9dd698407
tree-wide: fixes for assorted grammar and spelling issues
...
Fixes #16363 . Also includes some changes where I generalized the pattern.
2020-07-06 11:29:05 +02:00
Yu Watanabe
c03ef420fa
network: tc: rename several settings which take size in bytes
2020-07-02 16:51:11 +02:00
Yu Watanabe
1447dc625a
Merge pull request #16219 from ssahani/network-sr-iov
...
network: Introduce SR-IOV
2020-07-02 20:24:13 +09:00
Susant Sahani
838d39af93
network: Allow DHCPv6 client to start solicit mode
...
Now DHCPv6 client start only DHCPv6 INFORMATION-REQUEST mode.
Let's enable Solicit mode too.
2020-07-02 16:18:48 +09:00
Yu Watanabe
c3a5025dc6
network: add MACAddress= setting in [SR-IOV] section
2020-07-01 13:51:35 +09:00
Yu Watanabe
e64b31c848
network: add VLANProtocol= setting in [SR-IOV] section
2020-07-01 13:51:35 +09:00
Susant Sahani
518cd6b527
network: Introduce SR-IOV
...
SR-IOV provides the ability to partition a single physical PCI
resource into virtual PCI functions which can then be injected in
to a VM. In the case of network VFs, SR-IOV improves north-south n
etwork performance (that is, traffic with endpoints outside the
host machine) by allowing traffic to bypass the host machine’s network stack.
2020-07-01 13:51:33 +09:00
Yu Watanabe
6f6296b93f
network: move IPv6LinkLocalAddressGenerationMode= to [Network] section
...
This also moves and renames variables and functions.
Follow-ups for a6f1848a23
.
2020-06-30 18:58:52 +09:00
Lennart Poettering
6b000af4f2
tree-wide: avoid some loaded terms
...
https://tools.ietf.org/html/draft-knodel-terminology-02
https://lwn.net/Articles/823224/
This gets rid of most but not occasions of these loaded terms:
1. scsi_id and friends are something that is supposed to be removed from
our tree (see #7594 )
2. The test suite defines an API used by the ubuntu CI. We can remove
this too later, but this needs to be done in sync with the ubuntu CI.
3. In some cases the terms are part of APIs we call or where we expose
concepts the kernel names the way it names them. (In particular all
remaining uses of the word "slave" in our codebase are like this,
it's used by the POSIX PTY layer, by the network subsystem, the mount
API and the block device subsystem). Getting rid of the term in these
contexts would mean doing some major fixes of the kernel ABI first.
Regarding the replacements: when whitelist/blacklist is used as noun we
replace with with allow list/deny list, and when used as verb with
allow-list/deny-list.
2020-06-25 09:00:19 +02:00
Lennart Poettering
c4e90266db
Merge pull request #16093 from yuwata/network-htb-add-settings-15213
...
network: tc: add several settings for HTB
2020-06-24 19:07:41 +02:00
Yu Watanabe
d474aa51bf
network: tc: introduce Enhanced Transmission Selection (ETS)
...
Closes #15264 .
2020-06-19 01:07:45 +09:00
Lennart Poettering
2a71d57f4e
network: clean-up DHCP lease server data configuration
...
This is an attempt to clean up the POP3/SMTP/LPR/… DHCP lease server
data logic in networkd. This reduces code duplication and fixes a number
of bugs.
This removes any support for collecting POP3/SMPT/LPR servers acquired
via local DHCP client releases since noone uses that, and given how old
these protocols are I doubt this will change. It keeps support for
configuring them for the dhcp server however.
The differences between the DNS/NTP/SIP/POP3/SMTP/LPR configuration
logics are minimized.
This removes the relevant symbols from sd-network.h (which is an
internal API only at this point after all).
This is unfortunately not well test, given the old code for this had
barely any tests. But the new code should not perform worse at least,
and allow us to release, since it corrects some interfaces visible in
the .network configuration format.
Fixes : #15943
2020-06-18 13:08:18 +09:00
Yu Watanabe
d9eacc1cdd
network: tc: add more settings for HTB
...
Closes #15213 .
2020-06-17 16:49:46 +09:00
Susant Sahani
120b5c0bbe
network: DHCPv6 - Add support to set token on the LAN interface
...
This patch adds support to set a token on the LAN interface for
the acquired delegated prefixes for the DHCPv6 to generate address.
2020-06-17 14:20:48 +09:00
Yu Watanabe
94d76d071e
network: introduce IPv4AcceptLocal= setting
...
Closes #16090 .
2020-06-08 13:48:17 +09:00
Susant Sahani
7487b48688
man: fix typo Takse -> Takes
2020-06-06 10:26:33 +02:00
Yu Watanabe
4d7ddaf97b
network: tc: introduce [QuickFairQueueingClass] section
2020-06-03 17:25:44 +09:00
Susant Sahani
b12aaee5ab
network: tc: introduce Quick Fair Queueing (QFQ)
2020-06-03 14:17:51 +09:00
Yu Watanabe
1bf1bfd958
network: add DHCPv6.RouteMetric=
...
Hopefully fixes #15295 .
2020-06-02 15:16:51 +09:00
Susant Sahani
b4ccc5de7d
network: Inroduce DHCP6- send vendor options
...
network: Inroduce DHCP6- send vendor options
```
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_VENDOR_OPTS | option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| enterprise-number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. .
. vendor-option-data .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
```
```
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sub-opt-code | sub-option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. .
. sub-option-data .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 31: Vendor-specific Options Format
sub-opt-code The code for the sub-option. A 2-octet
field.
sub-option-len An unsigned integer giving the length of the
sub-option-data field in this sub-option in
octets. A 2-octet field.
sub-option-data The data area for the sub-option. The
length, in octets, is specified by
sub-option-len.
```
2020-05-29 13:37:57 +02:00
Susant Sahani
9efa8a3cff
network: DHCPv6 Assign delegated prefix to LAN interface
...
In DHCPv6-PD environment, where WAN interface requests IPv6 via DHCPv6,
receives the address as well as delegated prefixes, with LAN interfaces
serving those delegated prefixes in their router advertisement messages.
The LAN interfaces on the router themselves do not have
the IPv6 addresses assigned by networkd from the prefix it
serves on that interface. Now this patch enables it.
2020-05-29 16:20:37 +09:00
Yu Watanabe
63b00fa77d
Merge pull request #15619 from ddstreet/ignore_carrier_loss_default
...
Set IgnoreCarrierLoss= default to value of ConfigureWithoutCarrier=
2020-05-29 10:04:00 +09:00
Lennart Poettering
bb2294e454
Merge pull request #15669 from andir/systemd-ipv6-pd-subnet-id
...
networkd: subnet id support for ipv6 prefix delegation
2020-05-27 18:47:26 +02:00
Dan Streetman
bd0d471c8f
network: Change IgnoreCarrierLoss default to value of ConfigureWithoutCarrier
...
It doesn't make much sense to have ConfigureWithoutCarrier set, but not
IgnoreCarrierLoss; all the configuration added during initial interface
bring-up will be lost at the first carrier up/down.
2020-05-26 08:47:41 -04:00
Andreas Rammhold
02e9e34bd9
networkd: Add support for setting a preferred subnet id for IPv6 PD leases
...
This allows users to configure a subnet id that should be used instead
of automatically (sequentially) assigned subnets. The previous attempt
had the downside that the subnet id would not be the same between
networkd restarts. In some setups it is desirable to have predictable
subnet ids across restarts of services and systems.
The code for the assignment had to be broken up into two pieces. One of
them is the old (sequential) assignment of prefixes and the other is the
new assignment based on configured subnet ids. The new assignment code
has to be executed first and has to be taken into account when (later
on) allocating the "old" subnets from the same pool.
Instead of having one iteration through the links we are now trying to
allocate a prefix for every link on every delegated prefix, unless they
received an assignment in a previous iteration.
2020-05-26 12:41:22 +02:00
Susant Sahani
a6f1848a23
network: Allow to configure addr_gen_mode
...
Defines how link-local and autoconf addresses are generated.
0: generate address based on EUI64 (default)
1: do no generate a link-local address, use EUI64 for addresses generated
from autoconf
2: generate stable privacy addresses, using the secret from
stable_secret (RFC7217)
3: generate stable privacy addresses, using a random secret if unset
2020-05-21 14:41:04 +02:00
Zbigniew Jędrzejewski-Szmek
929d07ddcb
Merge pull request #15274 from ssahani/network-issue-9610
...
DHCP4: Allow lease time to be set when missing from offer
2020-05-20 16:39:41 +02:00
Susant Sahani
ed0d1b2e99
network: DHCPv6 - Add support to send vendor class information
...
Frame 1: 177 bytes on wire (1416 bits), 177 bytes captured (1416 bits) on interface veth-peer, id 0
Ethernet II, Src: 1e:04:f8:b8:2f:d4 (1e:04:f8:b8:2f:d4), Dst: IPv6mcast_01:00:02 (33:33:00:01:00:02)
Internet Protocol Version 6, Src: fe80::1c04:f8ff:feb8:2fd4, Dst: ff02::1:2
User Datagram Protocol, Src Port: 546, Dst Port: 547
DHCPv6
Message type: Solicit (1)
Transaction ID: 0x5ca46b
Rapid Commit
Identity Association for Non-temporary Address
Fully Qualified Domain Name
Vendor Class
Option: Vendor Class (16)
Length: 23
Value: 0000ab11000048656c6c6f3a686f773a6172653a796f75
Enterprise ID: Tom Gundersen (systemd) (43793)
vendor-class-data: Hello:how:are:you
Identity Association for Prefix Delegation
Option Request
Client Identifier
Elapsed time
2020-05-20 07:58:03 +02:00
Susant Sahani
d6463307e0
network: DHCPv4- Allow to set DHCP lease lifetime
2020-05-20 06:32:26 +02:00
Susant Sahani
f37f2a6b8a
network: DHCPv6 - Add support to send user class
...
Frame 115: 171 bytes on wire (1368 bits), 171 bytes captured (1368 bits) on interface veth-peer, id 0
Ethernet II, Src: 1e:04:f8:b8:2f:d4 (1e:04:f8:b8:2f:d4), Dst: IPv6mcast_01:00:02 (33:33:00:01:00:02)
Internet Protocol Version 6, Src: fe80::1c04:f8ff:feb8:2fd4, Dst: ff02::1:2
User Datagram Protocol, Src Port: 546, Dst Port: 547
DHCPv6
Message type: Solicit (1)
Transaction ID: 0x673257
Rapid Commit
Option: Rapid Commit (14)
Length: 0
Identity Association for Non-temporary Address
Option: Identity Association for Non-temporary Address (3)
Length: 12
Value: d0cc94090000000000000000
IAID: d0cc9409
T1: 0
T2: 0
Fully Qualified Domain Name
Option: Fully Qualified Domain Name (39)
Length: 6
Value: 01045a657573
0000 0... = Reserved: 0x00
.... .0.. = N bit: Server should perform DNS updates
.... ..0. = O bit: Server has not overridden client's S bit preference
.... ...1 = S bit: Server should perform forward DNS updates
Client FQDN: Zeus
User Class
Option: User Class (15)
Length: 17
Value: 000f68656c6c6f30313233343031323334
Identity Association for Prefix Delegation
Option: Identity Association for Prefix Delegation (25)
Length: 12
Value: d0cc94090000000000000000
IAID: d0cc9409
T1: 0
T2: 0
Option Request
Option: Option Request (6)
Length: 10
Value: 001700180038001f000e
Requested Option code: DNS recursive name server (23)
Requested Option code: Domain Search List (24)
Requested Option code: NTP Server (56)
Requested Option code: Simple Network Time Protocol Server (31)
Requested Option code: Rapid Commit (14)
Client Identifier
Option: Client Identifier (1)
Length: 14
Value: 00020000ab11d258482fc7eee651
DUID: 00020000ab11d258482fc7eee651
DUID Type: assigned by vendor based on Enterprise number (2)
Enterprise ID: Tom Gundersen (systemd) (43793)
Identifier: d258482fc7eee651
Elapsed time
Option: Elapsed time (8)
Length: 2
Value: 0bd0
Elapsed time: 30240ms
2020-05-19 11:48:30 +02:00
Susant Sahani
35f6a5cb44
network: DHCPv6 - Add support set arbitary request options
2020-05-17 11:18:29 +02:00
Susant Sahani
89fe653544
network: Add support to group links.
...
Link groups are similar to port ranges found in managed switches.
You can add network interfaces to a numbered group and perform operations
on all the interfaces from that group at once.
2020-05-15 15:27:07 +02:00
Andrew Doran
e7d5fe17db
DHCP client: make SendOption work for DHCPv6 too.
2020-05-11 16:31:08 +02:00
Lennart Poettering
a9ab5cdb50
Merge pull request #15472 from keszybz/dbus-api-docs
...
A few more dbus api documentation updates
2020-04-23 17:01:11 +02:00
Zbigniew Jędrzejewski-Szmek
73781de41f
Merge pull request #15530 from ssahani/lpr-dhcpv4-option-9
...
network: add support to DHCPv4 server/client option 9 LPR
2020-04-23 09:10:14 +02:00
Susant Sahani
d361b3730a
network: Add support send and receive LPR servers
2020-04-22 14:49:27 +02:00
Zbigniew Jędrzejewski-Szmek
2807b68019
Merge pull request #15520 from mrc0mmand/various-codebase-improvements
...
tree-wide: various codebase improvements
2020-04-22 08:41:38 +02:00
Frantisek Sumsal
86b52a3958
tree-wide: fix spelling errors
...
Based on a report from Fossies.org using Codespell.
Followup to #15436
2020-04-21 23:21:08 +02:00
Dan Streetman
589397a277
network: change UseGateway= default to UseRoutes= setting
...
Anyone previously using the UseRoutes=false parameter expected their
dhcp4-provided gateway route to be ignored, as well. However, with
the introduction of the UseGateway= parameter, this is no longer true.
In order to keep backwards compatibility, this sets the UseGateway=
default value to whatever UseRoutes= has been set to.
2020-04-21 16:56:48 -04:00
Zbigniew Jędrzejewski-Szmek
38b38500c6
tree-wide: use "hostname" spelling everywhere
...
It's not that I think that "hostname" is vastly superior to "host name". Quite
the opposite — the difference is small, and in some context the two-word version
does fit better. But in the tree, there are ~200 occurrences of the first, and
>1600 of the other, and consistent spelling is more important than any particular
spelling choice.
2020-04-21 16:58:04 +02:00
Susant Sahani
ac24e418d9
network: Allow DHCPv6 client to be started even if no O or M bit in RA.
2020-04-16 09:32:19 +02:00
Zbigniew Jędrzejewski-Szmek
edc8dd26e2
Merge pull request #15392 from keszybz/flag-helper
...
Flag setting helper and some other minor cleanups
2020-04-11 16:05:11 +02:00
Zbigniew Jędrzejewski-Szmek
7d6342e401
man: fix garbled paragraph in systemd.network(3)
...
The following message was emitted:
"Element term in namespace encountered in para, but no template matches."
2020-04-10 16:40:48 +02:00
Susant Sahani
e9a8c550c1
LLDP: Add support to transmit MUD URL
2020-04-08 00:20:54 +02:00
Zbigniew Jędrzejewski-Szmek
c51c6f2f57
Merge pull request #15252 from ssahani/dhcpv6-mud
...
DHCPv6: Add support to send MUD URL
2020-04-02 10:23:15 +02:00
Richard Petri
7e025e9cdb
network: can: add support for CAN-FD related properties
2020-04-01 20:07:20 +02:00
Richard Petri
74a2726869
network: can: introduce a config parser function for bitrates
...
For now, this function is nearly equivalent to the si_uint64 parser, except for
an additional range check as Linux only takes 32-bit values as bitrates. In
future, this may also be used to introduce fancier bitrate config formats.
2020-04-01 20:07:20 +02:00
Susant Sahani
3175a8c21b
network: DHCPv6 Add support to send MUD URL
2020-04-01 17:01:12 +02:00
Susant Sahani
7b8d23a9bb
network: DHCPv4 - introduce The Manufacturer Usage Description (MUD)
2020-03-30 20:27:48 +02:00
Susant Sahani
f6269fe7bb
network: DHCP - add support to emit and receive SMTP server information
2020-03-29 22:59:11 +02:00
Susant Sahani
284e8fd0d7
DHCP: Add support to emit and retrieve POP3 server
2020-03-28 03:34:27 +01:00
David Wood
7354900ddd
network: Fix split in SendOption=
on client and server
...
When specifying `DHCPv4.SendOption=`, it is used by systemd-networkd to
set the value of that option within the DHCP request that is sent out.
This differs to setting `DHCPServer.SendOption=`, which will place all
the options together as suboptions into the vendor-specific information
(code 43) option.
This commit adds two new config options, `DHCPv4.SendVendorOption=` and
`DHCPServer.SendVendorOption=`. These both have the behaviour of the old
`DHCPServer.SendOption=` flag, and set the value of the suboption in the
vendor-specific information option.
The behaviour of `DHCPServer.SendOption=` is then changed to reflect
that of `DHCPv4.SendOption=`. It will set the value of the corresponding
option in the DHCP request.
2020-03-19 09:08:40 +01:00
Zbigniew Jędrzejewski-Szmek
34bc838f15
Merge pull request #15136 from yuwata/network-dhcp4-use-gateway
...
network: add a flag to ignore gateway provided by DHCP server
2020-03-17 16:51:18 +01:00
Yu Watanabe
74f0fb9095
network: can: add support for listen-only mode
...
Closes #15129 .
2020-03-17 00:32:35 +09:00
Yu Watanabe
b453122789
network: add a flag to ignore gateway provided by DHCP server
...
Closes #15117 .
2020-03-16 19:34:43 +09:00
Yu Watanabe
f344a492d1
man: use include directive for Parent= or friends
2020-03-12 18:33:15 +09:00
Susant Sahani
7f22402007
network: TC - introduce HHF
...
Please see https://lwn.net/Articles/577208/
2020-03-12 15:39:12 +09:00
Susant Sahani
1a95964bfa
network: TC - introduce pfifo_fast
...
pfifo_fast - three-band first in, first out queue
Please see https://linux.die.net/man/8/tc-pfifo_fast
2020-03-12 15:38:18 +09:00
Susant Sahani
053a2ddbb2
network: TC - introduce pfifo_head_drop
...
This adds the required changes to gain access to
the head drop classfull queuing discipline named
pfifo_head_drop.
2020-03-12 15:37:17 +09:00
Susant Sahani
c853f594d4
network: TC - introduce BFIFO
...
bfifo - Byte limited First In, First Out queue
2020-03-12 15:35:51 +09:00
Yu Watanabe
ad365c5de7
network: tc: introduce DRR class
2020-03-12 15:35:51 +09:00
Susant Sahani
f5fc04417e
network: TC - introduce DRR
...
Introduce the Deficit Round Robin Scheduler is a classful queuing discipline as
a more flexible replacement for Stochastic Fairness Queuing.
http://man7.org/linux/man-pages/man8/tc-drr.8.html
2020-03-12 15:35:51 +09:00
Susant Sahani
bde4ae88c8
network: tc- introduce PIE
...
Proportional Integral controller-Enhanced (PIE) is a control
theoretic active queue management scheme. It is based on the
proportional integral controller but aims to control delay.
http://man7.org/linux/man-pages/man8/tc-pie.8.html
2020-03-12 13:58:35 +09:00
Yu Watanabe
a834cb5247
Merge pull request #15036 from yuwata/can-termination-mod
...
network: add CAN Termination tristate option
2020-03-07 19:11:03 +09:00
Matt Ranostay
52aa38f14a
network: add CAN Termination tristate option
2020-03-07 02:00:02 +09:00
Yu Watanabe
bba1f90ff5
Merge pull request #14890 from yuwata/network-tc-next
...
network: tc-next
2020-03-07 01:44:15 +09:00
Yu Watanabe
d739fddeb5
network: add setting to support RA without DHCPv6 client
...
Closes #13991 .
2020-03-07 01:39:26 +09:00
Susant Sahani
cd305af1fe
network: Allow DHCPv6 client to start without router's managed flag.
2020-03-07 01:38:26 +09:00
Chris Down
5bb67b107f
Merge pull request #14956 from ssahani/delegated-prefix-14474
...
nettwork: introduce delegated prefix assign
2020-03-06 16:13:13 +00:00
Zbigniew Jędrzejewski-Szmek
d4de2b2aff
man: document that .link/.network/.netdev files have the usual ini syntax
...
Fixes #1266 .
2020-03-03 19:11:59 +01:00
Zbigniew Jędrzejewski-Szmek
c7fe06fb0a
man: document the default value for IPv6AcceptRA=
...
Fixes #14121 .
2020-03-03 18:36:03 +01:00
Zbigniew Jędrzejewski-Szmek
cd517eb731
man: specify that Domains= is a space-separated list
...
Fixes #14998 .
2020-03-03 18:03:53 +01:00
Susant Sahani
ad8352f4ff
network: tc: introduce cake
...
CAKE (Common Applications Kept Enhanced)
Please see http://man7.org/linux/man-pages/man8/tc-cake.8.html
2020-03-02 15:59:37 +09:00
Susant Sahani
982998b087
network: TC introduce sfb - Stochastic Fair Blue
...
Please see https://www.systutorials.com/docs/linux/man/8-tc-sfb/
2020-03-02 15:48:24 +09:00
Susant Sahani
609e8340bb
network: TC introduce GRED, Generic Random Early Detection
...
http://tldp.org/en/Traffic-Control-HOWTO/ar01s06.html
2020-03-02 15:48:24 +09:00
Susant Sahani
a74760653c
network: TC introduce PFIFO
2020-03-02 15:48:00 +09:00
Yu Watanabe
19f86a6351
network: tc: support HTB class
2020-03-02 15:46:28 +09:00
Yu Watanabe
b934ac3d6e
network: tc: support Hierarchy Token Bucket (HTB)
2020-03-02 15:46:28 +09:00
Yu Watanabe
2a09633117
network: tc: make Parent= take class id
2020-03-02 15:46:28 +09:00
Susant Sahani
2cd6510661
man: fix typo
2020-03-02 15:43:42 +09:00
Susant Sahani
bd6379ec57
network: introduce IPv6 prefix assign
...
Expose a boolean flag to automatically add an address from the delegated prefix to the interface
2020-03-01 00:49:19 +09:00
Yu Watanabe
1d6cfd25a2
Merge pull request #14833 from kpfleming/multiple-ipv6token-addresses
...
Support multiple IPv6Token 'static' addreses on an interface
2020-02-12 02:10:44 +09:00
Kevin P. Fleming
c24c83dc67
network: Allow multiple IPv6Token 'static' items to generate addresses
...
This patch allows multiple addresses using 'static' IPv6Tokens to
be generated for a single network interface.
2020-02-10 18:40:57 +09:00
Susant Sahani
d8b2396d34
network: add support for qdisc handle
2020-02-10 17:48:53 +09:00
Kevin P. Fleming
8dcce054e3
network: Rewrite IPv6Token documentation for new modes
...
This patch provides new documentation for IPv6Token,
reflecting the new modes (and the existing mode), and documents
various caveats users should be aware of when using these
modes.
2020-02-10 15:37:22 +09:00
Zbigniew Jędrzejewski-Szmek
c3b41d8811
Merge pull request #14805 from yuwata/network-ipv6-token-follow-up
...
network: rename eui64 to static
2020-02-07 17:05:33 +01:00
Yu Watanabe
9b749c11e2
network: tc: support teql
...
Closes #14792 .
2020-02-07 17:41:49 +09:00
Yu Watanabe
2ed5f6d5de
network: introduce new [QDisc] section to support Parent=ingress
...
Follow-up for 18de0969c5
.
2020-02-07 13:48:54 +09:00
Yu Watanabe
e2c4070edf
network: rename eui64 to static
...
See RFC 4291.
Follow-up for 5f506a5560
.
2020-02-07 13:30:40 +09:00
Zbigniew Jędrzejewski-Szmek
5bbcff2a1d
Merge pull request #14415 from ssahani/prefixstable-rfc-7217-new
...
network: Allow to specify multiple IPv6Token for SLAAC
2020-02-05 17:05:33 +01:00
Zbigniew Jędrzejewski-Szmek
239bf9409d
Merge pull request #14536 from DaanDeMeyer/wait-online-max-operstate
...
wait-online: add maximum operational state option
2020-02-05 10:16:29 +01:00
Susant Sahani
5f506a5560
network: Allow to specify multiple IPv6Token for SLAAC
...
Provide names to choose between different auto-generation types:
2.1 "eui64" for EUI-64 of RFC 4291
2.2 "prefixstable" for RFC 7217
```
[Match]
Name=veth99
[Network]
DHCP=no
IPv6AcceptRA=yes
IPv6Token=prefixstable:2001:888:0db8:1::
```
2020-02-05 17:44:42 +09:00
Zbigniew Jędrzejewski-Szmek
427928caa4
network: change "Gateway=dhcp" to "Gateway=_dhcp" ( #14774 )
...
This way we avoid confusion with a DNS name. Fixes #14773 .
2020-02-05 13:41:30 +09:00
Yu Watanabe
f2f1b52c6f
Merge pull request #14767 from yuwata/network-split-qdisc-section
...
network: split TrafficControlQueueingDiscipline section into small pieces
2020-02-05 13:35:25 +09:00
Zbigniew Jędrzejewski-Szmek
ca58d00c68
network: FairQueueTrafficPolicing→FairQueueing
...
This never made into a release, so we can change the name with impunity.
Suggested by Davide Pesavento.
I opted to add the "ing" ending. "Fair queuing" is the name of the general
concept and algorithm, and "Fair queue" is mostly used for the implementation
name.
2020-02-04 17:37:16 +01:00
Zbigniew Jędrzejewski-Szmek
60ed2dcfc7
network: TokenBufferFilter→TokenBucketFilter
...
This never made into a release, so we can change the name with impunity.
Noticed by Davide Pesavento.
2020-02-04 17:28:15 +01:00
Yu Watanabe
18de0969c5
network: split TrafficControlQueueingDiscipline section into small pieces
...
Closes #14763 .
2020-02-04 21:45:39 +09:00
Yu Watanabe
fd3ef936ed
network,radv: make DNS= in [IPv6PrefixDelegation] section take special value 'linklocal'
...
Closes #13639 .
2020-02-04 13:56:30 +09:00
Naïm Favier
53e1ba280f
network: add SuppressPrefixLength option to RoutingPolicyRule ( #14736 )
...
Closes #14724 .
2020-02-03 08:25:48 +09:00
Yu Watanabe
ea471a4695
network: support UID based routing policy
...
Closes #14666 .
2020-02-02 22:43:38 +09:00
Tobias Klauser
da2076a159
man: remove duplicate in list of variables ignored by Anonymize
...
SendHostname= appears twice in the list of variables ignored by
Anonymize=.
2020-01-25 11:54:53 +09:00
Daan De Meyer
75cd4a5d92
wait-online: Add maximum operational state option
2020-01-18 18:17:22 +01:00
Yu Watanabe
6b8fe4c30c
man: XxxRate= are in bps
2020-01-12 10:11:07 +01:00
Yu Watanabe
125c7814fa
Merge pull request #14523 from keszybz/refactorings
...
Refactorings inspired by recent pull requests
2020-01-09 12:50:11 +09:00
Lennart Poettering
0aa9bffe10
Merge pull request #14448 from yuwata/network-permanent-mac-address
...
network, udev: support permanent mac address
2020-01-08 15:36:27 +01:00
Zbigniew Jędrzejewski-Szmek
d9b204544b
man: use xi:include to avoid duplication
...
... and fix some unwarranted discrepancies between the two man pages.
2020-01-08 11:43:09 +01:00
Yu Watanabe
4bb7cc8287
network, udev: introduce PermanentMACAddress= setting in [Match] section
...
Closes #13983 .
2020-01-08 17:54:54 +09:00
Yu Watanabe
1985c54ff3
network: static routes via DHCP gateway
...
This makes Gateway= also take "DHCP". If "DHCP" is set, then the gateway
address provided by DHCP or IPv6 RA is used.
Closes #8213 .
2020-01-07 19:10:54 +09:00
Lennart Poettering
dc5737470e
Merge pull request #14194 from yuwata/network-multipath-routing-12541
...
network: introduce multipath routing
2020-01-03 15:38:03 +01:00
Yu Watanabe
b078e52855
network: add more settings for CoDel
2019-12-28 22:25:12 +09:00
Susant Sahani
c695dcf929
network: Add support to configure DHCPv4 route MTU
...
This is useful for transitioning systems from small frames to jumbo frames.
Closes #14302
2019-12-28 21:37:26 +09:00
Susant Sahani
a9a5d632da
network: tc introduce codel
...
Please see http://man7.org/linux/man-pages/man8/tc-codel.8.html
2019-12-28 21:35:39 +09:00
Felipe Sateler
11fcfc5398
Fix several typos in documentation
...
Found by lintian
2019-12-24 14:45:40 +01:00
Susant Sahani
0f3ff4eae2
network: DHCP4 introduce send decline
2019-12-21 00:26:44 +09:00
Yu Watanabe
de697db05b
network: introduce AddPrefixRoute= and deprecate PrefixRoute=
...
PrefixRoute= was added by e63be0847c
,
but unfortunately, the meaning of PrefixRoute= is inverted; when true
IFA_F_NOPREFIXROUTE flag is added. This introduces AddPrefixRoute=
setting.
2019-12-18 16:32:31 +01:00
Yu Watanabe
6ff5cc6b7a
network: introduce multipath route
...
Closes #12541 .
2019-12-18 22:12:57 +09:00
Yu Watanabe
6e5df4036f
Merge pull request #14337 from yuwata/network-tc-fq-more
...
network: tc: introduce more FQ settings
2019-12-17 23:30:10 +09:00
Yu Watanabe
572b21d96c
network: make Name= in [Match] support alternative names of interfaces
2019-12-16 10:55:56 +09:00
Yu Watanabe
e83562e51e
network: tc: add more settings for FQ
2019-12-13 23:36:17 +09:00
Yu Watanabe
ac810b75c1
network: tc: support more attributes for FQ-CoDel
2019-12-12 23:36:48 +09:00
Susant Sahani
7234b91596
network tc: inroduce FQ - Fair Queue traffic policing
...
Please see http://man7.org/linux/man-pages/man8/tc-fq.8.html
2019-12-12 17:26:20 +09:00
Susant Sahani
4e5ef14919
network tc: Add support to conkfigure CoDel - Controlled-Delay Active Queue Management algorithm
...
```
$ tc qdisc show dev dummy99
qdisc fq_codel 8005: dev dummy99 root refcnt 2 limit 1000p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn
$ network cat dumm99.network
[Match]
Name=dummy99
[TrafficControlQueueingDiscipline]
Parent=root
FairQueuingControlledDelayPacketLimit=1000
```
2019-12-11 00:06:31 +09:00
Susant Sahani
d808102008
network tc: qdisc parent add support to set ingress
...
```
$ network tc qdisc
qdisc noqueue 0: dev dummy99 root refcnt 2
qdisc ingress ffff: dev dummy99 parent ffff:fff1 ----------------
$ network cat dumm99.network
[Match]
Name=dummy99
[TrafficControlQueueingDiscipline]
Parent=ingress
```
2019-12-11 00:06:31 +09:00
Yu Watanabe
dcfc23ae77
network: tc: add more options for TBF
2019-12-10 01:28:38 +09:00
Susant Sahani
051e77cac1
network: introduce DAD for static address
...
Closes #2527 .
2019-12-06 23:29:07 +09:00
Susant Sahani
9942b71089
network: tc introduce sfq - Stochastic Fairness Queueing
...
Stochastic Fairness Queueing is a classless queueing discipline.
SFQ does not shape traffic but only schedules the transmission of packets, based on 'flows'.
The goal is to ensure fairness so that each flow is able to send data in turn,
thus preventing any single flow from drowning out the rest.
2019-12-04 20:58:17 +09:00
Susant Sahani
ba5841b520
networkd tc: introduce tbf
...
See https://linux.die.net/man/8/tc-tbf
2019-12-04 20:55:48 +09:00
Yu Watanabe
e681a2ee4d
man: use literal tag at one more place
2019-11-28 19:50:12 +01:00
Yu Watanabe
f5c3892266
network: also assume Table=local for ipv6 route if Type=local, broadcast, anycast or nat ( #14148 )
...
Also, if Type=multicast and scope is not set, then assume Scope=link.
Fixes #14122 .
2019-11-26 12:41:54 +09:00
Yu Watanabe
d8b736bd0c
network: rename SendRawOption= to SendOption=
...
As DHCPv4.SendOption= and DHCPServer.SendRawOption= take the same
format.
2019-11-18 23:35:48 +09:00
Yu Watanabe
586ec936c6
network: make SendOption= also take type field
...
This makes SendOption= and SendRawOption= takes values in the same
format.
2019-11-17 23:17:29 +09:00
Tommy J
48daf51026
PrefixDelegationHint-section: typo
2019-11-15 07:57:32 +01:00
Susant Sahani
b9c5aa3c65
qdisc: netem add support to duplicate packets.
...
using this option the chosen percent of packets is duplicated before
queuing them
2019-10-31 10:36:28 +01:00
Susant Sahani
564ca98484
networkd: dhcp server Support Vendor specific 43
...
Implementes https://tools.ietf.org/html/rfc2132
```
[DHCPServer]
SendRawOption=26:uint32:1400
SendRawOption=23:uint8:10
```
Frame 448: 350 bytes on wire (2800 bits), 350 bytes captured (2800 bits) on interface 0
Linux cooked capture
Internet Protocol Version 4, Src: 192.168.5.1, Dst: 192.168.5.11
User Datagram Protocol, Src Port: 67, Dst Port: 68
Dynamic Host Configuration Protocol (ACK)
Message type: Boot Reply (2)
Hardware type: Ethernet (0x01)
Hardware address length: 6
Hops: 0
Transaction ID: 0x71f8de9d
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
Client IP address: 0.0.0.0
Your (client) IP address: 192.168.5.11
Next server IP address: 0.0.0.0
Relay agent IP address: 0.0.0.0
Client MAC address: 1e:04:f8:b8:2f:d4 (1e:04:f8:b8:2f:d4)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (53) DHCP Message Type (ACK)
Length: 1
DHCP: ACK (5)
Option: (51) IP Address Lease Time
Length: 4
IP Address Lease Time: (3600s) 1 hour
Option: (1) Subnet Mask (255.255.255.0)
Length: 4
Subnet Mask: 255.255.255.0
Option: (3) Router
Length: 4
Router: 192.168.5.1
Option: (6) Domain Name Server
Length: 4
Domain Name Server: 192.168.5.1
Option: (42) Network Time Protocol Servers
Length: 4
Network Time Protocol Server: 192.168.5.1
Option: (101) TCode
Length: 13
TZ TCode: Europe/Berlin
Option: (43) Vendor-Specific Information
Length: 9
Value: 1701311a0431343030
Option: (54) DHCP Server Identifier (192.168.5.1)
Length: 4
DHCP Server Identifier: 192.168.5.1
Option: (255) End
Option End: 255
```
2019-10-31 09:03:43 +09:00
Zbigniew Jędrzejewski-Szmek
a2cc708a88
network: amend SendOption= to take a c-escaped string
...
No need to punish users by forcing them to do base64 encodings.
2019-10-30 09:13:38 +01:00
Zbigniew Jędrzejewski-Szmek
864edb39cf
network: rename SendOptions= to SendOption=
...
The name with plural made more sense where multiple options could be specified
in one line. After changes in the pull request, this option only accepts one
value, so from users' POV it should be singular.
(The field in the data structure remains plural, because it actually stores
multiple values.)
2019-10-30 08:56:18 +01:00
Susant Sahani
0f5bd7fe24
network: introduce TrafficControl
...
Add network delay to a interface
2019-10-30 09:33:51 +09:00
Zbigniew Jędrzejewski-Szmek
1bcefad919
Merge pull request #13623 from yuwata/network-wifi-iftype
2019-10-25 14:19:06 +02:00
Yu Watanabe
78404d22cc
network: support matching based on wifi interfece type
2019-10-25 16:43:18 +09:00
Zbigniew Jędrzejewski-Szmek
510c4bb31f
Merge pull request #13142 from yuwata/network-wifi-ssid-support-nl80211
...
network: wifi ssid support with nl80211
2019-10-23 14:51:23 +02:00
Zbigniew Jędrzejewski-Szmek
c8966bffdd
Merge pull request #13663 from ssahani/dhcp-send-option-data
...
network: DHCPv4 client- add support to send arbitary option and data
2019-10-16 11:31:22 +02:00
Yu Watanabe
277ba8d1ab
network: add support matching based on BSSID=
2019-10-15 01:59:56 +09:00
Yu Watanabe
8d968fdd99
network: support matching based on wifi SSID
2019-10-15 01:59:06 +09:00
Susant Sahani
cb29c15605
network: DHCPv4 client: add support to send arbitary option and data
2019-10-15 00:14:02 +09:00
Susant Sahani
c16c780804
network: introduce ip nexthop routing
...
Used to manipulate entries in the kernel's nexthop tables.
Example:
```
[NextHop]
Id=3
Gateway=192.168.5.1
```
2019-10-14 21:32:48 +09:00
Zbigniew Jędrzejewski-Szmek
6e2d361d53
Merge pull request #13696 from keszybz/keep-dhcp-on-restart
...
Add a way to differentiate restart from stop and keep dhcp config on restart
2019-10-03 11:25:12 +02:00
Zbigniew Jędrzejewski-Szmek
5f3b5f190f
networkd: change SendRelease default to true
...
Now that we don't drop DHCP config on restart, this seems appropriate.
2019-10-02 14:01:42 +02:00
Zbigniew Jędrzejewski-Szmek
800603524a
networkd: drop DHCPv4 config on stop, keep on restart, by default
...
This partially reverts 95355a281c
.
It seems that other parts of link_stop_clients() should be skipped
when restarting, but I don't know enough about those other clients to have
an opinion if it is better to stop&start them on restart or not.
Anyway, that can be done in later patches now that the support for restarts
is there.
Fixes #13625 .
2019-10-02 14:01:42 +02:00
Susant Sahani
2805536bff
network: DHCPv6 client add support for prefix delegation hint
...
Add support for prefix hint lenth and prefix hint address
```
Frame 43: 177 bytes on wire (1416 bits), 177 bytes captured (1416 bits) on interface 0
Ethernet II, Src: f6:c1:08:4d:45:f1 (f6:c1:08:4d:45:f1), Dst: IPv6mcast_01:00:02 (33:33:00:01:00:02)
Internet Protocol Version 6, Src: fe80::d250:c82:7f6e:28d6, Dst: ff02::1:2
User Datagram Protocol, Src Port: 546, Dst Port: 547
DHCPv6
Message type: Solicit (1)
Transaction ID: 0x5c7902
Rapid Commit
Identity Association for Non-temporary Address
Fully Qualified Domain Name
Identity Association for Prefix Delegation
Option: Identity Association for Prefix Delegation (25)
Length: 41
Value: 1b97b1690000000000000000001a0019ffffffffffffffff…
IAID: 1b97b169
T1: 0
T2: 0
IA Prefix
Option: IA Prefix (26)
Length: 25
Value: ffffffffffffffff3c000000000000000000000000000000…
Preferred lifetime: infinity
Valid lifetime: infinity
Prefix length: 60
Prefix address: ::
Option Request
Client Identifier
Elapsed time
```
2019-10-01 23:52:40 +09:00
Siddharth Chandrasekara
afe42aef39
dhcp4: make IPServiceType configurable
...
IPServiceType set to CS6 (network control) causes problems on some old
network setups that continue to interpret the field as IP TOS.
Make DHCP work on such networks by allowing this field to be set to
CS4 (Realtime) instead, as this maps to IPTOS_LOWDELAY.
Signed-off-by: Siddharth Chandrasekaran <csiddharth@vmware.com>
2019-09-26 11:39:46 +09:00
Susant Sahani
299d578f7f
network: DHCP server Add support to transmit SIP server
...
1. DHCP server trasmit
2. Client parses and saves in leases
Implements http://www.rfc-editor.org/rfc/rfc3361.txt
```
Frame 134: 348 bytes on wire (2784 bits), 348 bytes captured (2784 bits) on interface 0
Ethernet II, Src: 42:65:85:d6:4e:32 (42:65:85:d6:4e:32), Dst: 1e:04:f8:b8:2f:d4 (1e:04:f8:b8:2f:d4)
Internet Protocol Version 4, Src: 192.168.5.1, Dst: 192.168.5.11
User Datagram Protocol, Src Port: 67, Dst Port: 68
Dynamic Host Configuration Protocol (ACK)
Message type: Boot Reply (2)
Hardware type: Ethernet (0x01)
Hardware address length: 6
Hops: 0
Transaction ID: 0x7cc87cb4
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
Client IP address: 0.0.0.0
Your (client) IP address: 192.168.5.11
Next server IP address: 0.0.0.0
Relay agent IP address: 0.0.0.0
Client MAC address: 1e:04:f8:b8:2f:d4 (1e:04:f8:b8:2f:d4)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (53) DHCP Message Type (ACK)
Length: 1
DHCP: ACK (5)
Option: (51) IP Address Lease Time
Length: 4
IP Address Lease Time: (3600s) 1 hour
Option: (1) Subnet Mask (255.255.255.0)
Length: 4
Subnet Mask: 255.255.255.0
Option: (3) Router
Length: 4
Router: 192.168.5.1
Option: (6) Domain Name Server
Length: 4
Domain Name Server: 192.168.5.1
Option: (42) Network Time Protocol Servers
Length: 4
Network Time Protocol Server: 192.168.1.1
Option: (120) SIP Servers <=====here
Length: 9
SIP Server Encoding: IPv4 Address (1)
SIP Server Address: 192.168.1.1
SIP Server Address: 192.168.5.2
Option: (101) TCode
Length: 13
TZ TCode: Europe/Berlin
Option: (54) DHCP Server Identifier (192.168.5.1)
Length: 4
DHCP Server Identifier: 192.168.5.1
Option: (255) End
Option End: 255
```
```
cat /run/systemd/netif/state ✔ ⚡ 3148 16:40:51
OPER_STATE=routable
CARRIER_STATE=carrier
ADDRESS_STATE=routable
DNS=192.168.94.2 192.168.5.1
NTP=192.168.5.1
SIP=192.168.1.1 192.168.5.2
```
aa
2019-09-20 21:22:23 +09:00
Susant Sahani
5bc945bec4
network dhcp4: Add support send request options in a generic manner
2019-09-20 21:05:48 +09:00
Susant Sahani
203d4df573
network: Add support to advertie ipv6 route
...
Implements https://tools.ietf.org/html/rfc4191
cat veth99.network
```
[Match]
Name=veth99
[Network]
DHCP=no
IPv6PrefixDelegation=yes
Address=2001:db8:0:1::1/64
[IPv6Prefix]
Prefix=2001:db8:0:1::4/64
[IPv6RoutePrefix]
Route=2001:db0:fff::/48
```
Wireshark
```
Frame 481: 142 bytes on wire (1136 bits), 142 bytes captured (1136 bits) on interface 0
Ethernet II, Src: 1e:04:f8:b8:2f:d4 (1e:04:f8:b8:2f:d4), Dst: IPv6mcast_01 (33:33:00:00:00:01)
Internet Protocol Version 6, Src: fe80::1c04:f8ff:feb8:2fd4, Dst: ff02::1
Internet Control Message Protocol v6
Type: Router Advertisement (134)
Code: 0
Checksum: 0xec77 [correct]
[Checksum Status: Good]
Cur hop limit: 0
Flags: 0x00, Prf (Default Router Preference): Medium
Router lifetime (s): 0
Reachable time (ms): 0
Retrans timer (ms): 0
ICMPv6 Option (Source link-layer address : 1e:04:f8:b8:2f:d4)
Type: Source link-layer address (1)
Length: 1 (8 bytes)
Link-layer address: 1e:04:f8:b8:2f:d4 (1e:04:f8:b8:2f:d4)
ICMPv6 Option (MTU : 1500)
Type: MTU (5)
Length: 1 (8 bytes)
Reserved
MTU: 1500
ICMPv6 Option (Prefix information : 2001:db8:0:1::4/64)
Type: Prefix information (3)
Length: 4 (32 bytes)
Prefix Length: 64
Flag: 0xc0, On-link flag(L), Autonomous address-configuration flag(A)
Valid Lifetime: 2592000
Preferred Lifetime: 604800
Reserved
Prefix: 2001:db8:0:1::4
ICMPv6 Option (Route Information : Medium 2001:db0:fff::/48)
Type: Route Information (24)
Length: 3 (24 bytes)
Prefix Length: 48
Flag: 0x00, Route Preference: Medium
...0 0... = Route Preference: Medium (0)
000. .000 = Reserved: 0
Route Lifetime: 604800
Prefix: 2001:db0:fff::
```
2019-09-17 12:09:59 +02:00
Zbigniew Jędrzejewski-Szmek
4eaa2486b8
Merge pull request #13235 from yuwata/network-routing-policy-rule-family-13233
...
network: add RoutingPolicyRule.Family= setting
2019-08-19 10:08:23 +02:00
Mr-Foo
b1e91af8d9
trivial spelling fixes ( #13339 )
2019-08-18 01:30:57 +09:00
Yu Watanabe
f6c6ff97f5
network: add RoutingPolicyRule.Family= setting
...
Closes #13233 .
2019-08-16 22:02:17 +09:00
frederik
4c94a4c2d6
man: add example for IPv6 Prefix Delegation
2019-08-11 06:22:12 +09:00