<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/NetworkManager.git, branch 1.31.2-dev</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>release: bump version to 1.31.2 (development)</title>
<updated>2021-03-24T17:12:04+00:00</updated>
<author>
<name>Beniamino Galvani</name>
<email>bgalvani@redhat.com</email>
</author>
<published>2021-03-24T17:12:04+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=80f63ae01a272d4df7a4daf609825d6ad46461ab'/>
<id>80f63ae01a272d4df7a4daf609825d6ad46461ab</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>core: micro optimization in check_connection_compatible() to check for patterns</title>
<updated>2021-03-24T15:50:26+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2021-03-24T15:42:30+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=ccc884d47151f00a165dcb1d7d5b75f49f310365'/>
<id>ccc884d47151f00a165dcb1d7d5b75f49f310365</id>
<content type='text'>
Let's shortcut the test by consistently checking whether num_patterns
is positive before matching.

It's more about having a consistent form of the "if" checks, than
anything else.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Let's shortcut the test by consistently checking whether num_patterns
is positive before matching.

It's more about having a consistent form of the "if" checks, than
anything else.
</pre>
</div>
</content>
</entry>
<entry>
<title>libnm/docs: improve wording for documentation of [match] setting options</title>
<updated>2021-03-24T15:50:26+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2021-03-24T15:26:20+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=8f138e6bc196864c16b0be707f325ad9bb746ab4'/>
<id>8f138e6bc196864c16b0be707f325ad9bb746ab4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>CONTRIBUTIING: add chapter describing Cscope and code structure</title>
<updated>2021-03-24T15:42:40+00:00</updated>
<author>
<name>Wen Liang</name>
<email>liangwen12year@gmail.com</email>
</author>
<published>2021-03-21T23:56:17+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=2e96cdfe5e40c455e880bacfa702dd03d2a681ea'/>
<id>2e96cdfe5e40c455e880bacfa702dd03d2a681ea</id>
<content type='text'>
Signed-off-by: Wen Liang &lt;liangwen12year@gmail.com&gt;

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/792
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Wen Liang &lt;liangwen12year@gmail.com&gt;

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/792
</pre>
</div>
</content>
</entry>
<entry>
<title>core: merge branch 'th/local-route-sync'</title>
<updated>2021-03-24T13:21:02+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2021-03-24T13:19:07+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=fbabfa5e3635d5afa505f9218c1be56a416c2db9'/>
<id>fbabfa5e3635d5afa505f9218c1be56a416c2db9</id>
<content type='text'>
https://bugzilla.redhat.com/show_bug.cgi?id=1907661

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/790
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://bugzilla.redhat.com/show_bug.cgi?id=1907661

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/790
</pre>
</div>
</content>
</entry>
<entry>
<title>core: don't add dependent local route for addresses</title>
<updated>2021-03-23T21:30:32+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2021-03-19T20:20:52+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=557644f5e03a77b3ebe09ceba672217959cf3bdc'/>
<id>557644f5e03a77b3ebe09ceba672217959cf3bdc</id>
<content type='text'>
When adding an IPv4 address, kernel automatically adds a local route.
This is done by fib_add_ifaddr(). Note that if the address is
IFA_F_SECONDARY, then the "src" is the primary address. That means, with

  nmcli connection add con-name t type ethernet ifname t autoconnect no \
     ipv4.method manual ipv6.method disabled \
     ipv4.addresses '192.168.77.10/24, 192.168.77.11/24'

we get two routes:

  "local 192.168.77.10 dev t table local proto kernel scope host src 192.168.77.10"
  "local 192.168.77.11 dev t table local proto kernel scope host src 192.168.77.10"

Our code would only generate instead:

  "local 192.168.77.10 dev t table local proto kernel scope host src 192.168.77.10"
  "local 192.168.77.11 dev t table local proto kernel scope host src 192.168.77.11"

Afterwards, this artificial route will be leaked:

    #!/bin/bash

    set -vx

    nmcli connection delete t || :
    ip link delete t || :

    ip link add name t type veth peer t-veth

    nmcli connection add con-name t type ethernet ifname t autoconnect no ipv4.method manual ipv4.addresses '192.168.77.10/24, 192.168.77.11/24' ipv6.method disabled

    nmcli connection up t

    ip route show table all dev t | grep --color '^\|192.168.77.11'

    sleep 1

    nmcli device modify t -ipv4.addresses 192.168.77.11/24

    ip route show table all dev t | grep --color '^\|192.168.77.11'

    ip route show table all dev t | grep -q 192.168.77.11 &amp;&amp; echo "the local route 192.168.77.11 is still there, because NM adds a local route with wrong pref-src"

It will also be leaked because in the example above ipv4.route-table is
unset, so we are not in full route sync mode and the local table is not
synced.

This was introduced by commit 3e5fc04df320 ('core: add dependent local
routes configured by kernel'), but it's unclear to me why we really need
this. Drop it again and effectively revert commit 3e5fc04df320 ('core:
add dependent local routes configured by kernel').

I think this "solution" is still bad. We need to improve our route sync
approach with L3Cfg rework. For now, it's probably good enough.

https://bugzilla.redhat.com/show_bug.cgi?id=1907661
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When adding an IPv4 address, kernel automatically adds a local route.
This is done by fib_add_ifaddr(). Note that if the address is
IFA_F_SECONDARY, then the "src" is the primary address. That means, with

  nmcli connection add con-name t type ethernet ifname t autoconnect no \
     ipv4.method manual ipv6.method disabled \
     ipv4.addresses '192.168.77.10/24, 192.168.77.11/24'

we get two routes:

  "local 192.168.77.10 dev t table local proto kernel scope host src 192.168.77.10"
  "local 192.168.77.11 dev t table local proto kernel scope host src 192.168.77.10"

Our code would only generate instead:

  "local 192.168.77.10 dev t table local proto kernel scope host src 192.168.77.10"
  "local 192.168.77.11 dev t table local proto kernel scope host src 192.168.77.11"

Afterwards, this artificial route will be leaked:

    #!/bin/bash

    set -vx

    nmcli connection delete t || :
    ip link delete t || :

    ip link add name t type veth peer t-veth

    nmcli connection add con-name t type ethernet ifname t autoconnect no ipv4.method manual ipv4.addresses '192.168.77.10/24, 192.168.77.11/24' ipv6.method disabled

    nmcli connection up t

    ip route show table all dev t | grep --color '^\|192.168.77.11'

    sleep 1

    nmcli device modify t -ipv4.addresses 192.168.77.11/24

    ip route show table all dev t | grep --color '^\|192.168.77.11'

    ip route show table all dev t | grep -q 192.168.77.11 &amp;&amp; echo "the local route 192.168.77.11 is still there, because NM adds a local route with wrong pref-src"

It will also be leaked because in the example above ipv4.route-table is
unset, so we are not in full route sync mode and the local table is not
synced.

This was introduced by commit 3e5fc04df320 ('core: add dependent local
routes configured by kernel'), but it's unclear to me why we really need
this. Drop it again and effectively revert commit 3e5fc04df320 ('core:
add dependent local routes configured by kernel').

I think this "solution" is still bad. We need to improve our route sync
approach with L3Cfg rework. For now, it's probably good enough.

https://bugzilla.redhat.com/show_bug.cgi?id=1907661
</pre>
</div>
</content>
</entry>
<entry>
<title>core: minor cleanup in nm_platform_ip_route_get_prune_list()</title>
<updated>2021-03-23T16:56:47+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2021-03-23T09:05:30+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=fe1bf4c907c29997cbc6a28bc0781bfc419cb07f'/>
<id>fe1bf4c907c29997cbc6a28bc0781bfc419cb07f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>core: don't add ff00::/8 unicast route to nm_ip6_config_add_dependent_routes()</title>
<updated>2021-03-23T16:56:47+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2021-03-22T20:43:47+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=c29d995000a147cecbe1dbaa9607936c1844ba10'/>
<id>c29d995000a147cecbe1dbaa9607936c1844ba10</id>
<content type='text'>
This effectively reverts commit cd89026c5f4f ('core: add dependent
multicast route configured by kernel for IPv6').

It's not clear to me why this was done or why it would be correct.

True, kernel automatically adds multicast route like

  multicast ff00::/8 dev $IFACE table local proto kernel metric 256 pref medium

But NetworkManager ignores all multicast routes for now. So the dependent
routes cannot contain multicast routes as they are not handled. Also,
the code added a unicast route, so I don't understand why the comment
is talking about multicast.

This seems just wrong. Drop it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This effectively reverts commit cd89026c5f4f ('core: add dependent
multicast route configured by kernel for IPv6').

It's not clear to me why this was done or why it would be correct.

True, kernel automatically adds multicast route like

  multicast ff00::/8 dev $IFACE table local proto kernel metric 256 pref medium

But NetworkManager ignores all multicast routes for now. So the dependent
routes cannot contain multicast routes as they are not handled. Also,
the code added a unicast route, so I don't understand why the comment
is talking about multicast.

This seems just wrong. Drop it.
</pre>
</div>
</content>
</entry>
<entry>
<title>core: add NM_IP_ROUTE_TABLE_SYNC_MODE_ALL_PRUNE mode</title>
<updated>2021-03-23T16:56:46+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2021-03-22T16:31:35+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=e226b5eb829e5e8c623948e35d406e815cd05089'/>
<id>e226b5eb829e5e8c623948e35d406e815cd05089</id>
<content type='text'>
When we deactivate a device, we flush all IP addresses and
routes. Thus, have yet another sync mode for that. It will sync more
than "ALL".
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When we deactivate a device, we flush all IP addresses and
routes. Thus, have yet another sync mode for that. It will sync more
than "ALL".
</pre>
</div>
</content>
</entry>
<entry>
<title>core: log route-table-sync-mode in nm_device_set_ip_config()</title>
<updated>2021-03-23T16:56:46+00:00</updated>
<author>
<name>Thomas Haller</name>
<email>thaller@redhat.com</email>
</author>
<published>2021-03-23T16:56:37+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/NetworkManager.git/commit/?id=f6db2c6261b560ec34b56eeeb3766c9165f5619b'/>
<id>f6db2c6261b560ec34b56eeeb3766c9165f5619b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
