-
Bug
-
Resolution: Done-Errata
-
Normal
-
None
-
4.13.z, 4.12.z, 4.14.z, 4.15.z, 4.16.0
-
None
Description of problem:
arp table do not be updated from source pod when destination pod mac is changed but with same ip
Version-Release number of selected component (if applicable):
4.16.0-0.nightly-2024-03-06-073110 sriov-network-operator.v4.16.0-202403050942
How reproducible:
always
Steps to Reproduce:
1. setup sriov operator 2. Create 4 VF by creating snnp apiVersion: sriovnetwork.openshift.io/v1 kind: SriovNetworkNodePolicy metadata: name: e810c1 namespace: openshift-sriov-network-operator spec: deviceType: netdevice nicSelector: deviceID: "1593" pfNames: - ens2f2 vendor: '8086' nodeSelector: feature.node.kubernetes.io/sriov-capable: 'true' numVfs: 4 priority: 99 resourceName: e810c 3. create namespace z1 and sriovnetwork cr which only have 2 ips can be used. apiVersion: sriovnetwork.openshift.io/v1 kind: SriovNetwork metadata: name: sriovnetwork namespace: openshift-sriov-network-operator spec: ipam: | { "type": "whereabouts", "range":"10.30.0.0/30" } capabilities: | { "mac": true, "ips": true } spoofChk: "off" trust: "on" resourceName: e810c networkNamespace: z1 4. Check the NAD on z1 # oc get net-attach-def -n z1 NAME AGE sriovnetwork 61m 5. Create 2 test pods with the following, there will be 2 pods running apiVersion: v1 kind: Pod metadata: generateName: testpod1 namespace: z1 labels: env: test annotations: k8s.v1.cni.cncf.io/networks: sriovnetwork spec: securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault containers: - name: test-pod image: quay.io/openshifttest/hello-sdn@sha256:c89445416459e7adea9a5a416b3365ed3d74f2491beb904d61dc8d1eb89a72a4 securityContext: allowPrivilegeEscalation: false capabilities: drop: [ALL] automountServiceAccountToken: false 5. Create another test pod again. the pod will be in ContainerCreating since no ip can be used 6. ssh into one pod and ping another running pod and then check the arp table # oc rsh -n z1 testpod1mjq7w ~ $ arp -a ? (10.131.2.1) at 0a:58:0a:83:02:01 [ether] on eth0 ? (10.30.0.1) at ce:56:74:32:f6:d1 [ether] on net1 7. Delete the pod with ip 10.30.0.1, then a new pod running with ip 10.30.0.1 but mac address is changed # oc exec -n z1 testpod186fxn ip a s net1 kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead. 45: net1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 82:bc:7e:ca:92:bd brd ff:ff:ff:ff:ff:ff altname enp97s0f2v0 inet 10.30.0.1/30 brd 10.30.0.3 scope global net1 valid_lft forever preferred_lft forever inet6 fe80::80bc:7eff:feca:92bd/64 scope link valid_lft forever preferred_lft forever 8. Check the arp again of step 6, the mac address still old. # oc rsh -n z1 testpod1mjq7w ~ $ arp -a ? (10.131.2.1) at 0a:58:0a:83:02:01 [ether] on eth0 ? (10.30.0.1) at ce:56:74:32:f6:d1 [ether] on net1
Actual results:
arp table mac address still old pod mac (10.30.0.1) at ce:56:74:32:f6:d1 [ether] on net1
Expected results:
arp table mac address should be updated to (10.30.0.1) at 82:bc:7e:ca:92:bd [ether] on net1
Additional info:
- clones
-
OCPBUGS-30549 pod mac address of arp table from source pod did not be updated when destination pod mac is changed but with same ip
- Closed
- depends on
-
OCPBUGS-30549 pod mac address of arp table from source pod did not be updated when destination pod mac is changed but with same ip
- Closed
- links to
-
RHBA-2024:8259 OpenShift Container Platform 4.16.z extras update