- 25 Jun, 2022 1 commit
-
-
Lubomir Rintel authored
Fixes: 919a61bc ('platform/netlink: extend nl_nlmsghdr_to_str() for genl messages')
-
- 24 Jun, 2022 14 commits
-
-
Lubomir Rintel authored
!1215
-
Beniamino Galvani authored
_dev_l3_register_l3cds() schedules a commit, but if the device has commit type NONE, that doesn't emit a l3cd-changed. Do it manually, to ensure that entries are removed from the DNS manager. Related: b86388be ('core: avoid stale entries in the DNS manager') Fixes: 58287cbc ('core: rework IP configuration in NetworkManager using layer 3 configuration') #995 !1268
-
Thomas Haller authored
!1270
-
Thomas Haller authored
-
Thomas Haller authored
We just always want to set this. No need for a setter that is only called once.
-
Thomas Haller authored
- replace "s_flags" field by explicit boolean fields. - "s_msg_peek" now is simplified. Previously, we would default to peek, unless the user caller nl_socket_disable_msg_peek() or set nl_socket_set_msg_buf_size(). Simplify that. We now default to peek, unless NL_SOCKET_FLAGS_DISABLE_MSG_PEEK is set. We have no callers that call nl_socket_set_msg_buf_size(), so we can simplify that logic and just enable peeking by default. - keep "s_auto_ack" field, although it is always TRUE and there is no API to toggle that. However, it is kept as a self-documenting thing, so we would know the relevant places where auto-ack matters. - drop nl_socket_disable_msg_peek(). We have no caller of this function and we can set peeking in nl_socket_new(). We also don't need to change it after creation of the socket.
-
Thomas Haller authored
The real purpose is that we set the socket options before bind(). For that, we need to be able to specify the flag during nl_socket_new(). Another reason is that these are common questions to ponder while creating a netlink socket. There shouldn't be several setter functions, just specify the flag right away. These parameters are not going to change afterwards (at least, we don't need/use that and we don't have API for that either).
-
Thomas Haller authored
Print more details for generic netlink messages. Also, pass the group that we obtained via NETLINK_PKTINFO. Also, factor out simple to-string methods.
-
Thomas Haller authored
We will need this, for getting nl_pktinfo control messages that contain the extended destination group number. Also, drop NL_SOCK_PASSCRED. It was only used to not iterate over the control messages, but doing that should be cheap.
-
Thomas Haller authored
- drop "abort_parsing" variable, it was redundant. - rename event_valid_msg(), as this is about NETLINK_ROUTE. - rename "err" variable to "retval".
-
Thomas Haller authored
This also applies to genl messages. Move the code.
-
Thomas Haller authored
There really is no need for two(!) heap allocations while parsing the netlink message. We already have it in the buffer. Just use it. Note that netlink attributes need to be aligned to 4 bytes. But nlmsg_next() already ensures that, so not even for alignment purpose we need to clone the message. Create a new "struct nl_msg_lite" that can hold pointers to everything we need.
-
Thomas Haller authored
-
- 23 Jun, 2022 20 commits
-
-
Lubomir Rintel authored
We almost always do the wrong thing in interactive add: The software devices generally require an interactive name, but we don't insist of asking for them; treating them as optional: $ nmcli -a c add type dummy There is 1 optional setting for General settings. Do you want to provide it? (yes/no) [yes] For some interface types (bridges, bonds, ...) we make up a name, presumably for historical reasons. But we don't give the user an option to modify them: $ nmcli -a c add type bridge <not asking for interface name at all> There are 9 optional settings for Bridge device. Do you want to provide them? (yes/no) [yes] This fixes the above use cases -- still set the default, but be sure to ask: $ nmcli -a c add type dummy Interface name: $ nmcli -a c add type bridge Interface name [nm-bridge1]: Beautiful.
-
Lubomir Rintel authored
Do the same bookkeeping as would happen upon setting the "type" option when the connection has a connection.type set upon its addition. Otherwise the --ask mode is sad: $ nmcli --ask c add connection.type team ** nm:ERROR:src/nmcli/connections.c:5648:connection_get_base_meta_setting_type: assertion failed: (base_setting) Bail out! nm:ERROR:src/nmcli/connections.c:5648:connection_get_base_meta_setting_type: assertion failed: (base_setting) Aborted (core dumped)
-
Lubomir Rintel authored
After the connection's type is set, some bookkeeping is necessary for the interactive (--ask) mode: appropriate setting need to be added and options enabled. Currently it happens in an option setter; which runs when the "type" options is present on the command line, or the value is set in a response to interactive mode: $ nmcli --ask c add type team $ nmcli --ask c add Connection type: team But not when the property is set directly: $ nmcli --ask c add connection.type team ** nm:ERROR:src/nmcli/connections.c:5648:connection_get_base_meta_setting_type: assertion failed: (base_setting) Bail out! nm:ERROR:src/nmcli/connections.c:5648:connection_get_base_meta_setting_type: assertion failed: (base_setting) Aborted (core dumped) This doesn't fix the issue -- a followup commit (hopefully) will.
-
Lubomir Rintel authored
For new connections, this ensures the value in square brackets on interactive add are always correct. Apart from that, this allows us to initialize some non-default values before asking (such as making up an interface name for some software devices), and inform the user about what we picked: Interface name [nm-bridge]:
-
Lubomir Rintel authored
This is slightly annoying: $ nmcli -a c add type ethernet There is 1 optional setting for General settings. No point in asking if there's just one option. Just ask right away: $ nmcli -a c add type ethernet Interface name:
-
Lubomir Rintel authored
We use it before we validate the connection, thus need to check if it's actually there.
-
Lubomir Rintel authored
-
Lubomir Rintel authored
This makes things slightly less annoying when dealing with options that map nicely to properties (unlike bridge options).
-
Lubomir Rintel authored
The interactive add is not too enthusiastic about not providing a value in a list. That is before on getting an empty line in ask_option() we take a shortcut instead of dispatching to set_option(). That way we skip setting the PROPERTY_INF_FLAG_DISABLED flag, causing the option to be included in questionnaire_one_optional()'s info list. There's no reason to avoid calling set_option() if we don't get a value; set_option() handles NULL value just fine. $ nmcli -a c add Connection type: dummy There is 1 optional setting for General settings. Do you want to provide it? (yes/no) [yes] Interface name [*]: lala There are 2 optional settings for IPv4 protocol. Do you want to provide them? (yes/no) [yes] You can specify this option more than once. Press <Enter> when you're done. IPv4 address (IP[/plen]) [none]: You can specify this option more than once. Press <Enter> when you're done. IPv4 address (IP[/plen]) [none]: You can specify this option more than once. Press <Enter> when you're done. IPv4 address (IP[/plen]) [none]: ...
-
Lubomir Rintel authored
If we're setting an option with no value given and no reset allowed, let's just set the default value.
-
Lubomir Rintel authored
Like the regular set_option() handler, the special ones also need to know whether to reset an option or keep the value.
-
Lubomir Rintel authored
These are just plain wrong.
-
Thomas Haller authored
They are not supposed to be modified.
-
Thomas Haller authored
-
Thomas Haller authored
Whether we use a socket blockingly or non-blocking is usually determined upfront and does not change. Make it a parameter of nl_socket_new(). Also, it saves an additional syscall.
-
Thomas Haller authored
This actually cannot happen, because GInetAddress is either IPv4 or IPv6. Still.
-
Lubomir Rintel authored
This is not good: $ nmcli device delete nm-bond Segmentation fault (core dumped) Fixes: 5f9d2927 ("nmcli/devices: use GPtrArray from get_device_list() directly")
-
Lubomir Rintel authored
!1207
-
Beniamino Galvani authored
Example: $ cat /run/NetworkManager/conf.d/15-carrier-timeout.conf # Created by nm-initrd-generator (from "rd.net.timeout.carrier") [device-15-carrier-timeout] match-device=* carrier-wait-timeout=12000
-
Beniamino Galvani authored
Instead of just printing something like "*** Carrier timeout 10sec", print the actual configuration snippet that was generated.
-
- 22 Jun, 2022 1 commit
-
-
Beniamino Galvani authored
The IPv6 shared mode starts IPv6 autoconf to send router advertisements. IPv6 autoconf schedules a 30-second timeout waiting for a link-local address to appear. When the link-local address appears, we need to cancel the timeout. Fixes: 58287cbc ('core: rework IP configuration in NetworkManager using layer 3 configuration') #1030 !1266
-
- 21 Jun, 2022 1 commit
-
-
Thomas Haller authored
-
- 20 Jun, 2022 1 commit
- 17 Jun, 2022 2 commits
-
-
Thomas Haller authored
!1259
-
Distinguish a OWE-TM enabled BSS (which itself is unencrypted) from the OWE BSS actually employing encryption. Signed-off-by:
David Bauer <mail@david-bauer.net>
-