<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/NetworkManager.git, branch th/device-carrier-wait-rh1450444</title>
<subtitle>gitlab.freedesktop.org: NetworkManager/NetworkManager.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/'/>
<entry>
<title>device: fix delaying startup complete waiting for carrier</title>
<updated>2017-05-15T13:49:54+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2017-05-12T14:32:15+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=7784d43041263b815365fbb5610ee103b599df4b'/>
<id>7784d43041263b815365fbb5610ee103b599df4b</id>
<content type='text'>
    platform: signal: link changed: 2: eth0 &lt;DOWN;broadcast,multicast&gt; mtu ...
    ...
    device[0x7f90c29c64d0] (eth0): bringing up device
    ...
    platform: signal: link changed: 2: eth0 &lt;UP,LOWER_UP;broadcast,multicast,up,running,lowerup&gt; mtu ...
    ...
    device (eth0): link connected
    ...
    device[0x7f90c29c64d0] (eth0): add_pending_action (2): 'carrier wait'

Note how we schedule the pending action 'carrier-wait', altough the device
already has carrier. That means, the pending action will not be removed
until timeout, 5 seconds later.

Avoid scheduling 'carrier-wait' if we already have carrier.

However, we don't just add the pending action 'carrier-wait' only in
nm_device_bring_up(). Instead, always schedule the carrier_wait timeout.
This is a grace period during which we keep setting 'carrier-wait' whenever
we have no carrier. This should prevent two cases:
  - during nm_device_bring_up() the platform state might not yet have
    caught up. If we don't add the pending action there, we will add
    it a moment later when carrier goes away.
  - bringing the interface up might cause carrier to get lost for a
    moment (flapping). If that happens within the timeout, consider
    add the pending action.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
    platform: signal: link changed: 2: eth0 &lt;DOWN;broadcast,multicast&gt; mtu ...
    ...
    device[0x7f90c29c64d0] (eth0): bringing up device
    ...
    platform: signal: link changed: 2: eth0 &lt;UP,LOWER_UP;broadcast,multicast,up,running,lowerup&gt; mtu ...
    ...
    device (eth0): link connected
    ...
    device[0x7f90c29c64d0] (eth0): add_pending_action (2): 'carrier wait'

Note how we schedule the pending action 'carrier-wait', altough the device
already has carrier. That means, the pending action will not be removed
until timeout, 5 seconds later.

Avoid scheduling 'carrier-wait' if we already have carrier.

However, we don't just add the pending action 'carrier-wait' only in
nm_device_bring_up(). Instead, always schedule the carrier_wait timeout.
This is a grace period during which we keep setting 'carrier-wait' whenever
we have no carrier. This should prevent two cases:
  - during nm_device_bring_up() the platform state might not yet have
    caught up. If we don't add the pending action there, we will add
    it a moment later when carrier goes away.
  - bringing the interface up might cause carrier to get lost for a
    moment (flapping). If that happens within the timeout, consider
    add the pending action.
</pre>
</div>
</content>
</entry>
<entry>
<title>device: cleanup nm_device_set_carrier_from_platform()</title>
<updated>2017-05-15T13:47:22+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2017-05-15T09:35:41+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=d01a2c1dd69490db6c8f1a7e8fa2d11e8d7cd90a'/>
<id>d01a2c1dd69490db6c8f1a7e8fa2d11e8d7cd90a</id>
<content type='text'>
nm_device_set_carrier_from_platform() is only called from two places.

- both check for NM_DEVICE_CAP_CARRIER_DETECT, so move that check
  inside the function.
- drop the logging in realize_start_setup(). nm_device_set_carrier() already
  does logging.
- always set the fake carrier in nm_device_set_carrier_from_platform().
  For the fake carrer, we anyway expect it to be already TRUE in most
  case, so usually this should have no effect.
  Also emit a property changed signal. That is necessary to refresh the
  D-Bus property.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
nm_device_set_carrier_from_platform() is only called from two places.

- both check for NM_DEVICE_CAP_CARRIER_DETECT, so move that check
  inside the function.
- drop the logging in realize_start_setup(). nm_device_set_carrier() already
  does logging.
- always set the fake carrier in nm_device_set_carrier_from_platform().
  For the fake carrer, we anyway expect it to be already TRUE in most
  case, so usually this should have no effect.
  Also emit a property changed signal. That is necessary to refresh the
  D-Bus property.
</pre>
</div>
</content>
</entry>
<entry>
<title>device: rename and minor refactoring of check_carrier()</title>
<updated>2017-05-15T13:47:22+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2017-05-14T20:08:26+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=f531363a211590f368bd588a8c5d52a39e22c69e'/>
<id>f531363a211590f368bd588a8c5d52a39e22c69e</id>
<content type='text'>
The name should mirror what we already have: nm_device_set_carrier().
Also, move the code closer to nm_device_set_carrier() and refactor
it a bit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The name should mirror what we already have: nm_device_set_carrier().
Also, move the code closer to nm_device_set_carrier() and refactor
it a bit.
</pre>
</div>
</content>
</entry>
<entry>
<title>device: downgrade logging messages about (non) pending action</title>
<updated>2017-05-15T13:47:21+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2017-05-12T14:48:57+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=b341690742d82ddd52c4fb352bceb2851ea1c2da'/>
<id>b341690742d82ddd52c4fb352bceb2851ea1c2da</id>
<content type='text'>
Adding/Removing a pending action with assert_not_yet_pending/
assert_is_pending means that we expect that no action is taken.

Downgrade the logging level in those cases to &lt;trace&gt;.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adding/Removing a pending action with assert_not_yet_pending/
assert_is_pending means that we expect that no action is taken.

Downgrade the logging level in those cases to &lt;trace&gt;.
</pre>
</div>
</content>
</entry>
<entry>
<title>device: minor cleanup of carrier_disconnected_action_cancel()</title>
<updated>2017-05-15T13:47:21+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2017-05-12T14:22:47+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=5715f984612667a0de9c5d7efcac997d498320ea'/>
<id>5715f984612667a0de9c5d7efcac997d498320ea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>device/trivial: rename functions related to "carrier"</title>
<updated>2017-05-15T13:47:21+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2017-05-12T14:21:55+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=7eb82765d785bd91d621b64584d170909573eda5'/>
<id>7eb82765d785bd91d621b64584d170909573eda5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>device: don't call virtual function carrier_changed() directly</title>
<updated>2017-05-15T13:47:21+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2017-05-12T14:17:18+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=3adaa6eb67a6adae464f42befd6990dbc4180ad1'/>
<id>3adaa6eb67a6adae464f42befd6990dbc4180ad1</id>
<content type='text'>
Don't give the subclass the ability to override the parents
behavior. The parent implementation is not intended to allow
for that. Instead, restrict the flexibility of how the virtual
function integrates with the larger picture. That means, the
virtual function is only called at one place, and there is only
one implementation in NMDeviceEthernet (and it doesn't really
matter whether the implementation chains up the parent implementation
or not).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Don't give the subclass the ability to override the parents
behavior. The parent implementation is not intended to allow
for that. Instead, restrict the flexibility of how the virtual
function integrates with the larger picture. That means, the
virtual function is only called at one place, and there is only
one implementation in NMDeviceEthernet (and it doesn't really
matter whether the implementation chains up the parent implementation
or not).
</pre>
</div>
</content>
</entry>
<entry>
<title>cli: fix use-after-free in _get_fcn_gobject_enum()</title>
<updated>2017-05-15T13:16:22+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2017-05-15T13:16:22+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=234bc0adcfeb97f6f293c1f862c68bf7263a219d'/>
<id>234bc0adcfeb97f6f293c1f862c68bf7263a219d</id>
<content type='text'>
Fixes: ddfff04a457444ee9a7c7e85d08e1d7213b3ab6e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes: ddfff04a457444ee9a7c7e85d08e1d7213b3ab6e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge: branch 'lr/wps2'</title>
<updated>2017-05-15T11:00:13+00:00</updated>
<author>
<name>Lubomir Rintel</name>
<email>lkundrak@v3.sk</email>
</author>
<published>2017-05-15T11:00:13+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=efafc98147c202d3a754823e2c8a2cc305314a9a'/>
<id>efafc98147c202d3a754823e2c8a2cc305314a9a</id>
<content type='text'>
https://bugzilla.gnome.org/show_bug.cgi?id=781336
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://bugzilla.gnome.org/show_bug.cgi?id=781336
</pre>
</div>
</content>
</entry>
<entry>
<title>dbus/secret-agent: add a flag indicating WPS PBC is active</title>
<updated>2017-05-15T10:59:55+00:00</updated>
<author>
<name>Lubomir Rintel</name>
<email>lkundrak@v3.sk</email>
</author>
<published>2017-05-12T14:05:28+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=1194641afe6a8a18491c2c24120eed5d5eba43b7'/>
<id>1194641afe6a8a18491c2c24120eed5d5eba43b7</id>
<content type='text'>
The agents may used this to learn that WPS PBC enrollment is active and
suggest that user pushes a button on the router instead of supplying a
network key.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The agents may used this to learn that WPS PBC enrollment is active and
suggest that user pushes a button on the router instead of supplying a
network key.
</pre>
</div>
</content>
</entry>
</feed>
