Bug 2101664

Summary: disabling ipv6 router advertisements using "all" does not disable it on secondary interfaces
Product: OpenShift Container Platform Reporter: Nabeel Cocker <ncocker>
Component: NetworkingAssignee: Douglas Smith <dosmith>
Networking sub component: multus QA Contact: Weibin Liang <weliang>
Status: CLOSED ERRATA Docs Contact:
Severity: high    
Priority: high CC: dornelas, dosmith, nagrawal, tsweeney
Version: 4.7   
Target Milestone: ---   
Target Release: 4.9.z   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2103175 (view as bug list) Environment:
Last Closed: 2022-08-09 14:00:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2103175    
Bug Blocks:    

Description Nabeel Cocker 2022-06-28 05:21:48 UTC
Description of problem:
OCP 4.7, and 4.9 

Trying to disable the use of SLAAC within a container consuming an SRIOV vf using the net.ipv6.conf.all.accept_ra":  0

does not appear to disable it on the secondary interface in the pod

we set the following sysctl

net.ipv6.conf.all.accept_ra = 0

and looking at the secondary interface (nabeel1) see:

net.ipv6.conf.nabeel1.accept_ra = 1


We are still working to gather some more information and data but we were alerted to the following and not sure if that is what is affecting us:

https://github.com/containernetworking/plugins/pull/669

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Tom Sweeney 2022-06-30 00:30:53 UTC
This seems like an OCP issue to me, assigning to Peter to take a look .  @dornelas if you have thoughts on other landing spots, please let me know.

Comment 2 Douglas Smith 2022-06-30 13:16:29 UTC
Looks like a fix to the container networking plugins. Assigning to me.

Comment 3 Douglas Smith 2022-07-01 16:02:41 UTC
Looks like the advice is to use the `.IFNAME.` syntax as provided in the verification example below.

In order to accomplish this, it requires a 4.9.z backport from upstream.

Backport PR @ https://github.com/openshift/containernetworking-plugins/pull/64


Verification procedure follows
-----------------------------

For verification, use this YAML:

```
---
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: example-tuning-conf
spec:
  config: >
    {
      "cniVersion": "0.4.0",
      "name": "example-tuning-conf",
      "plugins": [{
        "type": "bridge",
        "bridge": "test1234",
        "ipam": {
          "type": "host-local",
          "subnet": "192.168.1.0/24",
          "rangeStart": "192.168.1.200",
          "rangeEnd": "192.168.1.216",
          "routes": [
            { "dst": "0.0.0.0/0" }
          ],
          "gateway": "192.168.1.1"
        }
      },
        {
          "type": "tuning",
          "sysctl": {
            "net.ipv6.conf.IFNAME.accept_ra": "0"
          }
        }
      ]
    }
---
apiVersion: v1
kind: Pod
metadata:
  name: samplepod
  annotations:
    k8s.v1.cni.cncf.io/networks: example-tuning-conf
spec:
  containers:
  - name: samplepod
    command: ["/bin/ash", "-c", "trap : TERM INT; sleep infinity & wait"]
    image: alpine
```

The resulting pod should have accept_ra set to zero, such as:

```
$ oc exec -it samplepod -- cat /proc/sys/net/ipv6/conf/net1/accept_ra
0
```

Comment 5 Weibin Liang 2022-07-25 13:39:46 UTC
Tested and verified in 4.9.0-0.nightly-2022-07-21-221241

[weliang@weliang Bug]$ oc get pod
NAME        READY   STATUS    RESTARTS   AGE
samplepod   1/1     Running   0          24s
[weliang@weliang Bug]$ oc exec -it samplepod -- cat /proc/sys/net/ipv6/conf/net1/accept_ra
0
[weliang@weliang Bug]$ oc get clusterversion
NAME      VERSION                             AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.9.0-0.nightly-2022-07-21-221241   True        False         55m     Cluster version is 4.9.0-0.nightly-2022-07-21-221241
[weliang@weliang Bug]$

Comment 8 errata-xmlrpc 2022-08-09 14:00:58 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Important: OpenShift Container Platform 4.9.45 bug fix and security update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2022:5879