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
Yu Watanabe
55a1729fd0
network: drop noisy log message
...
Closes #13595 .
2019-09-26 11:37:50 +09:00
Yu Watanabe
82d1264048
Merge pull request #11883 from yuwata/network-dhcp-renew
...
network: dhcp renew
2019-09-22 07:44:23 +02:00
Yu Watanabe
fc9d85b9bc
Merge pull request #13610 from yuwata/network-check-one-more-section
...
network: assorted follow-ups
2019-09-22 07:18:28 +02:00
Frantisek Sumsal
38288f0bb8
tree-wide: various code-formatting improvements
...
Reported/found by Coccinelle
2019-09-22 07:17:27 +02:00
Yu Watanabe
308e7dfdce
networkctl: add renew command
2019-09-21 20:27:43 +09:00
Yu Watanabe
ae65d7dbe3
network: introduce new bus method Renew() and RenewLink()
2019-09-21 20:27:36 +09:00
Yu Watanabe
714a199e48
network: add one more section validty check
...
Follow-up for 203d4df573 .
2019-09-21 20:17:15 +09:00
Chris Down
de307e199b
networkd: Fix SIP double-free
...
This is already strv_freed right above
2019-09-20 15:15:04 +02: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
AsciiWolf
984b96aa7a
polkit: fix typo
2019-09-20 21:02:47 +09:00
Yu Watanabe
62080133da
Merge pull request #13583 from keszybz/networkd-hash-compare-equality
...
Networkd hash compare equality
2019-09-18 08:09:48 +09:00
Frantisek Sumsal
59a224d728
Merge pull request #13577 from yuwata/network-fix-ci-failure
...
network: fix CI failure
2019-09-17 17:42:26 +00:00
Zbigniew Jędrzejewski-Szmek
314ed4f994
networkd: unbreak routing_policy_rule_compare_func()
...
!r is the same r == 0, so this was short-circuiting the comparison when
streq(a->iff, b->iff) or streq(a->off, b->off). Before the parent commit which
moved those comparisons to the end, this was short-circuiting quite a bit
of the comparison function.
2019-09-17 19:27:58 +02:00
Zbigniew Jędrzejewski-Szmek
404ca5560b
Merge pull request #13508 from yuwata/network-route-fix-13506
...
network: takes more route information into hash func
2019-09-17 19:20:21 +02:00
Zbigniew Jędrzejewski-Szmek
a811fb8b37
networkd: make neighbor_hash_func() handle the same data as neighbor_compare_func()
...
In practice this probably makes little difference, because we only use AF_INET
and AF_INET6, but it's cleaner to use the same logic in both places.
2019-09-17 19:13:09 +02:00
Zbigniew Jędrzejewski-Szmek
67e05dd8cd
networkd: use same order in _hash_func() and _compare_func()
...
This makes it easier to see that the same data is handled in both cases.
No functional change.
2019-09-17 19:11:50 +02:00
Zbigniew Jędrzejewski-Szmek
24be91817f
networkd: split out helper function for address extraction
2019-09-17 19:09:57 +02:00
Yu Watanabe
edfbf051e1
Merge pull request #13559 from ssahani/ipv6ra-route
...
network: make networkd able to advertise IPv6 routes on links
2019-09-18 00:13:08 +09:00
Yu Watanabe
fa3e401a79
network: also take Route::initcwnd and ::initrwnd into hash func
...
Fixes #13506 .
2019-09-17 21:53:42 +09:00
Yu Watanabe
c077a205e7
network: take more route information into hash func
2019-09-17 21:53:42 +09:00
Yu Watanabe
f136875549
network: make route_get() or friends take Route object
2019-09-17 21:53:42 +09:00
Yu Watanabe
4d59e14f32
network: do not enter failed state if device's sysfs entry does not exist yet
2019-09-17 21:34:06 +09:00
Yu Watanabe
b1b0b42e48
network: add missing link->network checks
...
When the function is called, no network file may be assigned to the
link.
2019-09-17 21:29:35 +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
Yu Watanabe
5539fc0f73
network: drop IPv6LL address when LinkLocalAddressing=no|ipv4
...
C.f. disscussion in #13533 .
Hopefully fixes #12886 .
2019-09-17 09:45:22 +09:00
Susant Sahani
61cda4d796
network DHCP4: Dont mislead the logs.
...
The debug log making sense to the end user as an error.
2019-09-17 08:09:44 +09:00
Yu Watanabe
1520151268
network: add more debug messages
2019-09-15 22:33:11 +09:00
Yu Watanabe
c697db75de
network: set scope and protocol for default route
2019-09-15 22:33:11 +09:00
Yu Watanabe
750f919112
network: drop redundant and invalid destination address
...
When dst_prefixlen is not set, the value is not used.
2019-09-15 22:33:11 +09:00
Yu Watanabe
70dc23624e
network: do not use implicit cast to boolean
2019-09-15 22:33:11 +09:00
Yu Watanabe
2aa7d367ec
network: do not create default route for ipv4 link local addressing
...
When nspawn container with private network starts, networkd creates
the default route for the interface. The route may cause problem on
the host side, and it can be created with DefaultRouteOnDevice= now.
Hence, this makes networkd not create the route implicitly any more.
Closes #13418 .
2019-09-15 22:33:11 +09:00
Zbigniew Jędrzejewski-Szmek
3af900718e
Merge pull request #13405 from yuwata/network-ipv6-privacy-extensions-cleanup
...
Network ipv6 privacy extensions cleanup
2019-09-13 18:03:29 +02:00
Zbigniew Jędrzejewski-Szmek
ea2552639b
polkit: change "revert settings" to "reset settings"
...
"reset" is more understandable. The verb is "revert", but it might actually be
better to have a description which uses different words instead of duplicating
the name of the command.
https://github.com/systemd/systemd/commit/379158684abd981cc760342aad61b1c813b71eb2#commitcomment-34992552
2019-09-12 18:35:49 +02:00
Yu Watanabe
be7110826e
network: do not abort execution when a config file cannot be loaded
...
Closes #13516 .
2019-09-11 21:15:22 +09:00
Yu Watanabe
0bae857564
network: also check the permission of key file
2019-09-11 21:11:01 +09:00
Susant Sahani
cdf01b36db
networkctl: Display address is a DHCP4 address
...
CLoses https://github.com/systemd/systemd/issues/10839
2019-09-09 20:01:54 +05:30
Yu Watanabe
f8c2e4b926
network: adjust log level when DHCPv4 lease lost
2019-08-31 22:00:54 +02:00
Yu Watanabe
b977347498
Merge pull request #13412 from yuwata/network-check-and-warn-more
...
network: check more static IPv6 configurations and add more warnings
2019-08-28 15:23:01 +09:00
Yu Watanabe
44013aa4f5
network: add more warnings in network_verify()
2019-08-27 23:53:46 +09:00
Yu Watanabe
adfeee49c5
network: enable ipv6 when the network has static ipv6 configurations
2019-08-27 23:53:46 +09:00
Zbigniew Jędrzejewski-Szmek
57ad760746
network: drop all checks of ipv6_disabled sysctl
...
*We* control the sysctl setting. If the user configured IPv6, then we apply the
settings, and just make sure that at some point during the configuration the
sysctl is disabled (i.e. ipv6 enabled) if we have IPv6 configured.
Replaces #13283 .
2019-08-27 15:31:48 +02:00
Yu Watanabe
b146ad71cc
network: use DEFINE_STRING_TABLE_LOOKUP_WITH_BOOLEAN() macro at one more place
2019-08-26 16:19:02 +09:00
Yu Watanabe
5e8712404e
network: drop redundant "else"
2019-08-26 15:40:30 +09:00
Susant Sahani
482efedc08
network: Do not disable IPv6 by writing to sysctl
...
Only enable is and do not disable IPv6
2019-08-22 13:21:57 +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
Zbigniew Jędrzejewski-Szmek
165df4dcda
Merge pull request #13345 from yuwata/network-fix-preferred-lifetime-zero-13341
...
network: fix PreferredLifetime=0
2019-08-19 09:59:16 +02:00
Zbigniew Jędrzejewski-Szmek
adfafd88b2
Revert "shared/conf-parser,networkd: EXTRACT_UNQUOTE|EXTRACT_RETAIN_ESCAPE → EXTRACT_UNQUOTE"
...
This reverts commit 8a07b4033e .
The tests are kept. test-networkd-conf is adjusted to pass.
This fixes #13276 . I think current rules are extremely confusing, as the
case in test-networkd-conf shows. We apply some kinds of unescaping (relating
to quoting), but not others (related to escaping of special characters).
But fixing this is hard, because people have adjusted quoting to match
our rules, and if we make the rules "better", things might break in unexpected
places.
2019-08-19 09:54:06 +02:00
Yu Watanabe
ce158189a8
network: do not check deprecated flag in address_is_ready()
...
Without this change, the address with PreferredLifetime=0 cannot be ready,
and thus, no consequent setting up process does not start.
The bug was introduced by 6aa5773 .
Follow-up for b7ed5384ab .
Fixes #13341 .
2019-08-19 00:04:42 +09:00