summaryrefslogtreecommitdiff
path: root/src/network/networkd-link.h
Commit message (Collapse)AuthorAgeFilesLines
* network: wifi: try to reconfigure when connectedYu Watanabe2022-11-221-0/+1
| | | | | | | | | | Sometimes, RTM_NEWLINK message with carrier is received earlier than NL80211_CMD_CONNECT. To make SSID= or other WiFi related settings in [Match] section work, let's try to reconfigure the interface. Fixes a bug introduced by 96f5f9ef9a1ba5146d3357c1548fb675d3bd5b68. Fixes #25384.
* network: drop unnecessary prototypeYu Watanabe2022-11-221-1/+0
| | | | Follow-up for a39a9ac8065c29330207838b70fe388bde2bc254.
* network: simplify the logic of reading driver and permanent HW addressYu Watanabe2022-10-311-0/+4
| | | | | | | | No functional changes, just refactoring and preparation for later commits. Note, `link->dev` should always exist when link state is initialized or later.
* network: ndisc: also introduce timer event source to drop outdated settingsYu Watanabe2022-10-041-0/+1
| | | | | Otherwise, settings based on previously received RA messages will never removed without receiving a new RA message.
* network: manage SR-IOV PF and VF portsYu Watanabe2022-08-051-0/+3
|
* network: split link_ipv4ll_enabled() into twoYu Watanabe2022-08-021-2/+0
| | | | And move it from networkd-link.[ch] to relevant files.
* network: introduce a tiny wrapper for manager_udev_process_link()Yu Watanabe2022-07-231-1/+1
| | | | Preparation for later commits.
* network: rename Link.sd_device -> Link.devYu Watanabe2022-07-231-1/+1
|
* network: drop support for old kernels which cannot set prefix route with ↵Yu Watanabe2022-05-211-2/+0
| | | | | | | | | | | | | | non-main route table Not sure when the issue was fixed. - kernel-3.10 on CentOS 7 has the issue, - kernel-4.18 on CentOS 8 works fine. Note, the workaround dropped by the commit is not incomplete: with an old kernel which has the issue, all non-prefix routes are configured on the specified route table, but the prefix route is configured on the main table. That should not work for most cases, hence, the workaround is mostly meaningless.
* Fix "link-local" language inconsistenciesSebastian Pucilowski2022-03-311-1/+1
| | | | | | "Link-local" and "link local" are used throughout man pages and program output, with the former used far more than the latter. This commit makes it consistent throughout the project.
* network: traffic control: drop meta from QDisc and TClassYu Watanabe2022-02-261-1/+2
| | | | | Since #22248, it is not necessary to manage QDisc and TClass in same Set or Hashmap. Let's manage them independently.
* network: drop unused flag and counterYu Watanabe2022-02-261-2/+0
|
* network: assign corresponding NetDev object to LinkYu Watanabe2022-02-261-0/+2
|
* Merge pull request #22452 from yuwata/network-ipv6llYu Watanabe2022-02-101-2/+4
|\ | | | | network: use sysctl to set IPv6LL address generation mode when the interface is already up
| * network: monitor current IPv6LL address generation modeYu Watanabe2022-02-101-0/+3
| |
| * network: move ipv6ll related functions to networkd-ipv6ll.[ch]Yu Watanabe2022-02-091-2/+1
| |
* | network: tc: monitor qdisc and tclassYu Watanabe2022-02-091-0/+1
|/
* netif-util: introduce netif_has_carrier()Yu Watanabe2022-01-211-1/+5
|
* network: wait until the DSA master interface becomes upYu Watanabe2021-12-171-0/+1
| | | | | | | | | | | | This is for the DSA subsystem, which have several stacked interfaces on the master interface. To bring up a stacked interface, it is necessary that the master is already up. See https://github.com/systemd/systemd/issues/7478#issuecomment-348508263. Note this is not necessary for newer kernels which includes https://github.com/torvalds/linux/commit/9d5ef190e5615a7b63af89f88c4106a5bc127974. Fixes #7478.
* network: wireguard: allow to run NDisc and RADV when IPv6LL address is ↵Yu Watanabe2021-12-091-0/+1
| | | | | | manually configured Fixes #17380.
* network: dhcp-pd: add 6rd supportYu Watanabe2021-12-071-0/+1
| | | | Closes #19152.
* network: dhcp-pd: rename [DHCPv6PrefixDelegation] -> [DHCPPrefixDelegation]Yu Watanabe2021-12-071-4/+5
| | | | | | | This just changes the names of settings, variables, functions, files, and so on. No functionality is changed. Preparation for supporting 6rd.
* Merge pull request #21360 from yuwata/network-jsonZbigniew Jędrzejewski-Szmek2021-11-261-0/+3
|\ | | | | network: json: add more information
| * network: introduce link_flags_to_string_alloc() and kernel_operstate_to_string()Yu Watanabe2021-11-251-0/+3
| |
* | network: make MACAddress= takes hardware address with its length is ↵Yu Watanabe2021-11-251-0/+1
|/ | | | | | | INFINIBAND_ALEN Also, the multicast and local bits in the specified MAC address for ethernet are adjusted.
* Merge pull request #21344 from yuwata/network-ignore-carrier-loss-timespanYu Watanabe2021-11-161-0/+3
|\ | | | | network: make IgnoreCarrierLoss= also take a timespan
| * network: make IgnoreCarrierLoss= also take timespanYu Watanabe2021-11-161-0/+3
| | | | | | | | | | | | Fixes #18738 and #20887. Replaces #18746.
* | ethtool-util: introduce ethtool_get_permanent_hw_addr()Yu Watanabe2021-11-131-1/+1
|/ | | | And replaces all ethtool_get_permanent_macaddr() with it.
* Merge pull request #20226 from yuwata/network-introduce-source-and-statusYu Watanabe2021-09-301-29/+6
|\ | | | | network: introduce NetworkConfigSource and NetworkConfigState
| * network: use NetworkConfigSource/State to manage addresses and routesYu Watanabe2021-09-241-29/+6
| | | | | | | | This also fixes #20146.
* | network: use sd-lldp-txYu Watanabe2021-09-281-2/+2
| |
* | sd-lldp-rx: rename sd_lldp -> sd_lldp_rxYu Watanabe2021-09-271-1/+1
| |
* | sd-lldp: rename sd-lldp.[ch] -> sd-lldp-rx.[ch]Yu Watanabe2021-09-271-1/+1
|/
* network: use NetworkConfigSource/State to manage nexthopsYu Watanabe2021-09-151-2/+0
| | | | | | This also changes the logic when Id= is not specified. Previously, kernel picks the lowest unused ID, but now networkd picks the lowest unused ID.
* network: use NetworkConfigSource/State to manage neighborsYu Watanabe2021-09-151-2/+0
|
* network: store IPv6LL address even if link is in failed stateYu Watanabe2021-09-111-1/+1
| | | | | Otherwise, if IPv6LL is received when the link is in failed state, we may fail to reconfigure the link.
* network: reconfigure link after coming back from sleepYu Watanabe2021-08-101-1/+1
| | | | | | | | | Previously, link was reconfigured with `link_carrier_reset()`, but it just re-request to configure static addresses, routes, etc, and restart engines (e.g. DHCP client). However, after coming back from sleep, several link information may be changed, especially the wifi access point may be different. So, we may need to reconfigure the interface.
* network: ipv4acd: first probe address and then assign itYu Watanabe2021-07-011-2/+1
| | | | | | | | | | | | | Previously, if IPv4 ACD is enabled on an address, then we first assign the address, and start sd-ipv4acd daemon for the address. This is not only RFC incompliant, but also the address is always dropped, as the daemon always considers the address is conflicted. This commit makes networkd first starts sd-ipv4acd daemon to probe the address, and then the address is configured if no conflict is detected. Fixes #17235.
* network: introduce link_get_by_hw_addr()Yu Watanabe2021-07-011-0/+1
|
* network: rename Manager::links -> Manager::links_by_indexYu Watanabe2021-07-011-1/+1
| | | | This also renames link_get() -> link_get_by_index().
* ether-addr-util: drop redundant "addr" from struct hw_addr_dataYu Watanabe2021-06-101-2/+2
| | | | Also, this makes always specifiy "struct" for hw_addr_data.
* network: do not process requests which conditionalized with link flags while ↵Yu Watanabe2021-06-091-0/+1
| | | | | | | | the flags are updating E.g. nexthop requires IFF_UP flag, but the currently stored flag may be outdated if we called link_down(). This makes such requests pending if at least one of the flags are updating.
* network: read the minimum and maximum MTU of the interface, and adjust ↵Yu Watanabe2021-06-091-1/+3
| | | | requested MTU based on these values
* network: use request queue to configure CAN interfacesYu Watanabe2021-06-091-1/+0
| | | | | This also makes SR-IOV configurations are ignored for CAN interfaces, as CAN interfaces seem not to support SR-IOV features.
* network: use link_request_to_set_master() or friendsYu Watanabe2021-06-081-5/+0
|
* network: introduce link_request_to_activate()Yu Watanabe2021-06-081-2/+1
| | | | | The request will be processed after all setlink requests are processed. The function will be used in later commits.
* network: set bridge or bond properties after master ifindex is setYu Watanabe2021-06-081-0/+1
|
* network: introduce link_call_getlink()Yu Watanabe2021-06-081-0/+2
|
* network: introduce link_get_master() and use it where applicableYu Watanabe2021-06-081-0/+1
|
* network: introduce link_request_to_create_stacked_netdev()Yu Watanabe2021-06-081-0/+4
| | | | This will be used in later commits.