[SRU][N][PATCH 0/4] re-enable Ubuntu FAN in the Noble kernel
Andrea Righi
andrea.righi at canonical.com
Wed May 29 14:25:55 UTC 2024
On Wed, May 29, 2024 at 04:11:58PM +0200, Stefan Bader wrote:
> On 01.05.24 14:34, Andrea Righi wrote:
> > BugLink: https://bugs.launchpad.net/bugs/2064508
> >
> > [Impact]
> >
> > In LP: #2063298, we have opted to deprecate Ubuntu FAN support because
> > of the maintenance overhead and the possibility of regressions /
> > conflicts with the new networking eBPF APIs in kernels >= 6.8.
> >
> > However, we cannot disable this feature in HWE/backport kernels, so it
> > seems safer to adjust the Ubuntu FAN kernel patch set to ensure proper
> > co-existence with the updated vxlan policy requirements in newer 6.8
> > kernels.
> >
> > The re-introduction of Ubuntu FAN should be considered as a temporary
> > measure, aimed at facilitating a smooth transition during its
> > deprecation without disrupting existing users (specifically Juju), and
> > enabling the backporting of 6.8 kernels to older releases.
> >
> > The main plan is still to deprecate Ubuntu FAN in newer releases.
> >
> > [Test case]
> >
> > Rely on the specific Ubuntu FAN regression test to validate the proper
> > kernel support of this feature:
> >
> > https://git.launchpad.net/~canonical-kernel-team/+git/autotest-client-tests/tree/ubuntu_fan_smoke_test?h=autotest3
> >
> > [Fix]
> >
> > Re-apply the Ubuntu FAN patch set to the latest Noble kernel 6.8 and
> > integrate the IFLA_VXLAN_FAN_MAP attribute type in vxlan_policy to
> > satisfy the strict length validation check.
> >
> > Test result (ubuntu_fan_smoke_test) with this patch set applied to the
> > latest Noble kernel:
> >
> > 11:48:05 INFO | Writing results to /home/ubuntu/autotest/client/results/default
> > 11:48:05 INFO | START ---- ---- timestamp=1714564085 localtime=May 01 11:48:05
> > 11:48:05 INFO | START ubuntu_fan_smoke_test.setup ubuntu_fan_smoke_test.setup timeout=1200 timestamp=1714564085 localtime=May 01 11:48:05
> > 11:48:07 INFO | GOOD ubuntu_fan_smoke_test.setup ubuntu_fan_smoke_test.setup timestamp=1714564087 localtime=May 01 11:48:07 completed successfully
> > 11:48:07 INFO | END GOOD ubuntu_fan_smoke_test.setup ubuntu_fan_smoke_test.setup timestamp=1714564087 localtime=May 01 11:48:07
> > 11:48:07 INFO | START ubuntu_fan_smoke_test.fan-smoke-test ubuntu_fan_smoke_test.fan-smoke-test timeout=1800 timestamp=1714564087 localtime=May 01 11:48:07
> > 11:51:46 INFO | Testing Fan Networking (pre-0.13.0 API)
> > 11:51:46 INFO | docker pull --platform linux/amd64 ubuntu: PASSED
> > 11:51:46 INFO | enable disable fan test: PASSED
> > 11:51:46 INFO | fanctl show test: PASSED
> > 11:51:46 INFO | fanctl check bridge config test: PASSED
> > 11:51:46 INFO | fanatic docker test(--dns=192.168.122.1): PASSED
> > 11:51:47 INFO | GOOD ubuntu_fan_smoke_test.fan-smoke-test ubuntu_fan_smoke_test.fan-smoke-test timestamp=1714564307 localtime=May 01 11:51:47 completed successfully
> > 11:51:47 INFO | END GOOD ubuntu_fan_smoke_test.fan-smoke-test ubuntu_fan_smoke_test.fan-smoke-test timestamp=1714564307 localtime=May 01 11:51:47
> > 11:51:47 INFO | END GOOD ---- ---- timestamp=1714564307 localtime=May 01 11:51:47
> > 11:51:47 INFO | Report successfully generated at /home/ubuntu/autotest/client/results/default/job_report.html
> >
> > [Regression potential]
> >
> > We may experience regressions with eBPF vxlan capabilities and
> > potentially specific use cases of the Ubuntu FAN technology (Juju
> > installations).
> >
> > ----------------------------------------------------------------
> > Andrea Righi (1):
> > UBUNTU: SAUCE: fan: support vxlan strict length validation
> >
> > Jay Vosburgh (2):
> > UBUNTU: SAUCE: fan: tunnel multiple mapping mode (v3)
> > UBUNTU: SAUCE: fan: add VXLAN implementation
> >
> > Juerg Haefliger (1):
> > UBUNTU: SAUCE: fan: Fix NULL pointer dereference
> >
> > drivers/net/vxlan/vxlan_core.c | 264 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> > include/net/ip_tunnels.h | 28 +++++++++++
> > include/net/vxlan.h | 2 +
> > include/uapi/linux/if_link.h | 1 +
> > include/uapi/linux/if_tunnel.h | 19 ++++++++
> > net/ipv4/ip_tunnel.c | 2 +-
> > net/ipv4/ipip.c | 311 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
> > 7 files changed, 624 insertions(+), 3 deletions(-)
> >
>
> Did we not say this should be encapsulated by a config option so we can for
> now leave it disabled in Noble and enabled in hwe-6.8?
Correct, sorry, I should have mentioned in the bug description.
With the extra fix (PATCH 4/4) there's really no benefit to provide a
separate CONFIG, considering that we're not breaking anymore the
upstream vxlan_policy rules and the special ubuntu-fan is now compliant
with the length validation rules.
We are still planning to drop ubuntu-fan in 24.10, but at least for now
it can co-exist in the 24.04 kernel(s) without breaking anything. And
the same change can be propagated to the hwe kernels without any special
config change.
-Andrea
More information about the kernel-team
mailing list