** Description changed:

  [impact]
  
  if the 'disable_ipv6' procfs setting is disabled, and networkd is
  configured with ipv6 networking, networkd will not enable ipv6 via the
  procfs setting unless the interface mtu is also set to a custom value,
  that doesn't match the current interface mtu.
  
  [test case]
  
  create networkd config similar to:
  
  [Match]
  MACAddress=52:54:00:0c:09:77
  Name=ens3
  
  [Network]
  DHCP=ipv4
  LinkLocalAddressing=ipv6
  Address=2001:db8::100/64
  
  manually disable ipv6 for the interface:
  
  ubuntu@lp1859862-b:~$ echo 1 | sudo tee 
/proc/sys/net/ipv6/conf/ens3/disable_ipv6
  1
  
  the interface should not contain any ipv6 addresses:
  
  ubuntu@lp1859862-b:~$ ip -6 a show ens3
  ubuntu@lp1859862-b:~$
  
  restart networkd; it should enable ipv6 as ipv6 addresses are
  configured, but it does not:
  
  ubuntu@lp1859862-b:~$ sudo systemctl restart systemd-networkd
  ubuntu@lp1859862-b:~$ ip -6 a show ens3
  ubuntu@lp1859862-b:~$
  
  Note that with the mtu set, it will successfully re-enable ipv6; modify
  the networkd config to set the mtu by adding this:
  
  [Link]
  MTUBytes=1400
+ 
+ (be sure to set the MTU config to something other than its current mtu)
  
  verify ipv6 is still disabled and has no addresses, then restart and
  check again:
  
  ubuntu@lp1859862-b:~$ cat /proc/sys/net/ipv6/conf/ens3/disable_ipv6
  1
  ubuntu@lp1859862-b:~$ ip -6 a show ens3
  ubuntu@lp1859862-b:~$ sudo systemctl restart systemd-networkd
  ubuntu@lp1859862-b:~$ cat /proc/sys/net/ipv6/conf/ens3/disable_ipv6
  0
  ubuntu@lp1859862-b:~$ ip -6 a show ens3
  2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 state UP qlen 1000
      inet6 2001:db8::100/64 scope global
         valid_lft forever preferred_lft forever
      inet6 fe80::5054:ff:fe0c:977/64 scope link
         valid_lft forever preferred_lft forever
  
  That should be the behavior even if MTUBytes is not set.
  
  [regression potential]
  
  as this adjusts when the procfs 'disable_ipv6' setting is changed, the
  regression potential could cause failure to properly set/create ipv6
  addresses, or to leave ipv6 disabled entirely.
  
  [scope]
  
  This is needed in Bionic and Eoan.
  
  the commit to fix this is 482efedc081b0c4bf2e77a3dee6b979d9c9a5765 which
  is included starting in v243, so it is included already in Focal.
  
  Ignoring Disco, as it is EOL next week.
  
  This problem was introduced by commit
  44b598a1c9d11c23420a5ef45ff11bcb0ed195eb, which was included starting in
  v239, but also backported to Bionic in bug 1850704.
  
  [other info]
  
  for Eoan, this bug has always existed since release, but for Bionic,
  this is a regression introduced by bug 1850704.  However, manual
  disabling of ipv6 is very unusual, so this bug is unlikely to have an
  impact to many systems.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1859862

Title:
  networkd doesn't re-enable ipv6 unless mtu is set

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1859862/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to