Uploaded image for project: 'OpenShift Service Mesh'
  1. OpenShift Service Mesh
  2. OSSM-6748

[GA] Support Native nftables in Istio (RHEL 10)

XMLWordPrintable

    • Support Native nftables in Istio
    • True
    • Hide

      Blocked for support until OCP introduced GA support with RHEL10. This will be available with OCP 5, thus this should be included in the OSSM release that will go out prior to OCP 5.

      Show
      Blocked for support until OCP introduced GA support with RHEL10. This will be available with OCP 5, thus this should be included in the OSSM release that will go out prior to OCP 5.
    • False
    • Release Notes
    • Done
    • 0% To Do, 6% In Progress, 94% Done
    • Hide
      Red Hat OpenShift Service Mesh 3.3 adds support for native nftables on Red Hat Enterprise Linux 10 systems. This enhancement is available in both sidecar mode as well as ambient mode.
      With this update, Service Mesh can use nftables instead of iptables to manage network rules. This provides improved compatibility with RHEL 10, where nftables is the default packet filtering framework. To enable native nftables support, set `values.global.nativeNftables=true` when installing or updating the Service Mesh control plane.
      Show
      Red Hat OpenShift Service Mesh 3.3 adds support for native nftables on Red Hat Enterprise Linux 10 systems. This enhancement is available in both sidecar mode as well as ambient mode. With this update, Service Mesh can use nftables instead of iptables to manage network rules. This provides improved compatibility with RHEL 10, where nftables is the default packet filtering framework. To enable native nftables support, set `values.global.nativeNftables=true` when installing or updating the Service Mesh control plane.

      Iptables has been the primary choice for packet filtering, firewall rule management, and network security in Linux systems for an extended period of time. 
      The shift to nftables is driven by the requirement for a firewall framework that is more flexible, efficient, and scalable. Nftables, abbreviated as "netfilter tables," represents a contemporary replacement for iptables, specifically crafted to align with the requirements of modern networking environments.

      Starting with iptables version 1.8.0, it supports a new mode (a.k.a iptables-nft) that uses nftables APIs of the kernel while preserving the same original iptables user-facing API. Most of the current linux distributions allow us to use iptables API/syntax but internally use iptables-nft.
      The iptables-nft tool was created to facilitate the transition from iptables to nftables, and it has served its purpose well. Its now time to move to the native nftables API.

       

      Motivation:
      ----------------
      Nftables is a successor of iptables and development on iptables within the Linux kernel has mostly stopped.
      RHEL9 has deprecated the IPtables interface and in RHEL10, iptables will no longer be supported (i.e., neither the command line tools like iptables-nft, ipset nor the Kernel modules will be available on the platform). 

      Currently, in Istio (release 1.22), there is support for auto-detecting iptables-legacy vs. iptables-nft, but it does not support native nftables APIs yet.

      The following PR has been created to track the design of an nftables interface for traffic redirection: https://github.com/istio/istio/issues/47821.

       

      Timelines:

      ----------------
      Nftables support for sidecar mode is targetted for Istio 1.27 release (i.e., August, 2025) and Ambient support is more likely to land in Istio 1.28 release (i.e., Nov, 2025) timeframe.
      Considering that OSSM 3.2 is tentatively scheduled around Sep/Oct timeframe, we should be able to support sideCar mode in 3.2 release (and possibly Ambient  depending on how things go).

              sgaddam@redhat.com Gaddam Sridhar
              dgrimm@redhat.com Daniel Grimm
              Gaddam Sridhar, Yuanlin Xu
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

                Created:
                Updated:
                Resolved: