mbox series

[SRU,N,0/4] re-enable Ubuntu FAN in the Noble kernel

Message ID 20240501124023.683940-1-andrea.righi@canonical.com
Headers show
Series re-enable Ubuntu FAN in the Noble kernel | expand

Message

Andrea Righi May 1, 2024, 12:34 p.m. UTC
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(-)

Comments

Stefan Bader May 29, 2024, 2:11 p.m. UTC | #1
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?

-Stefan
Andrea Righi May 29, 2024, 2:25 p.m. UTC | #2
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
Roxana Nicolescu May 29, 2024, 4:49 p.m. UTC | #3
On 01/05/2024 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(-)
>
Acked-by: Roxana Nicolescu <roxana.nicolescu@canonical.com>
Stefan Bader May 31, 2024, 7:44 a.m. UTC | #4
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(-)
> 

Acked-by: Stefan Bader <stefan.bader@canonical.com>
Stefan Bader May 31, 2024, 1:29 p.m. UTC | #5
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(-)
> 

Applied to noble:linux/master-next. Thanks.

-Stefan