| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
But, of course, only one realized device can have the same
interface name at a time.
This commit effectively reverts most of:
1b37cd03409fa3c0fb26fb6e8093b54b2b7c5d8d
core: allow ActiveConnections to be created without a device
But it's not easy to do a separate revert of that code due to
interdependencies with nm-manager.c.
Creating devices when they are defined by a connection also makes
makes it possible to require the NMDevice to be present when
activating it, which means we can remove a bunch of code from
NMManager that had to handle software devices not existing yet at
the time of the activation request.
But it also means we must be more careful when finding master
interfaces during slave activation, since we cannot simply match
by interface name alone. Instead we must find the master which
matches both the interface name and can control slaves of the type
which is being activated.
|
|
|
|
|
|
|
| |
property
Mirror new NetworkManager API to return both real devices and
device placeholders.
|
|
|
|
| |
Returns both realized and un-realized devices.
|
|
|
|
|
|
|
|
| |
Ensure the platform link with the same interface name as the
NMDevice is actually compatible with it before using the link
for initialization of device properties. If not, remove the
NMDevice and create a new one since there are kernel resources
with a different type.
|
|
|
|
|
|
|
|
|
|
| |
Unrealized devices aren't backed by kernel resources and so won't know
all of their attributes. That means three things:
1) they must update their attributes when they become realized
2) they must clear those attributes when unrealized
3) they must be looser in checking compatible connections until
they are realized
|
| |
|
| |
|
|
|
|
|
|
|
| |
This property is TRUE for devices that exist either as a kernel device
or are backed by some other resource (eg, ModemManager object, Bluez
device, etc). It will eventually be FALSE for software devices that
are not yet instantiated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Future patches will create devices long before they are backed by
kernel resources, so we need to split NMDevice object creation from
actual setup based on the backing resources.
This patch combines the NMDeviceFactory's new_link() and
create_virtual_device_for_connection() class methods into a single
create_device() method that simply creates an unrealized NMDevice
object; this method is not expected to fail unless the device is
supposed to be ignored. This also means that the NMDevice
'platform-device' property is removed, because a platform link
object may not be available at NMDevice object creation time.
After the device is created, it is then "realized" at some later
time from a platform link (for existing/hardware devices via the
realize_existing() method) or from an NMConnection (for newly
created software devices via the realize_new() method).
|
|
|
|
| |
Signed-off-by: Thomas Haller <thaller@redhat.com>
|
|
|
|
|
| |
Move parent-related stuff before its callers and clean up dispose
so that we no longer need priv->disposed.
|
| |
|
|
|
|
|
|
|
| |
We need to know whether we can create interfaces of any given
NMDevice subclass or not. So don't rely on just the NMPlatformLink
for that information, because we won't have a platform link for
software devices before we create them.
|
|
|
|
|
|
| |
We can't have devices with duplicate interface names so we might
as well use that for dupe checking instead of the (mostly useless)
UDI.
|
|
|
|
|
| |
'ifcfg-test-dns-options' was not included in the archive for
distribution and 'make distcheck' failed. Add it.
|
|\
| |
| |
| | |
https://bugzilla.redhat.com/show_bug.cgi?id=1200131
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| | |
Merge a first part of th/platform_refact_caching-bgo747981
https://bugzilla.gnome.org/show_bug.cgi?id=747981
|
| |
| |
| |
| |
| | |
Hard to debug failures, if we don't print where the failure
happens.
|
| |
| |
| |
| |
| |
| |
| | |
Support accepting more then one signal at a time.
It is to be expected, that one change in platform raises
several signals. Extend the assertion helpers to express
that.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Up to now, this code was correct. Later we will add another field
to NMPlatformIP4Route which causes the test to operate on
uninitialized data.
Instead of explicitly initializing the field, just clear the whole
struct.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
And nmtst_platform_ip6_routes_equal().
As already indicated by the comment, using memcmp() doesn't really work
here. It worked up to now, because the NMPlatformIP4Route structure has no
padding at the end.
If we would have a last 'guint8' member (as we will add later),
initializing an arry of routes on the stack would not clear the bytes
from the padding and the comparison using memcmp() would fail.
|
| | |
|
| |
| |
| |
| |
| | |
Not sure why (and whether!) this is really needed. Disable
it for now, resurrect it later if need be.
|
| |
| |
| |
| | |
Turns out, the valgrind suppression was hiding a memleak
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a comment about the upstream bug that fixes
the suppressed memleak in libnl.
Also, add a different backtrace for the same bug.
It currently doesn't hit easily, because we don't
call nl_msg_parse() often. In the future we will
though.
|
|/ |
|
|\
| |
| |
| | |
https://bugzilla.gnome.org/show_bug.cgi?id=742939
|
| |
| |
| |
| |
| |
| | |
Try to set the MTU of the parent Ethernet interface to match the
requested PPP MTU and MRU. This allows the negotiation of a PPP MTU
and MRU greater than 1492.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We switched to user-mode PPPoE client to work around a bug in kernel
PPPoE code that caused pppd not to be notified when the connection was
terminated with a PADT before the LCP Termination Request.
The kernel bug has now been fixed upstream with commit 287f3a943fef
"pppoe: Use workqueue to die properly when a PADT is received", queued
for v4.1.
Since the issue affected only very particular scenarios and could
somehow be solved with the right configuration (see bugzilla entry),
we can safely revert the patch and restore the use of kernel mode
PPPoE.
This reverts commit 7955806a02db64b20079267743056d7d9d45af3b.
https://bugzilla.gnome.org/show_bug.cgi?id=742939
|
|/
|
|
| |
Fixes: 7ba2a058f201ac237e2c5ddf6f513f8c306f314d
|
|
|
|
| |
Fixes: 72baf9fa2498d54dd9f545af0054dd6de7d5ff2e
|
|
|
|
|
|
| |
activatable
https://bugzilla.redhat.com/show_bug.cgi?id=1174164
|
|
|
|
|
| |
A while ago (f4f3f4d69b6ff89b5ec7cb9b2ca3758c149f15f5) we added an
enum to represent the logging domain. Use it.
|
|
|
|
| |
so that it is displayed in nm-settings-ifcfg-rh manual page.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
==21573== Syscall param mount(type) points to unaddressable byte(s)
==21573== at 0x854B9BA: mount (syscall-template.S:81)
==21573== by 0x158922: main (test-common.c:295)
==21573== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==21573==
{
<insert_a_suppression_name_here>
Memcheck:Param
mount(type)
fun:mount
fun:main
}
Fixes: d6aef9c188468224d6e1dd670844c3f0e7482c35
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=749164
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a connection had static IP addresses, an early event
from plaform would clear them from priv->con_ip4_config.
Fix that, by don't initializing priv->con_ip4_config
before we commit the first time.
https://bugzilla.gnome.org/show_bug.cgi?id=749052
Fixes: 557667df12fc05b76326d6406553985effeeb2ac
|
|
|
|
|
|
| |
We'd be able to do so for already existing devices, but not for devices that
are added afterwards, since gudev is hardwired not to listen for events from
kernel.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with the system
Mount a private sysfs instance. Otherwise gudev sees the devices from the
parent netns as opposed to our netns.
We do, however need a writable /sys/devices subtree for testing the bridge
code. There doesn't seem to be any other way to get a writable subtree of a
read-only filesystem than remounting it with no parameters after the initial
mount. We use this to get a writable sysfs instance and then bindmount it so
that it fits properly in the sysfs hierarchy.
Co-Authored-By: Thomas Haller <thaller@redhat.com>
|
| |
|