Bug 1890234

Summary: NetworkManager behavior for bonds + mtu changes from 8.1 to 8.2
Product: Red Hat Enterprise Linux 8 Reporter: Andreas Karis <akaris>
Component: NetworkManagerAssignee: Beniamino Galvani <bgalvani>
Status: CLOSED ERRATA QA Contact: Vladimir Benes <vbenes>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.2CC: acardace, atragler, bgalvani, bhershbe, fge, jmaxwell, keyoung, lrintel, rkhan, sukulkar, thaller, till, tpelka, vbenes, yjoseph
Target Milestone: rcKeywords: Triaged
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: NetworkManager-1.32.0-0.4.el8 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-09 19:28:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1954128    

Description Andreas Karis 2020-10-21 17:56:25 UTC
Description of problem:


Strange difference in setting MTU with NetworkManager between RHEL 8.1/RHEL 8.2 and bonded / not bonded.

Setting the MTU on a bond interface to jumbo frames with IPv4 DHCP with a very long (near infinite) timeout works in RHEL 8.1 but not in RHEL 8.2. This happens when the interface/bond is configured with:
~~~
ONBOOT=yes
BOOTPROTO=dhcp
MTU=9000
IPV6INIT=no
DHCPV6C=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_PEERDNS=no
IPV6_PEERROUTES=no
IPV6_FAILURE_FATAL=no
IPV4_DHCP_TIMEOUT=2147483647
~~~

Note that a workaround, whenever the MTU issue arises, is to run:
~~~
nmcli c modify eth1 ipv4.method disabled
nmcli conn down eth1
nmcli conn up eth1
~~~

Thus, it was recommended to the customer to disable DHCP or shorten the timeout on the interface in question. However, we would still like to know what lead to this change in behavior.

==============================================================

Kernel and NetworkManager versions:
~~~
[root@rhel-81 ~]# uname -a ; rpm -qa | egrep 'kernel|NetworkMan'
Linux rhel-81 4.18.0-147.3.1.el8_1.x86_64 #1 SMP Wed Nov 27 01:11:44 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
kernel-core-4.18.0-147.3.1.el8_1.x86_64
NetworkManager-team-1.20.0-5.el8_1.x86_64
NetworkManager-tui-1.20.0-5.el8_1.x86_64
NetworkManager-1.20.0-5.el8_1.x86_64
kernel-modules-4.18.0-147.3.1.el8_1.x86_64
kernel-tools-4.18.0-147.3.1.el8_1.x86_64
kernel-4.18.0-147.3.1.el8_1.x86_64
NetworkManager-libnm-1.20.0-5.el8_1.x86_64
kernel-tools-libs-4.18.0-147.3.1.el8_1.x86_64
~~~

~~~
[root@rhel-82 ~]# uname -a ; rpm -qa | egrep 'kernel|NetworkMan'
Linux rhel-82 4.18.0-193.14.3.el8_2.x86_64 #1 SMP Mon Jul 20 15:02:29 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
NetworkManager-1.22.8-5.el8_2.x86_64
kernel-tools-libs-4.18.0-193.14.3.el8_2.x86_64
NetworkManager-tui-1.22.8-5.el8_2.x86_64
kernel-core-4.18.0-193.14.3.el8_2.x86_64
NetworkManager-libnm-1.22.8-5.el8_2.x86_64
kernel-modules-4.18.0-193.14.3.el8_2.x86_64
kernel-tools-4.18.0-193.14.3.el8_2.x86_64
kernel-4.18.0-193.14.3.el8_2.x86_64
NetworkManager-team-1.22.8-5.el8_2.x86_64
~~~

========================================================================================

* Non-bonding scenario:
~~~
rm -f /etc/sysconfig/network-scripts/ifcfg-bond2
cat <<'EOF' > /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
NAME=eth1
ONBOOT=yes
BOOTPROTO=dhcp
MTU=9000
IPV6INIT=no
DHCPV6C=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_PEERDNS=no
IPV6_PEERROUTES=no
IPV6_FAILURE_FATAL=no
IPV4_DHCP_TIMEOUT=2147483647
EOF
reboot
~~~

RHEL 8.1:
~~~
[root@rhel-81 ~]# ip link ls dev eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:75:8f:8c brd ff:ff:ff:ff:ff:ff
[root@rhel-81 ~]# nmcli conn show eth1 | egrep 'activ|mtu'
802-3-ethernet.mtu:                     9000
GENERAL.STATE:                          activating
[root@rhel-81 ~]# 
~~~

RHEL 8.2:
~~~
[root@rhel-82 ~]# ip link ls dev eth1; ip link ls dev bond2; nmcli conn show eth1 | egrep 'activ|mtu'
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:e3:00:c6 brd ff:ff:ff:ff:ff:ff
Device "bond2" does not exist.
802-3-ethernet.mtu:                     9000
GENERAL.STATE:                          activating
~~~

========================================================================================


* Bonding use case:

~~~
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond2
SLAVE=yes
EOF
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-bond2
DEVICE=bond2
TYPE=Bond
NAME=bond2
BONDING_MASTER=yes
BOOTPROTO=dhcp
ONBOOT=yes
MTU=9000
DHCP_CLIENT_ID=$(ip link show dev eth1 | awk '/link/ {print $2}')
BONDING_OPTS="mode=active-backup miimon=100 fail_over_mac=active num_grat_arp=10"
IPV6INIT=no
DHCPV6C=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_PEERDNS=no
IPV6_PEERROUTES=no
IPV6_FAILURE_FATAL=no
IPV4_DHCP_TIMEOUT=2147483647
EOF
reboot
~~~

RHEL 8.1:
~~~
[root@rhel-81 ~]# ip link ls dev eth1; ip link ls dev bond2; nmcli conn show eth1 | egrep 'activ|mtu'; nmcli conn show 'System eth1' | egrep 'activ|mtu'; nmcli conn show bond2 | egrep 'activ|mtu'
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc fq_codel master bond2 state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:75:8f:8c brd ff:ff:ff:ff:ff:ff
4: bond2: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:75:8f:8c brd ff:ff:ff:ff:ff:ff
Error: eth1 - no such connection profile.
802-3-ethernet.mtu:                     auto
GENERAL.STATE:                          activated
802-3-ethernet.mtu:                     9000
bond.options:                           fail_over_mac=active,miimon=100,mode=active-backup,num_grat_arp=10
GENERAL.STATE:                          activating
[root@rhel-81 ~]# 
~~~

RHEL 8.2:
~~~
[root@rhel-82 ~]# ip link ls dev eth1; ip link ls dev bond2; nmcli conn show eth1 | egrep 'activ|mtu'; nmcli conn show 'System eth1' | egrep 'activ|mtu'; nmcli conn show bond2 | egrep 'activ|mtu'
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond2 state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:e3:00:c6 brd ff:ff:ff:ff:ff:ff
4: bond2: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:e3:00:c6 brd ff:ff:ff:ff:ff:ff
Error: eth1 - no such connection profile.
802-3-ethernet.mtu:                     auto
GENERAL.STATE:                          activated
802-3-ethernet.mtu:                     9000
bond.options:                           fail_over_mac=active,miimon=100,mode=active-backup,num_grat_arp=10
GENERAL.STATE:                          activating
[root@rhel-82 ~]# 
~~~

Comment 1 Andreas Karis 2020-10-21 17:57:45 UTC
~~~
[root@rhel-81 ~]# yum update NetworkManager -y
Updating Subscription Management repositories.
Last metadata expiration check: 0:00:38 ago on Wed 21 Oct 2020 10:56:40 AM EDT.
Dependencies resolved.
==============================================================================================================================================================================================================================================
 Package                                                     Architecture                                  Version                                                 Repository                                                            Size
==============================================================================================================================================================================================================================================
Upgrading:
 NetworkManager-libnm                                        x86_64                                        1:1.22.8-5.el8_2                                        rhel-8-for-x86_64-baseos-rpms                                        1.7 M
 NetworkManager-team                                         x86_64                                        1:1.22.8-5.el8_2                                        rhel-8-for-x86_64-baseos-rpms                                        136 k
 NetworkManager                                              x86_64                                        1:1.22.8-5.el8_2                                        rhel-8-for-x86_64-baseos-rpms                                        2.3 M
 NetworkManager-tui                                          x86_64                                        1:1.22.8-5.el8_2                                        rhel-8-for-x86_64-baseos-rpms                                        307 k

Transaction Summary
==============================================================================================================================================================================================================================================
Upgrade  4 Packages

Total download size: 4.4 M
Downloading Packages:
(1/4): NetworkManager-libnm-1.22.8-5.el8_2.x86_64.rpm                                                                                                                                                         4.2 MB/s | 1.7 MB     00:00    
(2/4): NetworkManager-1.22.8-5.el8_2.x86_64.rpm                                                                                                                                                               4.6 MB/s | 2.3 MB     00:00    
(3/4): NetworkManager-team-1.22.8-5.el8_2.x86_64.rpm                                                                                                                                                          267 kB/s | 136 kB     00:00    
(4/4): NetworkManager-tui-1.22.8-5.el8_2.x86_64.rpm                                                                                                                                                           1.3 MB/s | 307 kB     00:00    
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                                                         6.9 MB/s | 4.4 MB     00:00     
warning: /var/cache/dnf/rhel-8-for-x86_64-baseos-rpms-51b3b78d5698246b/packages/NetworkManager-libnm-1.22.8-5.el8_2.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)                                                                                                                                                         4.9 MB/s | 5.0 kB     00:00    
Importing GPG key 0xFD431D51:
 Userid     : "Red Hat, Inc. (release key 2) <security>"
 Fingerprint: 567E 347A D004 4ADE 55BA 8A5F 199E 2F91 FD43 1D51
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
Key imported successfully
Importing GPG key 0xD4082792:
 Userid     : "Red Hat, Inc. (auxiliary key) <security>"
 Fingerprint: 6A6A A7C9 7C88 90AE C6AE BFE2 F76F 66C3 D408 2792
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                                                      1/1 
  Running scriptlet: NetworkManager-libnm-1:1.22.8-5.el8_2.x86_64                                                                                                                                                                         1/1 
  Upgrading        : NetworkManager-libnm-1:1.22.8-5.el8_2.x86_64                                                                                                                                                                         1/8 
  Running scriptlet: NetworkManager-libnm-1:1.22.8-5.el8_2.x86_64                                                                                                                                                                         1/8 
  Running scriptlet: NetworkManager-1:1.22.8-5.el8_2.x86_64                                                                                                                                                                               2/8 
  Upgrading        : NetworkManager-1:1.22.8-5.el8_2.x86_64                                                                                                                                                                               2/8 
  Running scriptlet: NetworkManager-1:1.22.8-5.el8_2.x86_64                                                                                                                                                                               2/8 
  Upgrading        : NetworkManager-team-1:1.22.8-5.el8_2.x86_64                                                                                                                                                                          3/8 
  Upgrading        : NetworkManager-tui-1:1.22.8-5.el8_2.x86_64                                                                                                                                                                           4/8 
  Cleanup          : NetworkManager-tui-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                           5/8 
  Cleanup          : NetworkManager-team-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                          6/8 
  Running scriptlet: NetworkManager-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                               7/8 
  Cleanup          : NetworkManager-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                               7/8 
  Running scriptlet: NetworkManager-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                               7/8 
  Cleanup          : NetworkManager-libnm-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                         8/8 
  Running scriptlet: NetworkManager-libnm-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                         8/8 
  Verifying        : NetworkManager-libnm-1:1.22.8-5.el8_2.x86_64                                                                                                                                                                         1/8 
  Verifying        : NetworkManager-libnm-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                         2/8 
  Verifying        : NetworkManager-team-1:1.22.8-5.el8_2.x86_64                                                                                                                                                                          3/8 
  Verifying        : NetworkManager-team-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                          4/8 
  Verifying        : NetworkManager-1:1.22.8-5.el8_2.x86_64                                                                                                                                                                               5/8 
  Verifying        : NetworkManager-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                               6/8 
  Verifying        : NetworkManager-tui-1:1.22.8-5.el8_2.x86_64                                                                                                                                                                           7/8 
  Verifying        : NetworkManager-tui-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                           8/8 
Installed products updated.

Upgraded:
  NetworkManager-libnm-1:1.22.8-5.el8_2.x86_64                 NetworkManager-team-1:1.22.8-5.el8_2.x86_64                 NetworkManager-1:1.22.8-5.el8_2.x86_64                 NetworkManager-tui-1:1.22.8-5.el8_2.x86_64                

Complete!
~~~

~~~
[root@rhel-81 ~]# ip link ls dev bond2
4: bond2: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:75:8f:8c brd ff:ff:ff:ff:ff:ff
[root@rhel-81 ~]# reboot
~~~

~~~

After reboot:
~~~
[root@rhel-81 ~]# ip link ls dev bond2
4: bond2: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:75:8f:8c brd ff:ff:ff:ff:ff:ff
[root@rhel-81 ~]# 
~~~

So, this is definitely a change in behavior of NetworkManager from 1.20.0-5.el8_1.x86_64  to 1.22.8-5.el8_2.x86_64.

Available versions are:
~~~
[root@rhel-81 ~]# yum search NetworkManager --showduplicates
Updating Subscription Management repositories.
Last metadata expiration check: 0:02:13 ago on Wed 21 Oct 2020 10:56:40 AM EDT.
==================================================================================================== Name Exactly Matched: NetworkManager ====================================================================================================
NetworkManager-1:1.22.8-5.el8_2.x86_64 : Network connection manager and user applications
NetworkManager-1:1.14.0-14.el8.x86_64 : Network connection manager and user applications
NetworkManager-1:1.20.0-3.el8.x86_64 : Network connection manager and user applications
NetworkManager-1:1.22.8-4.el8.x86_64 : Network connection manager and user applications
NetworkManager-1:1.20.0-5.el8_1.x86_64 : Network connection manager and user applications
NetworkManager-1:1.22.8-5.el8_2.x86_64 : Network connection manager and user applications
~~~

Comment 2 Andreas Karis 2020-10-21 17:58:11 UTC
After 1.20.0-5.el8_1.x86_64, the next build that I can find in our internal repos is:
~~~
[root@rhel-81 nm]# ll
total 21788
-rw-r--r--. 1 root root 2290292 Nov 18  2019 NetworkManager-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root  132376 Nov 18  2019 NetworkManager-adsl-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root  170956 Nov 18  2019 NetworkManager-adsl-debuginfo-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root  158328 Nov 18  2019 NetworkManager-bluetooth-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root  250908 Nov 18  2019 NetworkManager-bluetooth-debuginfo-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root 8874448 Nov 18  2019 NetworkManager-debuginfo-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root 2655800 Nov 18  2019 NetworkManager-debugsource-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root 1764500 Nov 18  2019 NetworkManager-libnm-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root 2011504 Nov 18  2019 NetworkManager-libnm-debuginfo-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root 1055140 Nov 18  2019 NetworkManager-libnm-devel-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root  142944 Nov 18  2019 NetworkManager-ovs-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root  182940 Nov 18  2019 NetworkManager-ovs-debuginfo-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root  141300 Nov 18  2019 NetworkManager-ppp-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root  192696 Nov 18  2019 NetworkManager-ppp-debuginfo-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root  135484 Nov 18  2019 NetworkManager-team-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root  180892 Nov 18  2019 NetworkManager-team-debuginfo-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root  308984 Nov 18  2019 NetworkManager-tui-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root  656648 Nov 18  2019 NetworkManager-tui-debuginfo-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root  177552 Nov 18  2019 NetworkManager-wifi-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root  329644 Nov 18  2019 NetworkManager-wifi-debuginfo-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root  164240 Nov 18  2019 NetworkManager-wwan-1.22.0-0.1.el8.x86_64.rpm
-rw-r--r--. 1 root root  280660 Nov 18  2019 NetworkManager-wwan-debuginfo-1.22.0-0.1.el8.x86_64.rpm
[root@rhel-81 nm]# yum localupdate *.rpm
Updating Subscription Management repositories.
Last metadata expiration check: 0:34:56 ago on Wed 21 Oct 2020 11:14:59 AM EDT.
Package NetworkManager-adsl not installed, cannot update it.
No match for argument: NetworkManager-adsl-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-adsl-debuginfo not installed, cannot update it.
No match for argument: NetworkManager-adsl-debuginfo-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-bluetooth not installed, cannot update it.
No match for argument: NetworkManager-bluetooth-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-bluetooth-debuginfo not installed, cannot update it.
No match for argument: NetworkManager-bluetooth-debuginfo-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-debuginfo not installed, cannot update it.
No match for argument: NetworkManager-debuginfo-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-debugsource not installed, cannot update it.
No match for argument: NetworkManager-debugsource-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-libnm-debuginfo not installed, cannot update it.
No match for argument: NetworkManager-libnm-debuginfo-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-libnm-devel not installed, cannot update it.
No match for argument: NetworkManager-libnm-devel-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-ovs not installed, cannot update it.
No match for argument: NetworkManager-ovs-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-ovs-debuginfo not installed, cannot update it.
No match for argument: NetworkManager-ovs-debuginfo-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-ppp not installed, cannot update it.
No match for argument: NetworkManager-ppp-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-ppp-debuginfo not installed, cannot update it.
No match for argument: NetworkManager-ppp-debuginfo-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-team-debuginfo not installed, cannot update it.
No match for argument: NetworkManager-team-debuginfo-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-tui-debuginfo not installed, cannot update it.
No match for argument: NetworkManager-tui-debuginfo-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-wifi not installed, cannot update it.
No match for argument: NetworkManager-wifi-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-wifi-debuginfo not installed, cannot update it.
No match for argument: NetworkManager-wifi-debuginfo-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-wwan not installed, cannot update it.
No match for argument: NetworkManager-wwan-1.22.0-0.1.el8.x86_64.rpm
Package NetworkManager-wwan-debuginfo not installed, cannot update it.
No match for argument: NetworkManager-wwan-debuginfo-1.22.0-0.1.el8.x86_64.rpm
Dependencies resolved.
==============================================================================================================================================================================================================================================
 Package                                                         Architecture                                      Version                                                      Repository                                               Size
==============================================================================================================================================================================================================================================
Upgrading:
 NetworkManager                                                  x86_64                                            1:1.22.0-0.1.el8                                             @commandline                                            2.2 M
 NetworkManager-libnm                                            x86_64                                            1:1.22.0-0.1.el8                                             @commandline                                            1.7 M
 NetworkManager-team                                             x86_64                                            1:1.22.0-0.1.el8                                             @commandline                                            132 k
 NetworkManager-tui                                              x86_64                                            1:1.22.0-0.1.el8                                             @commandline                                            302 k

Transaction Summary
==============================================================================================================================================================================================================================================
Upgrade  4 Packages

Total size: 4.3 M
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                                                      1/1 
  Running scriptlet: NetworkManager-libnm-1:1.22.0-0.1.el8.x86_64                                                                                                                                                                         1/1 
  Upgrading        : NetworkManager-libnm-1:1.22.0-0.1.el8.x86_64                                                                                                                                                                         1/8 
  Running scriptlet: NetworkManager-libnm-1:1.22.0-0.1.el8.x86_64                                                                                                                                                                         1/8 
  Running scriptlet: NetworkManager-1:1.22.0-0.1.el8.x86_64                                                                                                                                                                               2/8 
  Upgrading        : NetworkManager-1:1.22.0-0.1.el8.x86_64                                                                                                                                                                               2/8 
  Running scriptlet: NetworkManager-1:1.22.0-0.1.el8.x86_64                                                                                                                                                                               2/8 
  Upgrading        : NetworkManager-team-1:1.22.0-0.1.el8.x86_64                                                                                                                                                                          3/8 
  Upgrading        : NetworkManager-tui-1:1.22.0-0.1.el8.x86_64                                                                                                                                                                           4/8 
  Cleanup          : NetworkManager-tui-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                           5/8 
  Cleanup          : NetworkManager-team-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                          6/8 
  Running scriptlet: NetworkManager-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                               7/8 
  Cleanup          : NetworkManager-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                               7/8 
  Running scriptlet: NetworkManager-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                               7/8 
  Cleanup          : NetworkManager-libnm-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                         8/8 
  Running scriptlet: NetworkManager-libnm-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                         8/8 
  Verifying        : NetworkManager-1:1.22.0-0.1.el8.x86_64                                                                                                                                                                               1/8 
  Verifying        : NetworkManager-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                               2/8 
  Verifying        : NetworkManager-libnm-1:1.22.0-0.1.el8.x86_64                                                                                                                                                                         3/8 
  Verifying        : NetworkManager-libnm-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                         4/8 
  Verifying        : NetworkManager-team-1:1.22.0-0.1.el8.x86_64                                                                                                                                                                          5/8 
  Verifying        : NetworkManager-team-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                          6/8 
  Verifying        : NetworkManager-tui-1:1.22.0-0.1.el8.x86_64                                                                                                                                                                           7/8 
  Verifying        : NetworkManager-tui-1:1.20.0-5.el8_1.x86_64                                                                                                                                                                           8/8 
Installed products updated.

Upgraded:
  NetworkManager-1:1.22.0-0.1.el8.x86_64                 NetworkManager-libnm-1:1.22.0-0.1.el8.x86_64                 NetworkManager-team-1:1.22.0-0.1.el8.x86_64                 NetworkManager-tui-1:1.22.0-0.1.el8.x86_64                

Complete!
[root@rhel-81 nm]# ip link ls dev bond2
4: bond2: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:75:8f:8c brd ff:ff:ff:ff:ff:ff
[root@rhel-81 nm]# reboot
Connection to 192.168.122.227 closed by remote host.
Connection to 192.168.122.227 closed.
[root@dell-r430-35 ~]# 
~~~

After the reboot:
~~~
[root@rhel-81 ~]# ip link ls dev bond2
4: bond2: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:75:8f:8c brd ff:ff:ff:ff:ff:ff
[root@rhel-81 ~]# 
~~~

That was obviously a bigger update - rpm is 1.22.0-0.1.el8.x86_64:
~~~
[root@rhel-81 ~]# rpm -q --changelog NetworkManager | head
* Wed Nov 13 2019 Beniamino Galvani <bgalvani> - 1:1.22.0-0.1
- Update to 1.21.3, a development snapshot of NetworkManager 1.22

* Tue Oct 01 2019 Lubomir Rintel <lrintel> - 1:1.20.0-4
- initrd: re-enable the generator (rh #1626348)

* Tue Aug 27 2019 Thomas Haller <thaller> - 1:1.20.0-3
- wifi: detect FT support per device to fix issues with driver support (rh #1743730)
- doc: fix default values in pre-generated documentation (rh #1737945)
~~~

Compare that to the changelog of 1.20.0-5.el8_1.x86_64 :
~~~
[root@rhel-81 ~]# rpm -q --changelog NetworkManager | head
* Thu Nov 21 2019 Beniamino Galvani <bgalvani> - 1:1.20.0-5
- ipv6: disable kernel handling of RAs (accept_ra) (rh #1734470)
- device: fix setting MTU lower than 1280 when IPv6 is disabled (rh #1753128)

* Mon Nov 11 2019 Beniamino Galvani <bgalvani> - 1:1.20.0-4
- try to keep MTU after the parent interface changes its MTU (rh #1751079)

* Tue Aug 27 2019 Thomas Haller <thaller> - 1:1.20.0-3
- wifi: detect FT support per device to fix issues with driver support (rh #1743730)
- doc: fix default values in pre-generated documentation (rh #1737945)
[root@rhel-81 ~]# 
~~~

===========================================

Next test, downgrading to:
~~~
Downgrading:
 NetworkManager                                                  x86_64                                            1:1.20.0-4.el8                                               @commandline                                            2.3 M
 NetworkManager-libnm                                            x86_64                                            1:1.20.0-4.el8                                               @commandline                                            1.7 M
 NetworkManager-team                                             x86_64                                            1:1.20.0-4.el8                                               @commandline                                            132 k
 NetworkManager-tui                                              x86_64                                            1:1.20.0-4.el8                                               @commandline                                            306 k
~~~

~~~
[root@rhel-81 nm]# rpm -q --changelog NetworkManager | head
* Tue Oct 01 2019 Lubomir Rintel <lrintel> - 1:1.20.0-4
- initrd: re-enable the generator (rh #1626348)

* Tue Aug 27 2019 Thomas Haller <thaller> - 1:1.20.0-3
- wifi: detect FT support per device to fix issues with driver support (rh #1743730)
- doc: fix default values in pre-generated documentation (rh #1737945)

* Thu Aug 15 2019 Lubomir Rintel <lrintel> - 1:1.20.0-2
- Import translations (rh #1689999)
~~~

~~~
[root@rhel-81 ~]# ip link ls dev bond2
4: bond2: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:75:8f:8c brd ff:ff:ff:ff:ff:ff
[root@rhel-81 ~]# 
~~~

So, now we covered going from 1.20.0-4 to 1.22.0-0.1, too.

Comment 3 Andreas Karis 2020-10-21 18:03:46 UTC
For context: 

The bond is configured to get a lease with DHCP and to set jumbo frames. However, there is no DHCP server on the network and thus the DHCP client will not return, the interface will remain in activating. That's o.k. - however, the interface sets its MTU after getting an address via DHCP only, and thus the MTU is not set. 
What's strange is that the behavior changed between 1.20.0-5.el8_1.x86_64 and  1.22.8-5.el8_2.x86_64  for bonds configured with MTU=9000, configured to get an address via DHCP with a very long timeout, and with no DHCP server actually answering to the request.

The question is which behavior is as per design, the behavior of *.20.* or of *.22.*  and why did the behavior change.

Comment 4 Beniamino Galvani 2020-10-26 09:46:42 UTC
From a git bisect, the behavior changed with this commit:

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/64a9dd38047a05592581e78453bf23582f195b1d

I'm not sure the effect on MTU change was intended.

Comment 5 Andreas Karis 2020-10-26 20:30:43 UTC
Hi,

Thanks for that. I'm not really sure which behavior is the correct or intended one, anyway, given that the behavior was different for single interfaces vs bonds in earlier versions. I'll reach out to the customer and suggest that they disable DHCP or shorten the timeout on the bond in question. I'll leave it up to the devs to decide what to do with this bug report and to decide if this actually is a bug.

- Andreas

Comment 7 Gris Ge 2021-03-03 05:17:38 UTC
Thanks.

We will investigate this in RHEL 8.5

Comment 9 Beniamino Galvani 2021-05-17 07:23:32 UTC
The MTU specified in the connection should be applied even if DHCP doesn't succeed. The change in RHEL 8.2 was not intended. I prepared a patch to restore the old, correct, behavior:

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/859
https://gitlab.freedesktop.org/NetworkManager/NetworkManager-ci/-/merge_requests/764

Comment 13 Vladimir Benes 2021-06-14 12:34:51 UTC
as said NMCI test added:
https://gitlab.freedesktop.org/NetworkManager/NetworkManager-ci/-/merge_requests/764

Comment 15 errata-xmlrpc 2021-11-09 19:28:55 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: NetworkManager security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2021:4361