Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
On Tue, 16 Jan 2018 at 16:26 James Pagewrote: > On Tue, 16 Jan 2018 at 16:23 James Page wrote: > >> >> On Tue, 16 Jan 2018 at 15:47 Eric Garver wrote: >> [...] >> >>> > Re-tested with the mainline kernel; gre_sys device is still configured >>> with >>> > a 1472 MTU, however I was then able to increase it using ip link set >>> > gre_sys mtu , confirming that the kernel applied hardware limit >>> was not >>> > longer being enforced - however looks like the IFLA_MTU settings >>> provided >>> > from OVS are still being ignored by the kernel. >>> >>> What was the value of ? Did you try 66535 (what OVS uses)? Any dmesg >>> for the OVS case? >>> >> >> Good question: >> >> # ip link set gre_sys mtu 65535 >> RTNETLINK answers: Invalid argument >> # ip link set gre_sys mtu 9000 >> # ip link >> [...] >> 18: gre_sys@NONE: mtu 9000 qdisc >> pfifo_fast master ovs-system state UNKNOWN mode DEFAULT group default qlen >> 1000 >> link/ether ea:38:bd:61:29:4d brd ff:ff:ff:ff:ff:ff >> >> so the value set by OVS was not accepted using ip as well. >> > > 65490 was the largest MTU value I am able to set via the ip command > And to confirm no error messages in dmesg. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
On Tue, 16 Jan 2018 at 16:23 James Pagewrote: > > On Tue, 16 Jan 2018 at 15:47 Eric Garver wrote: > [...] > >> > Re-tested with the mainline kernel; gre_sys device is still configured >> with >> > a 1472 MTU, however I was then able to increase it using ip link set >> > gre_sys mtu , confirming that the kernel applied hardware limit was >> not >> > longer being enforced - however looks like the IFLA_MTU settings >> provided >> > from OVS are still being ignored by the kernel. >> >> What was the value of ? Did you try 66535 (what OVS uses)? Any dmesg >> for the OVS case? >> > > Good question: > > # ip link set gre_sys mtu 65535 > RTNETLINK answers: Invalid argument > # ip link set gre_sys mtu 9000 > # ip link > [...] > 18: gre_sys@NONE: mtu 9000 qdisc > pfifo_fast master ovs-system state UNKNOWN mode DEFAULT group default qlen > 1000 > link/ether ea:38:bd:61:29:4d brd ff:ff:ff:ff:ff:ff > > so the value set by OVS was not accepted using ip as well. > 65490 was the largest MTU value I am able to set via the ip command. > > > ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
On Tue, 16 Jan 2018 at 15:47 Eric Garverwrote: [...] > > Re-tested with the mainline kernel; gre_sys device is still configured > with > > a 1472 MTU, however I was then able to increase it using ip link set > > gre_sys mtu , confirming that the kernel applied hardware limit was > not > > longer being enforced - however looks like the IFLA_MTU settings provided > > from OVS are still being ignored by the kernel. > > What was the value of ? Did you try 66535 (what OVS uses)? Any dmesg > for the OVS case? > Good question: # ip link set gre_sys mtu 65535 RTNETLINK answers: Invalid argument # ip link set gre_sys mtu 9000 # ip link [...] 18: gre_sys@NONE: mtu 9000 qdisc pfifo_fast master ovs-system state UNKNOWN mode DEFAULT group default qlen 1000 link/ether ea:38:bd:61:29:4d brd ff:ff:ff:ff:ff:ff so the value set by OVS was not accepted using ip as well. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
On Tue, Jan 16, 2018 at 06:27:23AM +, James Page wrote: > On Mon, 15 Jan 2018 at 18:55 Christian Ehrhardt < > christian.ehrha...@canonical.com> wrote: > > > On Mon, Jan 15, 2018 at 5:43 PM, Eric Garverwrote: > > > On Mon, Jan 15, 2018 at 11:32:32AM -0500, Eric Garver wrote: > > >> On Mon, Jan 15, 2018 at 03:17:28PM +, James Page wrote: > > >> > Hi Eric > > >> > > > >> > On Mon, 15 Jan 2018 at 16:54 Eric Garver wrote: > > >> > > > >> > > On Sat, Jan 13, 2018 at 03:57:08PM +, James Page wrote: > > >> > > > Hi Ben s > > >> > > > > > >> > > > On Sat, 13 Jan 2018 at 14:55 James Page > > wrote: > > >> > > > > > >> > > > > OK, I sent a patch: > > >> > > > >> https://patchwork.ozlabs.org/patch/860192/ > > >> > > > > > > >> > > > > > > >> > > > > Thanks Ben - I'll pull this patch into the Ubuntu packages and > > test > > >> > > this > > >> > > > > weekend. > > >> > > > > > > >> > > > > > >> > > > I pulled your patch in ontop of our current 2.8.1 packages and > > >> > > re-tested; > > >> > > > I'm not seeing a difference in behaviour with the patch in place. > > I > > >> > > removed > > >> > > > the vport_gre and ip_gre kernel modules to force a re-creation of > > the > > >> > > > device on restart of OVS as well as trying a reboot of the test > > machine: > > >> > > > > > >> > > > 7: gre0@NONE: mtu 1476 qdisc noop state DOWN mode > > DEFAULT group > > >> > > > default qlen 1 > > >> > > > link/gre 0.0.0.0 brd 0.0.0.0 > > >> > > > 8: gretap0@NONE: mtu 1462 qdisc noop state > > DOWN > > >> > > mode > > >> > > > DEFAULT group default qlen 1000 > > >> > > > link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff > > >> > > > 9: gre_sys@NONE: mtu 1472 qdisc > > >> > > > pfifo_fast master ovs-system state UNKNOWN mode DEFAULT group > > default > > >> > > qlen > > >> > > > 1000 > > >> > > > link/ether 52:ad:6d:89:bb:54 brd ff:ff:ff:ff:ff:ff > > >> > > > > >> > > Are there any errors is dmesg? It's possible setlink won't accept > > >> > > UINT16_MAX. grep for "Invalid MTU". > > >> > > > > >> > > > >> > Not under 4.4 but I do under 4.13: > > >> > > > >> > [6.794079] gre: GRE over IPv4 demultiplexor driver > > >> > [6.797621] ip_gre: GRE over IPv4 tunneling driver > > >> > [6.798326] gre_sys: Invalid MTU 65535 requested, hw max 1500 > > >> > > > >> > Looks like the kernel is limiting to 1500. > > >> > > >> I would expect setting with ip-link to fail as well. > > >> What does the below show?: > > >> > > >> $ ip link set dev gre_sys mtu 65535 > > > > > > Ugh. This is a separate kernel bug fixed by this commit: > > > > > > commit cfddd4c33c254954927942599d299b3865743146 <(386)%20574-3146> > > > Author: Xin Long > > > Date: Mon Dec 18 14:24:35 2017 +0800 > > > > > > ip_gre: remove the incorrect mtu limit for ipgre tap > > > > Thanks Eric, that matches my findings, glad that there seems to be an > > accepted fix already. > > But it is fairly recent and only in since 4.15-rc8 levels afaik. > > > > But OTOH its description at [1] reads pretty much like my notes so far. > > > > @James - do you think you could test a super-recent mainline kernel > > build from [2] in regard to this issue? > > > > Thanks all > > Re-tested with the mainline kernel; gre_sys device is still configured with > a 1472 MTU, however I was then able to increase it using ip link set > gre_sys mtu , confirming that the kernel applied hardware limit was not > longer being enforced - however looks like the IFLA_MTU settings provided > from OVS are still being ignored by the kernel. What was the value of ? Did you try 66535 (what OVS uses)? Any dmesg for the OVS case? ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
On Mon, 15 Jan 2018 at 18:55 Christian Ehrhardt < christian.ehrha...@canonical.com> wrote: > On Mon, Jan 15, 2018 at 5:43 PM, Eric Garverwrote: > > On Mon, Jan 15, 2018 at 11:32:32AM -0500, Eric Garver wrote: > >> On Mon, Jan 15, 2018 at 03:17:28PM +, James Page wrote: > >> > Hi Eric > >> > > >> > On Mon, 15 Jan 2018 at 16:54 Eric Garver wrote: > >> > > >> > > On Sat, Jan 13, 2018 at 03:57:08PM +, James Page wrote: > >> > > > Hi Ben s > >> > > > > >> > > > On Sat, 13 Jan 2018 at 14:55 James Page > wrote: > >> > > > > >> > > > > OK, I sent a patch: > >> > > > >> https://patchwork.ozlabs.org/patch/860192/ > >> > > > > > >> > > > > > >> > > > > Thanks Ben - I'll pull this patch into the Ubuntu packages and > test > >> > > this > >> > > > > weekend. > >> > > > > > >> > > > > >> > > > I pulled your patch in ontop of our current 2.8.1 packages and > >> > > re-tested; > >> > > > I'm not seeing a difference in behaviour with the patch in place. > I > >> > > removed > >> > > > the vport_gre and ip_gre kernel modules to force a re-creation of > the > >> > > > device on restart of OVS as well as trying a reboot of the test > machine: > >> > > > > >> > > > 7: gre0@NONE: mtu 1476 qdisc noop state DOWN mode > DEFAULT group > >> > > > default qlen 1 > >> > > > link/gre 0.0.0.0 brd 0.0.0.0 > >> > > > 8: gretap0@NONE: mtu 1462 qdisc noop state > DOWN > >> > > mode > >> > > > DEFAULT group default qlen 1000 > >> > > > link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff > >> > > > 9: gre_sys@NONE: mtu 1472 qdisc > >> > > > pfifo_fast master ovs-system state UNKNOWN mode DEFAULT group > default > >> > > qlen > >> > > > 1000 > >> > > > link/ether 52:ad:6d:89:bb:54 brd ff:ff:ff:ff:ff:ff > >> > > > >> > > Are there any errors is dmesg? It's possible setlink won't accept > >> > > UINT16_MAX. grep for "Invalid MTU". > >> > > > >> > > >> > Not under 4.4 but I do under 4.13: > >> > > >> > [6.794079] gre: GRE over IPv4 demultiplexor driver > >> > [6.797621] ip_gre: GRE over IPv4 tunneling driver > >> > [6.798326] gre_sys: Invalid MTU 65535 requested, hw max 1500 > >> > > >> > Looks like the kernel is limiting to 1500. > >> > >> I would expect setting with ip-link to fail as well. > >> What does the below show?: > >> > >> $ ip link set dev gre_sys mtu 65535 > > > > Ugh. This is a separate kernel bug fixed by this commit: > > > > commit cfddd4c33c254954927942599d299b3865743146 <(386)%20574-3146> > > Author: Xin Long > > Date: Mon Dec 18 14:24:35 2017 +0800 > > > > ip_gre: remove the incorrect mtu limit for ipgre tap > > Thanks Eric, that matches my findings, glad that there seems to be an > accepted fix already. > But it is fairly recent and only in since 4.15-rc8 levels afaik. > > But OTOH its description at [1] reads pretty much like my notes so far. > > @James - do you think you could test a super-recent mainline kernel > build from [2] in regard to this issue? > Thanks all Re-tested with the mainline kernel; gre_sys device is still configured with a 1472 MTU, however I was then able to increase it using ip link set gre_sys mtu , confirming that the kernel applied hardware limit was not longer being enforced - however looks like the IFLA_MTU settings provided from OVS are still being ignored by the kernel. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
On Mon, Jan 15, 2018 at 5:43 PM, Eric Garverwrote: > On Mon, Jan 15, 2018 at 11:32:32AM -0500, Eric Garver wrote: >> On Mon, Jan 15, 2018 at 03:17:28PM +, James Page wrote: >> > Hi Eric >> > >> > On Mon, 15 Jan 2018 at 16:54 Eric Garver wrote: >> > >> > > On Sat, Jan 13, 2018 at 03:57:08PM +, James Page wrote: >> > > > Hi Ben s >> > > > >> > > > On Sat, 13 Jan 2018 at 14:55 James Page wrote: >> > > > >> > > > > OK, I sent a patch: >> > > > >> https://patchwork.ozlabs.org/patch/860192/ >> > > > > >> > > > > >> > > > > Thanks Ben - I'll pull this patch into the Ubuntu packages and test >> > > this >> > > > > weekend. >> > > > > >> > > > >> > > > I pulled your patch in ontop of our current 2.8.1 packages and >> > > re-tested; >> > > > I'm not seeing a difference in behaviour with the patch in place. I >> > > removed >> > > > the vport_gre and ip_gre kernel modules to force a re-creation of the >> > > > device on restart of OVS as well as trying a reboot of the test >> > > > machine: >> > > > >> > > > 7: gre0@NONE: mtu 1476 qdisc noop state DOWN mode DEFAULT group >> > > > default qlen 1 >> > > > link/gre 0.0.0.0 brd 0.0.0.0 >> > > > 8: gretap0@NONE: mtu 1462 qdisc noop state DOWN >> > > mode >> > > > DEFAULT group default qlen 1000 >> > > > link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff >> > > > 9: gre_sys@NONE: mtu 1472 qdisc >> > > > pfifo_fast master ovs-system state UNKNOWN mode DEFAULT group default >> > > qlen >> > > > 1000 >> > > > link/ether 52:ad:6d:89:bb:54 brd ff:ff:ff:ff:ff:ff >> > > >> > > Are there any errors is dmesg? It's possible setlink won't accept >> > > UINT16_MAX. grep for "Invalid MTU". >> > > >> > >> > Not under 4.4 but I do under 4.13: >> > >> > [6.794079] gre: GRE over IPv4 demultiplexor driver >> > [6.797621] ip_gre: GRE over IPv4 tunneling driver >> > [6.798326] gre_sys: Invalid MTU 65535 requested, hw max 1500 >> > >> > Looks like the kernel is limiting to 1500. >> >> I would expect setting with ip-link to fail as well. >> What does the below show?: >> >> $ ip link set dev gre_sys mtu 65535 > > Ugh. This is a separate kernel bug fixed by this commit: > > commit cfddd4c33c254954927942599d299b3865743146 > Author: Xin Long > Date: Mon Dec 18 14:24:35 2017 +0800 > > ip_gre: remove the incorrect mtu limit for ipgre tap Thanks Eric, that matches my findings, glad that there seems to be an accepted fix already. But it is fairly recent and only in since 4.15-rc8 levels afaik. But OTOH its description at [1] reads pretty much like my notes so far. @James - do you think you could test a super-recent mainline kernel build from [2] in regard to this issue? [1]: https://github.com/torvalds/linux/commit/cfddd4c33c254954927942599d299b3865743146 [2]: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15-rc8/ ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
> But that does not disable the central check. > And this only relies on the max_mtu values in the device struct gre's own check would be called by dev.c:dev_set_mtu * core check here* -> __dev_set_mtu -> ops->ndo_change_mtu But the check that refuses us is before the call to gre so it never gets there. > I still have to look what gro actually sets on initial setup, but atm > I'd assume it could do some default which might be 1500 or so and due > to that limits it later on our try to increase the value. gre uses ether_setup to set up the device which sets sane ethernet defaults. But in this case this will be »···dev->mtu»···»···= ETH_DATA_LEN; »···dev->min_mtu»···»···= ETH_MIN_MTU; »···dev->max_mtu»···»···= ETH_DATA_LEN; so max = initial mtu, and that is not big enough to increase later. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
On Mon, Jan 15, 2018 at 11:32:32AM -0500, Eric Garver wrote: > On Mon, Jan 15, 2018 at 03:17:28PM +, James Page wrote: > > Hi Eric > > > > On Mon, 15 Jan 2018 at 16:54 Eric Garverwrote: > > > > > On Sat, Jan 13, 2018 at 03:57:08PM +, James Page wrote: > > > > Hi Ben s > > > > > > > > On Sat, 13 Jan 2018 at 14:55 James Page wrote: > > > > > > > > > OK, I sent a patch: > > > > >> https://patchwork.ozlabs.org/patch/860192/ > > > > > > > > > > > > > > > Thanks Ben - I'll pull this patch into the Ubuntu packages and test > > > this > > > > > weekend. > > > > > > > > > > > > > I pulled your patch in ontop of our current 2.8.1 packages and > > > re-tested; > > > > I'm not seeing a difference in behaviour with the patch in place. I > > > removed > > > > the vport_gre and ip_gre kernel modules to force a re-creation of the > > > > device on restart of OVS as well as trying a reboot of the test machine: > > > > > > > > 7: gre0@NONE: mtu 1476 qdisc noop state DOWN mode DEFAULT group > > > > default qlen 1 > > > > link/gre 0.0.0.0 brd 0.0.0.0 > > > > 8: gretap0@NONE: mtu 1462 qdisc noop state DOWN > > > mode > > > > DEFAULT group default qlen 1000 > > > > link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff > > > > 9: gre_sys@NONE: mtu 1472 qdisc > > > > pfifo_fast master ovs-system state UNKNOWN mode DEFAULT group default > > > qlen > > > > 1000 > > > > link/ether 52:ad:6d:89:bb:54 brd ff:ff:ff:ff:ff:ff > > > > > > Are there any errors is dmesg? It's possible setlink won't accept > > > UINT16_MAX. grep for "Invalid MTU". > > > > > > > Not under 4.4 but I do under 4.13: > > > > [6.794079] gre: GRE over IPv4 demultiplexor driver > > [6.797621] ip_gre: GRE over IPv4 tunneling driver > > [6.798326] gre_sys: Invalid MTU 65535 requested, hw max 1500 > > > > Looks like the kernel is limiting to 1500. > > I would expect setting with ip-link to fail as well. > What does the below show?: > > $ ip link set dev gre_sys mtu 65535 Ugh. This is a separate kernel bug fixed by this commit: commit cfddd4c33c254954927942599d299b3865743146 Author: Xin Long Date: Mon Dec 18 14:24:35 2017 +0800 ip_gre: remove the incorrect mtu limit for ipgre tap ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
>> Looks like the kernel is limiting to 1500. > > I would expect setting with ip-link to fail as well. > What does the below show?: > > $ ip link set dev gre_sys mtu 65535 For your question - we just talked about that and yes on the new kernel that fails as well if set via ip. But those checks are newer than kernel 4.4 Since commit 61e84623ace35ce48975e8f90bbbac7557c43d61 Author: Jarod WilsonDate: Fri Oct 7 22:04:33 2016 -0400 net: centralize net_device min/max MTU checking Any call is checked in net/core/dev.c and this is the message you saw. Now there is another related change commit a52ad514fdf3b8a57ca4322c92d2d8d5c6182485 Author: Jarod Wilson Date: Fri Oct 7 22:04:34 2016 -0400 net: deprecate eth_change_mtu, remove usage Which essentially removes all the per device checks in favor of the new central check. In there it mentions that: ... All callers have been audited for calls to alloc_etherdev* or ether_setup directly, which means they all have a valid dev->min_mtu and dev->max_mtu ... Working theories for me atm are: - gre formerly had no such check at al land worked, but the central check kicks in and refuses to set the higher MTU - This would either be a kernel bug on gre, or on the new OVS in case the netlink based creation would be supposed to add something to set the max_mtu accordingly. The checks on MTU change essentially are those in core and a call to the net_device_ops.ndo_change_mtu callback. That is implemented in ip_tunnel_change_mtu by gre. in 4.4 this was checking as: if (new_mtu < 68 || new_mtu > 0xFFF8 - dev->hard_header_len - t_hlen) return -EINVAL; The new check is not that much different it seems: int max_mtu = 0xFFF8 - dev->hard_header_len - t_hlen; if (new_mtu < ETH_MIN_MTU) return -EINVAL; if (new_mtu > max_mtu) { if (strict) return -EINVAL; But that does not disable the central check. And this only relies on the max_mtu values in the device struct I still have to look what gro actually sets on initial setup, but atm I'd assume it could do some default which might be 1500 or so and due to that limits it later on our try to increase the value. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
On Mon, Jan 15, 2018 at 03:17:28PM +, James Page wrote: > Hi Eric > > On Mon, 15 Jan 2018 at 16:54 Eric Garverwrote: > > > On Sat, Jan 13, 2018 at 03:57:08PM +, James Page wrote: > > > Hi Ben s > > > > > > On Sat, 13 Jan 2018 at 14:55 James Page wrote: > > > > > > > OK, I sent a patch: > > > >> https://patchwork.ozlabs.org/patch/860192/ > > > > > > > > > > > > Thanks Ben - I'll pull this patch into the Ubuntu packages and test > > this > > > > weekend. > > > > > > > > > > I pulled your patch in ontop of our current 2.8.1 packages and > > re-tested; > > > I'm not seeing a difference in behaviour with the patch in place. I > > removed > > > the vport_gre and ip_gre kernel modules to force a re-creation of the > > > device on restart of OVS as well as trying a reboot of the test machine: > > > > > > 7: gre0@NONE: mtu 1476 qdisc noop state DOWN mode DEFAULT group > > > default qlen 1 > > > link/gre 0.0.0.0 brd 0.0.0.0 > > > 8: gretap0@NONE: mtu 1462 qdisc noop state DOWN > > mode > > > DEFAULT group default qlen 1000 > > > link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff > > > 9: gre_sys@NONE: mtu 1472 qdisc > > > pfifo_fast master ovs-system state UNKNOWN mode DEFAULT group default > > qlen > > > 1000 > > > link/ether 52:ad:6d:89:bb:54 brd ff:ff:ff:ff:ff:ff > > > > Are there any errors is dmesg? It's possible setlink won't accept > > UINT16_MAX. grep for "Invalid MTU". > > > > Not under 4.4 but I do under 4.13: > > [6.794079] gre: GRE over IPv4 demultiplexor driver > [6.797621] ip_gre: GRE over IPv4 tunneling driver > [6.798326] gre_sys: Invalid MTU 65535 requested, hw max 1500 > > Looks like the kernel is limiting to 1500. I would expect setting with ip-link to fail as well. What does the below show?: $ ip link set dev gre_sys mtu 65535 ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
Hi Eric On Mon, 15 Jan 2018 at 16:54 Eric Garverwrote: > On Sat, Jan 13, 2018 at 03:57:08PM +, James Page wrote: > > Hi Ben s > > > > On Sat, 13 Jan 2018 at 14:55 James Page wrote: > > > > > OK, I sent a patch: > > >> https://patchwork.ozlabs.org/patch/860192/ > > > > > > > > > Thanks Ben - I'll pull this patch into the Ubuntu packages and test > this > > > weekend. > > > > > > > I pulled your patch in ontop of our current 2.8.1 packages and > re-tested; > > I'm not seeing a difference in behaviour with the patch in place. I > removed > > the vport_gre and ip_gre kernel modules to force a re-creation of the > > device on restart of OVS as well as trying a reboot of the test machine: > > > > 7: gre0@NONE: mtu 1476 qdisc noop state DOWN mode DEFAULT group > > default qlen 1 > > link/gre 0.0.0.0 brd 0.0.0.0 > > 8: gretap0@NONE: mtu 1462 qdisc noop state DOWN > mode > > DEFAULT group default qlen 1000 > > link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff > > 9: gre_sys@NONE: mtu 1472 qdisc > > pfifo_fast master ovs-system state UNKNOWN mode DEFAULT group default > qlen > > 1000 > > link/ether 52:ad:6d:89:bb:54 brd ff:ff:ff:ff:ff:ff > > Are there any errors is dmesg? It's possible setlink won't accept > UINT16_MAX. grep for "Invalid MTU". > Not under 4.4 but I do under 4.13: [6.794079] gre: GRE over IPv4 demultiplexor driver [6.797621] ip_gre: GRE over IPv4 tunneling driver [6.798326] gre_sys: Invalid MTU 65535 requested, hw max 1500 Looks like the kernel is limiting to 1500. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
On Sat, Jan 13, 2018 at 03:57:08PM +, James Page wrote: > Hi Ben s > > On Sat, 13 Jan 2018 at 14:55 James Pagewrote: > > > OK, I sent a patch: > >> https://patchwork.ozlabs.org/patch/860192/ > > > > > > Thanks Ben - I'll pull this patch into the Ubuntu packages and test this > > weekend. > > > > I pulled your patch in ontop of our current 2.8.1 packages and re-tested; > I'm not seeing a difference in behaviour with the patch in place. I removed > the vport_gre and ip_gre kernel modules to force a re-creation of the > device on restart of OVS as well as trying a reboot of the test machine: > > 7: gre0@NONE: mtu 1476 qdisc noop state DOWN mode DEFAULT group > default qlen 1 > link/gre 0.0.0.0 brd 0.0.0.0 > 8: gretap0@NONE: mtu 1462 qdisc noop state DOWN mode > DEFAULT group default qlen 1000 > link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff > 9: gre_sys@NONE: mtu 1472 qdisc > pfifo_fast master ovs-system state UNKNOWN mode DEFAULT group default qlen > 1000 > link/ether 52:ad:6d:89:bb:54 brd ff:ff:ff:ff:ff:ff Are there any errors is dmesg? It's possible setlink won't accept UINT16_MAX. grep for "Invalid MTU". ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
Hi Ben s On Sat, 13 Jan 2018 at 14:55 James Pagewrote: > OK, I sent a patch: >> https://patchwork.ozlabs.org/patch/860192/ > > > Thanks Ben - I'll pull this patch into the Ubuntu packages and test this > weekend. > I pulled your patch in ontop of our current 2.8.1 packages and re-tested; I'm not seeing a difference in behaviour with the patch in place. I removed the vport_gre and ip_gre kernel modules to force a re-creation of the device on restart of OVS as well as trying a reboot of the test machine: 7: gre0@NONE: mtu 1476 qdisc noop state DOWN mode DEFAULT group default qlen 1 link/gre 0.0.0.0 brd 0.0.0.0 8: gretap0@NONE: mtu 1462 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 9: gre_sys@NONE: mtu 1472 qdisc pfifo_fast master ovs-system state UNKNOWN mode DEFAULT group default qlen 1000 link/ether 52:ad:6d:89:bb:54 brd ff:ff:ff:ff:ff:ff ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
On Fri, 12 Jan 2018 at 20:45 Ben Pfaffwrote: > > > > Most likely you are seeing this bug: > > > > > > > > https://bugzilla.redhat.com/show_bug.cgi?id=1488484 > > > > > > > > It's actually an issue with the kernel GRE driver ignoring IFLA_MTU > when > > > > the device is created. > Great - figured someone must have seen this already! [...] > OK, I sent a patch: > https://patchwork.ozlabs.org/patch/860192/ Thanks Ben - I'll pull this patch into the Ubuntu packages and test this weekend. Cheers James ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
On Fri, Jan 12, 2018 at 01:48:00PM -0500, Eric Garver wrote: > On Fri, Jan 12, 2018 at 10:18:42AM -0800, Ben Pfaff wrote: > > On Fri, Jan 12, 2018 at 10:51:11AM -0500, Eric Garver wrote: > > > On Fri, Jan 12, 2018 at 12:33:23PM +, James Page wrote: > > > > Hi > > > > > > > > We're currently trying to debug an issue we're seeing when using > > > > OpenStack > > > > with OVS 2.8.1 (see [0]). > > > > > > > > When using GRE tunnels, we're seeing broken/slow performance due to what > > > > appears to be an incorrect MTU setting on the gre_sys device; for > > > > previous > > > > OVS releases (2.6.1 specifically but I think this applies back to 2.5.x > > > > as > > > > well) this device was created with an MTU of 65490; however under 2.8.1 > > > > it > > > > gets created with an MTU of 1472, which when used with GRE networks with > > > > larger MTU settings causes problems with fragmentation and broken path > > > > MTU > > > > discovery. > > > > > > > > I've tested under Linux 4.4 and 4.13 and see the problem with both > > > > kernels. > > > > > > > > Its possible to workaround the issue by setting the MTU on the gre_sys > > > > device directly, but this change will get reset back to 1472 on a > > > > restart > > > > of openvswitch. > > > > > > > > I know the mtu_request feature was introduced around 2.7.0 - groking the > > > > code I can't see where the MTU of this device is actually configured... > > > > > > > > Any help much appreciated > > > > > > > > James > > > > > > > > [0] https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/1742505 > > > > > > Most likely you are seeing this bug: > > > > > > https://bugzilla.redhat.com/show_bug.cgi?id=1488484 > > > > > > It's actually an issue with the kernel GRE driver ignoring IFLA_MTU when > > > the device is created. > > > > Can OVS work around this by following up its RTM_NEWLINK by an > > (otherwise redundant) RTM_SETLINK? > > Yes. > > > (And should it do so?) > > I don't see any negative effect other than another round trip to the > kernel. Worth noting that the other tunnels (vxlan, geneve) are not > affected. OK, I sent a patch: https://patchwork.ozlabs.org/patch/860192/ ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
On Fri, Jan 12, 2018 at 10:18:42AM -0800, Ben Pfaff wrote: > On Fri, Jan 12, 2018 at 10:51:11AM -0500, Eric Garver wrote: > > On Fri, Jan 12, 2018 at 12:33:23PM +, James Page wrote: > > > Hi > > > > > > We're currently trying to debug an issue we're seeing when using OpenStack > > > with OVS 2.8.1 (see [0]). > > > > > > When using GRE tunnels, we're seeing broken/slow performance due to what > > > appears to be an incorrect MTU setting on the gre_sys device; for previous > > > OVS releases (2.6.1 specifically but I think this applies back to 2.5.x as > > > well) this device was created with an MTU of 65490; however under 2.8.1 it > > > gets created with an MTU of 1472, which when used with GRE networks with > > > larger MTU settings causes problems with fragmentation and broken path MTU > > > discovery. > > > > > > I've tested under Linux 4.4 and 4.13 and see the problem with both > > > kernels. > > > > > > Its possible to workaround the issue by setting the MTU on the gre_sys > > > device directly, but this change will get reset back to 1472 on a restart > > > of openvswitch. > > > > > > I know the mtu_request feature was introduced around 2.7.0 - groking the > > > code I can't see where the MTU of this device is actually configured... > > > > > > Any help much appreciated > > > > > > James > > > > > > [0] https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/1742505 > > > > Most likely you are seeing this bug: > > > > https://bugzilla.redhat.com/show_bug.cgi?id=1488484 > > > > It's actually an issue with the kernel GRE driver ignoring IFLA_MTU when > > the device is created. > > Can OVS work around this by following up its RTM_NEWLINK by an > (otherwise redundant) RTM_SETLINK? Yes. > (And should it do so?) I don't see any negative effect other than another round trip to the kernel. Worth noting that the other tunnels (vxlan, geneve) are not affected. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
On Fri, Jan 12, 2018 at 10:51:11AM -0500, Eric Garver wrote: > On Fri, Jan 12, 2018 at 12:33:23PM +, James Page wrote: > > Hi > > > > We're currently trying to debug an issue we're seeing when using OpenStack > > with OVS 2.8.1 (see [0]). > > > > When using GRE tunnels, we're seeing broken/slow performance due to what > > appears to be an incorrect MTU setting on the gre_sys device; for previous > > OVS releases (2.6.1 specifically but I think this applies back to 2.5.x as > > well) this device was created with an MTU of 65490; however under 2.8.1 it > > gets created with an MTU of 1472, which when used with GRE networks with > > larger MTU settings causes problems with fragmentation and broken path MTU > > discovery. > > > > I've tested under Linux 4.4 and 4.13 and see the problem with both kernels. > > > > Its possible to workaround the issue by setting the MTU on the gre_sys > > device directly, but this change will get reset back to 1472 on a restart > > of openvswitch. > > > > I know the mtu_request feature was introduced around 2.7.0 - groking the > > code I can't see where the MTU of this device is actually configured... > > > > Any help much appreciated > > > > James > > > > [0] https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/1742505 > > Most likely you are seeing this bug: > > https://bugzilla.redhat.com/show_bug.cgi?id=1488484 > > It's actually an issue with the kernel GRE driver ignoring IFLA_MTU when > the device is created. Can OVS work around this by following up its RTM_NEWLINK by an (otherwise redundant) RTM_SETLINK? (And should it do so?) ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] Odd gre_sys MTU setting (2.6.x vs 2.8.x)
On Fri, Jan 12, 2018 at 12:33:23PM +, James Page wrote: > Hi > > We're currently trying to debug an issue we're seeing when using OpenStack > with OVS 2.8.1 (see [0]). > > When using GRE tunnels, we're seeing broken/slow performance due to what > appears to be an incorrect MTU setting on the gre_sys device; for previous > OVS releases (2.6.1 specifically but I think this applies back to 2.5.x as > well) this device was created with an MTU of 65490; however under 2.8.1 it > gets created with an MTU of 1472, which when used with GRE networks with > larger MTU settings causes problems with fragmentation and broken path MTU > discovery. > > I've tested under Linux 4.4 and 4.13 and see the problem with both kernels. > > Its possible to workaround the issue by setting the MTU on the gre_sys > device directly, but this change will get reset back to 1472 on a restart > of openvswitch. > > I know the mtu_request feature was introduced around 2.7.0 - groking the > code I can't see where the MTU of this device is actually configured... > > Any help much appreciated > > James > > [0] https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/1742505 Most likely you are seeing this bug: https://bugzilla.redhat.com/show_bug.cgi?id=1488484 It's actually an issue with the kernel GRE driver ignoring IFLA_MTU when the device is created. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev