linuxbridge: vxlan interfaces doesn't get MTU
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Medium
|
Hongbin Lu |
Bug Description
When vxlans are created, f.ex. via ensure_vxlan in neutron/
This explains why we get vxlan interfaces with 1500 byte mtu even-though neutron has been instructed to use 9000 bytes mtu.
The function called:
def add_vxlan(self, name, vni, group=None, dev=None, ttl=None, tos=None,
cmd = ['add', name, 'type', 'vxlan', 'id', vni]
...
Creates the interface, and from what I understand mtu should be between 'add' and 'type'.
I have been unable to find any other place where the mtu would be propagated to the vxlan interface and our tests indicate that it never happens.
The problem is that this causes the bridge to set it self to the lower mtu and... noone is happy =)
This is on:
git describe
11.0.2-8-g7fd30cb
(stable/pike)
tags: | added: linuxbridge |
Changed in neutron: | |
importance: | Undecided → Medium |
tags: | added: needs-attention |
Changed in neutron: | |
assignee: | nobody → Hongbin Lu (hongbin.lu) |
summary: |
- vxlan interfaces doesn't get MTU + linuxbridge: vxlan interfaces doesn't get MTU |
It looks like this could be fixed over in the agent, since when we add the tap device we have the mtu, it's just never used to create the bridge or vxlan device. For example, if ensure_ physical_ in_bridge( ) got the mtu it could pass along and callees could:
int_ vxlan.link. set_mtu( mtu)
If you manually set the mtu on the correct interfaces do things start working?