Unable to set bridge to lower MTU that interface its attached to

Bug #1979874 reported by Mat Clarke
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
netplan
New
Undecided
Unassigned
netplan.io (Ubuntu)
Triaged
Medium
Unassigned

Bug Description

Affected Ubuntu 20.04 and 22.04

I have two interfaces in an LACP bond that have been set to MTU 9000 as it's required for a VLAN interface that then passes through to bridge114 which needs MTU 9000. The issue I'm having is I also require bridge-lan bridge on bond0 not to go through a VLAN and this needs to be MTU to be 1500 but is set to 9000. Below is my netplan and output of "ip a"

network:
  version: 2
  renderer: networkd
  ethernets:
    enp2s0:
      optional: true
      dhcp4: false
      dhcp6: false
    enp3s0:
      optional: true
      dhcp4: false
      dhcp6: false
  bonds:
    bond0:
      interfaces: [enp2s0,enp3s0]
      dhcp4: false
      dhcp6: false
      mtu: 9000
      parameters:
        mode: 802.3ad
        lacp-rate: fast
        transmit-hash-policy: layer2
        mii-monitor-interval: 100
  vlans:
    vlan102:
      link-local: []
      accept-ra: no
      id: 102
      link: bond0
      mtu: 1500
    vlan114:
      link-local: []
      accept-ra: no
      id: 114
      link: bond0
      mtu: 9000
  bridges:
    bridge-lan:
      macaddress: 62:21:10:24:86:e7
      interfaces: [bond0]
      dhcp4: true
      dhcp6: true
      mtu: 1500
      parameters:
        stp: false
        forward-delay: 0
    bridge102:
      interfaces: [vlan102]
      mtu: 1500
      dhcp4: false
      dhcp6: false
      link-local: []
      accept-ra: no
      parameters:
        stp: false
    bridge114:
      interfaces: [vlan114]
      mtu: 9000
      dhcp4: true
      dhcp6: false
      link-local: []
      accept-ra: no
      parameters:
        stp: false

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc fq_codel master bond0 state UP group default qlen 1000
    link/ether 62:21:10:24:86:e7 brd ff:ff:ff:ff:ff:ff permaddr 00:01:2e:67:c8:39
3: enp3s0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc fq_codel master bond0 state UP group default qlen 1000
    link/ether 62:21:10:24:86:e7 brd ff:ff:ff:ff:ff:ff permaddr 00:01:2e:67:c8:3a
4: wlp4s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether e0:94:67:76:a0:e3 brd ff:ff:ff:ff:ff:ff
5: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 9000 qdisc noqueue master bridge-lan state UP group default qlen 1000
    link/ether 62:21:10:24:86:e7 brd ff:ff:ff:ff:ff:ff
6: bridge-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP group default qlen 1000
    link/ether 62:21:10:24:86:e7 brd ff:ff:ff:ff:ff:ff
    inet 172.28.185.201/24 metric 100 brd 172.28.185.255 scope global dynamic bridge-lan
       valid_lft 6295sec preferred_lft 6295sec
    inet6 2a02:8010:6538:10:6021:10ff:fe24:86e7/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 86245sec preferred_lft 14245sec
    inet6 fe80::6021:10ff:fe24:86e7/64 scope link
       valid_lft forever preferred_lft forever
7: bridge102: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 72:f5:bc:58:9a:cb brd ff:ff:ff:ff:ff:ff
8: bridge114: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP group default qlen 1000
    link/ether ae:56:9d:92:a6:4e brd ff:ff:ff:ff:ff:ff
    inet 172.28.187.123/24 metric 100 brd 172.28.187.255 scope global dynamic bridge114
       valid_lft 6295sec preferred_lft 6295sec
9: vlan102@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master bridge102 state UP group default qlen 1000
    link/ether 62:21:10:24:86:e7 brd ff:ff:ff:ff:ff:ff
10: vlan114@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc noqueue master bridge114 state UP group default qlen 1000
    link/ether 62:21:10:24:86:e7 brd ff:ff:ff:ff:ff:ff
11: lxdbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 00:16:3e:4f:03:63 brd ff:ff:ff:ff:ff:ff
    inet 10.55.236.1/24 scope global lxdbr0
       valid_lft forever preferred_lft forever
    inet6 fd42:167e:91e4:b07a::1/64 scope global
       valid_lft forever preferred_lft forever
13: veth5e7b7985@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master bridge102 state UP group default qlen 1000
    link/ether 86:79:cd:04:f8:a4 brd ff:ff:ff:ff:ff:ff link-netnsid 0
15: veth5237a3b8@if14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc noqueue master bridge114 state UP group default qlen 1000
    link/ether aa:6a:74:5b:6d:26 brd ff:ff:ff:ff:ff:ff link-netnsid 0

I can manually work around this by running "sudo ip link set mtu 1500 bridge-lan" after reboot. Still, I have to do this after every automatic reboot due to unattended upgrades or I will have networking issues with this node as bridge-lan is on an MTU 1500 VLAN.

description: updated
Revision history for this message
Lukas Märdian (slyon) wrote (last edit ):

Could you try to use "dhcp4-overrides.use-mtu: false" and "dhcp6-overrides.use-mtu: false" on the bridge-lan interface?

I wonder if that makes any difference?

Lukas Märdian (slyon)
Changed in netplan:
status: New → Incomplete
Revision history for this message
Mat Clarke (matclarke-clarkesnet) wrote :

I don't believe this is a DHCP issues as I have 3 other ubuntu 22.04 servers that use static IP's and if the parent interface of the bridge has a 9000 MTU then the 1500 MTU is ignored on the bridge. I've made the request changes and the output is below.

'network:
  version: 2
  renderer: networkd
  ethernets:
    enp2s0:
      optional: true
      mtu: 9000
      dhcp4: false
      dhcp6: false
    enp3s0:
      optional: true
      mtu: 9000
      dhcp4: false
      dhcp6: false
  bonds:
    bond0:
      interfaces: [enp2s0,enp3s0]
      dhcp4: false
      dhcp6: false
      mtu: 9000
      parameters:
        mode: 802.3ad
        lacp-rate: fast
        transmit-hash-policy: layer2
        mii-monitor-interval: 100
  vlans:
    vlan102:
      link-local: []
      accept-ra: no
      id: 102
      link: bond0
      mtu: 1500
    vlan114:
      link-local: []
      accept-ra: no
      id: 114
      link: bond0
      mtu: 9000
  bridges:
    bridge-lan:
      macaddress: 62:21:10:24:86:e7
      interfaces: [bond0]
      dhcp4: true
      dhcp6: true
      dhcp4-overrides:
        use-mtu: false
      dhcp6-overrides:
        use-mtu: false
      mtu: 1500
      parameters:
        stp: false
        forward-delay: 0
    bridge102:
      interfaces: [vlan102]
      mtu: 1500
      dhcp4: false
      dhcp6: false
      link-local: []
      accept-ra: no
      parameters:
        stp: false
    bridge114:
      interfaces: [vlan114]
      mtu: 9000
      dhcp4: true
      dhcp6: false
      link-local: []
      accept-ra: no
      parameters:
        stp: false'

'# ip a l bridge-lan
6: bridge-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc noqueue state UP group default qlen 1000
    link/ether 62:21:10:24:86:e7 brd ff:ff:ff:ff:ff:ff
    inet 172.28.185.201/24 metric 100 brd 172.28.185.255 scope global dynamic bridge-lan
       valid_lft 7037sec preferred_lft 7037sec
    inet6 2a02:8010:6538:10:6021:10ff:fe24:86e7/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 86235sec preferred_lft 14235sec
    inet6 fe80::6021:10ff:fe24:86e7/64 scope link
       valid_lft forever preferred_lft forever'

Revision history for this message
Lukas Märdian (slyon) wrote :

Thanks for the feedback. I need to further investigate this.

Changed in netplan:
status: Incomplete → New
tags: added: rls-jj-incoming
Lukas Märdian (slyon)
Changed in netplan.io (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
Lukas Märdian (slyon)
tags: added: rls-jj-notfixing
removed: rls-jj-incoming
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.