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