Skip to content
This repository was archived by the owner on Mar 20, 2024. It is now read-only.
This repository was archived by the owner on Mar 20, 2024. It is now read-only.

CNI doesn't find link after reboot  #56

@aeliusrs

Description

@aeliusrs

After rebooting my kubernetes nodes with the AF_XDP CNI, the pod doesn't work anymore.

During multus adding network process, post-reboot, I've got this error :

 [...] error adding container to network "afxdp-network": cmdAdd(): failed to find device: Link not found

This node was running fine with AF_XDP before the reboot, for 5 days.

my configuration is as following. (note that for the moment I'm just doing some test, this is not a production node)

daemon.set

apiVersion: v1
kind: ConfigMap
metadata:
  name: afxdp-dp-config
  namespace: kube-system
data:
  config.json: |
    {
       "logLevel":"debug",
       "logFile":"afxdp-dp.log",
       "pools":[
          {
             "name":"myPool",
             "UdsTimeout":-1,
             "mode":"primary",
             "devices":[
               {
                   "name":"enp2s0"
               }
             ],
             "drivers":[
                {
                 "name":"virtio_net",
                 "ExcludeDevices":[
                    {
                       "name":"enp1s0"
                    }
                  ]
                }
             ]
          }
       ]
    }
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: afxdp-device-plugin
  namespace: kube-system
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
[...etc, this is the classic one]

My network attach definition

apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: afxdp-network
  annotations:
    k8s.v1.cni.cncf.io/resourceName: afxdp/myPool
spec:
  config: '{
      "cniVersion": "0.3.0",
      "type": "afxdp",
      "mode": "primary",
      "logFile": "afxdp-cni.log",
      "logLevel": "debug",
      "ipam": {
        "type": "whereabouts",
        "range": "10.99.99.0/24"
      }
  }'

the deployment of the pod

apiVersion: apps/v1
kind: Deployment
metadata:
  name: afxdp-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: afxdp
  template:
    metadata:
      labels:
        app: afxdp
      annotations:
        k8s.v1.cni.cncf.io/networks: kube-system/afxdp-network
    spec:
      containers:
      - name: afxdptest
        image: travelping/nettools
        imagePullPolicy: IfNotPresent
        command: ["tail", "-f", "/dev/null"]
        resources:
          requests:
            afxdp/myPool: '1'
          limits:
            afxdp/myPool: '1'
        securityContext:
          privileged: true

I've tried to remove multus, whereabout and all the files concerned by AF_XDP. It still doesn't work.

note that libbpf is installed in my machine, and sysctl is configure permanently with the following:

sysctl kernel.unprivileged_bpf_disabled=0
sysctl net.core.bpf_jit_enable=1

Am I missing a point in the use of this CNI ?

thank for you help !

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions