| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
https://bugzilla.redhat.com/show_bug.cgi?id=1852106
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/557
(cherry picked from commit 15492e6c503be48b90602160c2099a965a00917b)
(cherry picked from commit f819a7cabfed11e0f56302ee5ac9d1b8635581dc)
(cherry picked from commit 8dc357dc11f735703965193a235b4a401bd38f31)
(cherry picked from commit a9b3730bf296fbd3c2d553423a31bcd436f2df4b)
(cherry picked from commit 3d349eb5fe106a67ace65c03e74adee4bf591a81)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
nm_device_cleanup() can be called when the device no longer has an
ifindex. In such case, don't try to reset the MAC address as that
would lead to an assertion failure.
(cherry picked from commit 77b6ce7d04f6c88e78fb7f1972549956e00e1f4b)
(cherry picked from commit 791a888cad3d260675781c0ed30acf13cc1194f7)
(cherry picked from commit e1f76e70447049487b2d8240ce12007624ab3c29)
(cherry picked from commit 5f22c06c53d9ae9003cd17603d6d6ff3e16f195b)
(cherry picked from commit 6beaa83d32d4c2784771b114725c34056f7083bf)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We already set the MAC of OVS interfaces in the ovsdb. Unfortunately,
vswitchd doesn't create the interface with the given MAC from the
beginning, but first creates it with a random MAC and then changes it.
This causes a race condition: as soon as NM sees the new link, it
starts IP configuration on it and (possibly later) vswitchd will
change the MAC.
To avoid this, also set the desired MAC via netlink before starting IP
configuration.
https://bugzilla.redhat.com/show_bug.cgi?id=1852106
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/483
(cherry picked from commit 47ec3d14d49eb9e9db956b3efd495d5d696da996)
(cherry picked from commit 60d10b146d57290f146536705d744e67925de90e)
(cherry picked from commit 01399955906aa1b1e52998e8daf487b30fa6eb81)
(cherry picked from commit 69c5c5e7670e8199829df308316d055be049c978)
(cherry picked from commit 91d2b0fd5ae4960420da0321dd1b11f8333f7d4d)
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a user creates a ovs-interface with the same name of the parent
ovs-bridge, openvswitch considers the interface as the "local
interface" [1] and assigns the MAC address of the bridge to the
interface [2].
This is confusing for users, as the cloned MAC property is ignored in
some cases, depending on the ovs-interface name.
Instead, detect when the interface is local and set the MAC from the
ovs-interface connection in the bridge table.
[1] https://github.com/openvswitch/ovs/blob/v2.13.0/vswitchd/vswitch.xml#L2546
[2] https://github.com/openvswitch/ovs/blob/v2.13.0/vswitchd/bridge.c#L4744
(cherry picked from commit 5d4c8521a38c166a9a0aafe5be2bd0545084e154)
(cherry picked from commit 7548c29a89e12349fdfe196e96d65a6abae74cb5)
(cherry picked from commit 127294babc23782781c17192c52a2d57f7916170)
(cherry picked from commit f54c5400c8e43e71fb7c4e1e705866862af69ccd)
(cherry picked from commit 1a08885080855c3ee14f181c7bd236680663c97f)
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
https://bugzilla.redhat.com/show_bug.cgi?id=1855563
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/580
(cherry picked from commit 116c49fceb23e23ae61fbc24c3e5b5098a437e9d)
(cherry picked from commit 90cb61f8fd2ff652feebc44802d15ca66631a8fe)
(cherry picked from commit 2dae6833ad3424d1d5407baef177ea6febd51840)
(cherry picked from commit 3c960a9f2b6a9311c60a0f8c82b1706e4ec02834)
(cherry picked from commit f8f2326715b3c010d465b4b67689e2fd02682cc2)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A connection that fails due to dependency-failed is not able to
reconnect until the master connection activates again; when this
happens, the master clears the blocked reason for all its slaves in
activate_slave_connections() and tries to reconnect them. For this to
work, the slave should be marked as blocked when it fails with
dependency-failed.
(cherry picked from commit 725fed01cf7c8508cf426897340b2a4113406aab)
(cherry picked from commit e1755048e35aca682c7d0d233122d4ddaf3bb089)
(cherry picked from commit ecb134ac349a0bf6582833253b6d453d6bf997de)
(cherry picked from commit bb4781cc581a3c9fcefbfc1ea0be5e95aa3e287b)
(cherry picked from commit 70c642325f90f767954aa86079b1bc6a4946f15f)
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the device state change (to disconnected or unmanaged) triggered by
a sleep event happens after the wake, the devices becomes wrongly
unmanaged and it's necessary to manually manage it again, or restart
NM.
During the wake event we should disconnect the device_sleep_cb()
callback for all devices because we don't want to react to state
changes anymore; in particular we don't need to detect when the device
becomes disconnected to unmanage it.
(cherry picked from commit fe2d93980bd5b61c55a8b65a55f7aad35042e691)
(cherry picked from commit 971897195a8218cb0ec08ae95a7210fce73f0b03)
(cherry picked from commit 7913275b02c60803f21609168f9c16d2f2a4be2f)
(cherry picked from commit 6d0e8a2acfa6b7b6a2af1834d8873fc18fc2c55a)
(cherry picked from commit 61c44dad91733bc09e20752915476a7678a73b90)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
do_sleep_wake() tries to restart DHCP for all devices, even ones that
are disconnecting. When a device is disconnecting, it still has a DHCP
client instance but we shouldn't restart it because it makes no sense;
and especially, the device could be already removed.
https://bugzilla.redhat.com/show_bug.cgi?id=1852612
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/561
(cherry picked from commit 2c50438987527a30d99c07601b8f1d1c9557cdaf)
(cherry picked from commit 53214901800ebcd1e1fabf98442983939af979bc)
(cherry picked from commit ef755588ad55261c6ade4ba0278d51d777022183)
(cherry picked from commit da54b35af3b0a5120b4703060ee0b95cbc4fd0bd)
(cherry picked from commit b0be1285cceff5de2eef44a56abda6a98d51c91a)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When there are two patch ports connected, each of them must reference
the other; however they can't be created in a single transaction
because they are part of different bridges (so, different
connections). Therefore, the first patch that gets activated will
always fail with "No usable peer $x exists in 'system' datapath" until
the second patch exists.
In theory we could also match the error message, however this doesn't
seem very robust as the message may slightly change in the future.
(cherry picked from commit ffeac35f0409516aa2302189cca3f0b72518466a)
(cherry picked from commit 75cbf2173862a00ff44342a4a676aa1f6f9ac78d)
(cherry picked from commit 399aad15bf53420cc015c7a920856f88d5584dfc)
(cherry picked from commit 692689ead8aaf4f1441a82e546649d996bd812d4)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the server is restarted the write to unix socket fails with
EPIPE. In such case, don't fail all the calls in queue; instead, after
a sync of the ovsdb state (through a monitor call), start processing
the queue again, including the call that previously failed.
Add a retry counter to avoid that calls are stuck in the queue forever
in a hypothetical scenario in which the write always fails.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/459
(cherry picked from commit db37e530e8f03b7882997194bb325a206555c44d)
(cherry picked from commit 54254bf6fe869b83189f43cdf13652c165d5aa71)
(cherry picked from commit 166ad887f9d2fa361dcc6e0926e21e25c7a4ce2d)
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
https://bugzilla.redhat.com/show_bug.cgi?id=1807726
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/433
(cherry picked from commit 2da77547bafedd352d5c40f66ccd365c454c30d4)
(cherry picked from commit f0b7cb60dd44060b10c9e2d64aeeba7d2143ca4d)
(cherry picked from commit e62afcf0bd9172825294802ef13de8d55714ccc0)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If we change the the MTU of an ovs interface only through netlink, the
change could be overridden by ovs-vswitchd at any time when other
interfaces change. Set the MTU also in the ovsdb to prevent such
changes.
Note that if the MTU comes from the connection, we already set the
ovsdb MTU at creation time and so this other update becomes
useless. But it is needed when changing the MTU at runtime (reapply)
or when the MTU comes from a different source (e.g. DHCP).
(cherry picked from commit c2a97129453c49f86976b42c29b793a87d9d2e41)
(cherry picked from commit e27a59c69e956961efe99f83068b760380b77066)
(cherry picked from commit 99ef891db6a561d6b3dcaec9ead2b2158b43ae8d)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The ovs-vswitchd.conf.db(5) man page says about the the mtu_request
column in the Interface table:
"Requested MTU (Maximum Transmission Unit) for the interface. A
client can fill this column to change the MTU of an
interface [...] If this is not set and if the interface has
internal type, Open vSwitch will change the MTU to match the
minimum of the other interfaces in the bridge."
Therefore, if the connection specifies a MTU, set it early when adding
the interface to the ovsdb so that it will not be changed to the
minimum of other interfaces.
(cherry picked from commit ad12f26312bb4ccc73076f39bd2a618094af6e7e)
(cherry picked from commit 7311d5e2943931a70fb427096ea934072aed63b3)
(cherry picked from commit b81370f70b538688a62ad4a29482dbf9b34c69bc)
|
|/
|
|
|
|
|
|
|
| |
Introduce a nm_ovsdb_set_interface_mtu() function to update the MTU of
an ovs interface in the ovsdb.
(cherry picked from commit a4c2c1a843ff1492c1bfae2455a334b0d1c8389c)
(cherry picked from commit c1be15a66edf1ef1e7de1cc7a0f6e134b8dbdcb7)
(cherry picked from commit 990f46505d6d9bd4de40db458978b6c94664de13)
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
https://bugzilla.redhat.com/show_bug.cgi?id=1787989
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/412
(cherry picked from commit e24fd884941d40209bf6c159be6a4cb61812572a)
(cherry picked from commit 53b878818c4c08c5daa08095483c4c0e68f9b035)
(cherry picked from commit 505aab90e0328d497f533f3ba8ea7e92bde144aa)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the ovs interface gets deactivated, it is released from the
master port and we call nm_device_update_from_platform_link (dev,
NULL) to ignore any later event for the interface. This is important
especially because it sets a zero ifindex on the interface and so,
later when the link disappears, we don't unmanage the device but
directly remove it.
However, since ovs commands are queued, the link could appear during
the deactivation and we need to ignore such events. Add a new device
method can_update_from_platform_link() for such purpose.
(cherry picked from commit e9fc1dea437a3f78212143e8d2b14bcea8926f90)
(cherry picked from commit c4eb0c6852d96b82081babe2c16a54df75717aba)
(cherry picked from commit 34a9247a640504b15daeab578f569a4a151bfa7d)
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tracking the deletion of link by ifindex is difficult because the
ifindex of the device is updated through delayed (idle) calls in
NMDevice and so there is the possibility that at a certain time the
device ifindex is not in sync with platform state. It seems simpler to
watch instead the interface name. The ugly thing is that the interface
name can be changed externally, but if users do that on an activating
device they are looking for trouble.
Also change the deactivate code to deal with the scenario where we
already created the interface in the ovsdb but the link didn't show up
yet. To ensure a proper cleanup we must wait that the link appears and
then goes away; however the link may never appear if vswitchd sees
only the last state in ovsdb, and so we must use a ugly timeout to
avoid waiting forever.
https://bugzilla.redhat.com/show_bug.cgi?id=1787989
(cherry picked from commit 9c49f8a87962d8009dc18973845a1c46aba38d00)
(cherry picked from commit 2e5e409bf2cf825af46c46d110b0502050adcb3c)
(cherry picked from commit 628706fab592f6c5611438a21742391ea1a2e8cc)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we deactivate a virtual device, we usually schedule the deletion
of the link in an idle handler. That action will be executed at a
later time when the device is already in the disconnected state.
Similarly, for ovs interfaces we send the deletion command to the
ovsdb and then proceed to the disconnected state.
However, in the first case there is the guarantee that the link will
be deleted at some point, while for ovs interfaces it may happen that
ovs decides to reuse the same link if there is an addition
queued. Since reusing the same link confuses NM, let's implement
deactivate_async() for ovs-interfaces and wait that the link actually
goes away before proceeding.
https://bugzilla.redhat.com/show_bug.cgi?id=1782701
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/402
(cherry picked from commit 623a1e1f993b3166509202bc580c30e3daf9c67b)
(cherry picked from commit a1b0edd24b078294cd3959044a7ae35287d55f87)
(cherry picked from commit cb7c7c29bdde6654b3a5d498c592033772592ad0)
|
|\
| |
| |
| |
| |
| | |
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/182
(cherry picked from commit d0f0d778f30c6dc95a0f7048beb91007425d33fa)
|
| |
| |
| |
| | |
(cherry picked from commit 02950ec600d07647dadabdf08b151d5c4f5f8985)
|
| |
| |
| |
| |
| |
| |
| |
| | |
This doesn't make any difference in practice, but it seems more correct.
It would cause issues if we decided to remove an interface from the
signal handler.
(cherry picked from commit e948ce7debb4f2da2db9c19ab4f980eac5415b9d)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When an interface (other OVS device types can not fail) encounters an error
it indicates it by changing the error column. Watch for those changes so
that we can eventually communicate them to the OVS factory to deal with
them.
(cherry picked from commit f2c066e1046cc8da5a277b1528a59bf2653e17c8)
|
| |
| |
| |
| | |
(cherry picked from commit dedc0cba23b5d51773f88d8bc06424eb589083cd)
|
| |
| |
| |
| |
| |
| |
| | |
It doesn't communicate anything about the nature of the change and
indeed nothing uses it.
(cherry picked from commit b1feebc43aafd5e40c371c2a971cdefd5f8acae6)
|
|/
|
|
|
|
|
|
|
| |
Don't crash in situations, where the bridge or a port has a child with
UUID we don't know. This could happen if we mess up the parsing of
messages from OVSDB, but could also theoretically happen in OVSDB sends
us bad data.
(cherry picked from commit 99c7adc1e12862f22026bb8f806c9223db9a78ec)
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/520
(cherry picked from commit 266d054808df2ac3a779f83dd5a00d264345c99f)
(cherry picked from commit 698acfef4bd6ba8484e79fd5901e5b064c29c296)
(cherry picked from commit 4d1b316f91ab106052c9669ce2c1808c18413aa1)
(cherry picked from commit a4e7994ac43f1f0c729d035adecd1cb2ac807d66)
|
| |
| |
| |
| |
| |
| |
| | |
(cherry picked from commit 655fd1ebd8c1f14dc658f728109bc41e9362d740)
(cherry picked from commit 799cee50689a27d04fa5a0e84fa515a55eeea7a4)
(cherry picked from commit 77e1132845c5b8514838418085d0ab9d109cee48)
(cherry picked from commit 73865ffb0b89c3eb8a563832813f72f6a1641348)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
nm-settings-ifcfg-rh`
Fixes: 2a4fb75d3b03 ('ifcfg: add support for "802-1x.system-ca-certs" setting')
(cherry picked from commit b4537f2c03dbb433ecdec81c84f95f8e9f8727b3)
(cherry picked from commit 5d8a0837b302b1043c77834b5cfe04d67a2cde96)
(cherry picked from commit e11232de966f7f765ea9946d402c0e06839ffbd0)
(cherry picked from commit e00e764167ad8a211e3ed84afbc1599758af99c3)
|
|/
|
|
|
|
|
|
|
|
| |
nm-settings-ifcfg-rh`
Fixes: a83ab252ee58 ('ifcfg-rh: add support for 802-1x.password-raw property')
(cherry picked from commit 9fde21504e782b81cdd4c5d1f5068e33e532078e)
(cherry picked from commit 36ddd266a5bddbc1f857131c36e4313ef635ad1b)
(cherry picked from commit 52bb253f6b05815eeecbf3d3508fe1caa2cacb1d)
(cherry picked from commit 3afbaeb5974bfb38aaefd441f6e40fbcc8140a8a)
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
https://bugzilla.redhat.com/show_bug.cgi?id=1840210
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/448
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/518
(cherry picked from commit e0c220e7e96e74cd2acd9394c68b3e50ddd308f3)
(cherry picked from commit 8affcc19b61fc3c516474ba075e61b82030feeb4)
(cherry picked from commit 6066e163673e4bfac7d77d3133a4e425a902189c)
(cherry picked from commit e18f4a3ca5a691312c5bce1d6f35ae23e757f64b)
|
| |
| |
| |
| |
| |
| |
| | |
(cherry picked from commit 4f21b14b90b49c02cab2b232a5be432a160be358)
(cherry picked from commit 0d35d14faf3e547493c183a8776b2609f31908a7)
(cherry picked from commit 1a989a98bf4c6674710abdd6ab90d8db02efc140)
(cherry picked from commit 388f3e18a9b2e31954d7ea6dfb1125ec51e4b4cc)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
https://bugzilla.redhat.com/show_bug.cgi?id=1840210
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/448
(cherry picked from commit b6b6639c7c8fa667b8fcbc310b65d88124fdc260)
(cherry picked from commit 67f1da27fe95fbe09999a953558a0b3e4dcfdd69)
(cherry picked from commit 7a20dd4dbbd51081b598f4d42254190a03271471)
(cherry picked from commit 97b12a3c3488abd5bd81b30559726bf220370510)
|
|/
|
|
|
|
|
| |
(cherry picked from commit f8dcb3fc474a4984c312b537a9d51fcfddc8283b)
(cherry picked from commit f3f179728e60d4e3d4026ac829299170263822cd)
(cherry picked from commit eb9767a6c8c15aa441b31a432bc72ba78505c6c3)
(cherry picked from commit 359f7f3544a2757d0e11ec15f87fa962b0de19fa)
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
https://bugzilla.redhat.com/show_bug.cgi?id=1832170
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/503
(cherry picked from commit 2d8c87e22e66b9076c83dd25e17529c76d8986f4)
(cherry picked from commit f50ed7a25ed4a966c574b1e037fd372cc595a522)
(cherry picked from commit bef2f8a4dd329cd6314abf93a26d488ce69a6298)
(cherry picked from commit b4fedfc57c7be1092eb35f2cde5d41094bcfb6ee)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For ip-tunnel modes that encapsulate layer2 packets (gretap and
ip6gretap) we allow the presence of an ethernet setting in the
connection and honor the cloned-mac-address specified in it.
For all other modes, the ethernet setting is removed during
normalization, but a value different from 'preserve' could be set via
global default.
The kernel doesn't allow setting a MAC for layer3 devices, don't do
it.
(cherry picked from commit 0494a84878e696baccbf3b1d16089b92cb7c7835)
(cherry picked from commit 78ed14166c04006aaa0e15a2930066ff212f088b)
(cherry picked from commit d69d92c658eb0ca21f789c131b73dd2508570653)
(cherry picked from commit 60b4bdafcf71a68abc08afd388b4ff405b12fb19)
|
|/
|
|
|
|
|
| |
(cherry picked from commit 48c93b3bba928b594a5e5dec6b51382fcff97701)
(cherry picked from commit 5d2f2a65493401e4d793890a22ebe7731d2f88f9)
(cherry picked from commit d0f275e7f51cf8b7a78f56cc547a0c0ee270b387)
(cherry picked from commit db82b52dbd90dfc7bab265c50947747dd4c27c5f)
|
|
|
|
|
|
|
| |
(cherry picked from commit 6e9967939b5b7dd6a49405d4d6018a528414ca4d)
(cherry picked from commit 1e1ae9ba077a68b2e8be4e81e52ed4834d485027)
(cherry picked from commit c0997fa4f351b8b9d65b46aaea09f28d8c0ed9f0)
(cherry picked from commit 53cb8ce2459e564ec0f96cc49ba4e4c9b356f9aa)
|
|
|
|
|
|
|
| |
(cherry picked from commit b447c80ad811850b9540225a96cb5496f8210b34)
(cherry picked from commit ecb9e0e3df33b3f7551d84270edbf617d697b1b5)
(cherry picked from commit 198e233b918ddb36e58f66b95e4b05e0837ec184)
(cherry picked from commit 78618ccbaf7259ae1d102e35c07d7fadb5a30078)
|
|
|
|
|
|
|
|
|
|
| |
Otherwise the function is not usable via generated bindings.
Fixes: 9b9dce9486a8 ('all: add 'match' setting')
(cherry picked from commit 180cda7632b194d15abea3f98b60b7b7e1ef26f7)
(cherry picked from commit 805adec9ca6ddf726fc40aab1093da55193a8e5b)
(cherry picked from commit b5a66b88b37aa32d450d672e71668a6b015f1818)
(cherry picked from commit 2630758cb419dff1693b4c28d687877e660c1beb)
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
https://bugzilla.redhat.com/show_bug.cgi?id=1797915
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/456
(cherry picked from commit d342fa267d59cd317cc3cc798824c70b1158ff61)
(cherry picked from commit 85811e67ddcdeb47a88aca177c75436f75d5e79e)
(cherry picked from commit 32e0bd7e72795f99d4258f4b7377b698554aa2a1)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Sometimes these function may set errno to unexpected values like EAGAIN.
This causes confusion. Avoid that by using our own wrappers that retry
in that case. For example, in rhbz#1797915 we have failures like:
errno = 0;
v = g_ascii_strtoll ("10", 0, &end);
if (errno != 0)
g_assert_not_reached ();
as g_ascii_strtoll() would return 10, but also set errno to EAGAIN.
Work around that by using wrapper functions that retry. This certainly
should be fixed in glib (or glibc), but the issues are severe enough to
warrant a workaround.
Note that our workarounds are very defensive. We only retry 2 times, if
we get an unexpected errno value. This is in the hope to recover from
a spurious EAGAIN. It won't recover from other errors.
https://bugzilla.redhat.com/show_bug.cgi?id=1797915
(cherry picked from commit 7e49f4a199beb9b8012ec554c4a9ad1c851f7ff2)
(cherry picked from commit eec2740d718db4c73bf4c31b97852ee83bb3dfa7)
(cherry picked from commit 500f0b96ae93cc0dbcb63124c46956cf532031c3)
|
| |
| |
| |
| |
| |
| | |
(cherry picked from commit 3b58c5fef490cfdae632f5007c77267e47971734)
(cherry picked from commit 95565bef77ddfb36dd61b764a3d8c0b6cec21333)
(cherry picked from commit d629db4a0e80752e031ca0f5c410ad4b59e9090a)
|
| |
| |
| |
| |
| |
| | |
(cherry picked from commit 35a9f632a81df40209e3d71f2328ccdfcf175aee)
(cherry picked from commit f8cae1ed18ad5d29c246e9d9036f670badd28126)
(cherry picked from commit 0de1c3a53a6196694cbe4ecb2dade727a7469e65)
|
| |
| |
| |
| |
| |
| | |
(cherry picked from commit f4446e34c689d6bd81deb8bbab01387716db801f)
(cherry picked from commit 6836679878889f882acd243b0c914865971edd4e)
(cherry picked from commit 49c523cf1e4da6a14fb09d0877db44646df1c688)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Avoid g_ascii_strtoull() calling directly. It has subtle issues, which is why
we have a wrapper for it.
(cherry picked from commit 659ac9cc1299399b34b4677a492c9943458e1b52)
(cherry picked from commit 62469c1401dcbd155da5e03bf8cfd37986d6541f)
(cherry picked from commit 386ea3ff26fe68105c4f72d1706b06a3a2dc4341)
|
|/
|
|
|
|
| |
(cherry picked from commit 3930ef194ec37d51eb74aed6e7e2ac403539bbfd)
(cherry picked from commit 1a80179c60ea02af9da1ce454afbdc3cae023426)
(cherry picked from commit 1a54909bb4161341272c761759ac8c35fa87a46c)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Kernel would reject adding a route with a destination host part not
all zero. NetworkManager generally coerces such routes and there
are assertions in place to ensure that.
We forgot to ensure that for certain IPv6 routes from VPN plugins.
This can cause an assertion failure and wrong behavior.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/425
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/482
(cherry picked from commit b437bb4a6e8f4b1ca8678e8727b02b21d4cb7562)
(cherry picked from commit c7586e63885e1de9b80b9dc94feceea0f3fe4bf2)
(cherry picked from commit 55c361453bd43df92141870728a43bdbaab0ff6d)
(cherry picked from commit 75933cd6fff6917f72cea4f85e6ccb913df78e88)
|