17.2.4. 验证 OpenNESS 上的应用 pod 访问权限和 ACC100 使用情况


OpenNESS 是一种边缘计算软件工具包,可用于在任何类型的网络上添加和管理应用程序和网络功能。

通过构建镜像并为设备运行简单的验证应用程序,验证所有 OpenNESS 功能是否协同工作,包括 SR-IOV 绑定、设备插件、Wire Base Band Device(bbdev)配置和 SR-IOV(FEC)VF 功能。

有关更多信息,请转至 openess.org

先决条件

  • 为 Wireless FEC Accelerator 安装的 OpenNESS SR-IOV Operator 的节点或节点
  • 使用 Performance Addon Operator 配置实时内核和巨页

流程

  1. 通过完成以下操作,为测试创建一个命名空间:

    1. 通过创建名为 test-bbdev-namespace.yaml 文件的文件来定义 test-bbdev 命名空间,如下例所示:

      apiVersion: v1
      kind: Namespace
      metadata:
        name: test-bbdev
        labels:
          openshift.io/run-level: "1"
      Copy to Clipboard Toggle word wrap
    2. 运行以下命令创建命名空间:

      $ oc create -f test-bbdev-namespace.yaml
      Copy to Clipboard Toggle word wrap
  2. 创建以下 Pod 规格,然后在 pod-test.yaml 文件中保存 YAML:

    apiVersion: v1
    kind: Pod
    metadata:
      name: pod-bbdev-sample-app
      namespace: test-bbdev 
    1
    
    spec:
      containers:
      - securityContext:
          privileged: false
          capabilities:
            add:
            - IPC_LOCK
            - SYS_NICE
        name: bbdev-sample-app
        image: bbdev-sample-app:1.0  
    2
    
        command: [ "sudo", "/bin/bash", "-c", "--" ]
        runAsUser: 0 
    3
    
        resources:
          requests:
            hugepages-1Gi: 4Gi 
    4
    
            memory: 1Gi
            cpu: "4" 
    5
    
            intel.com/intel_fec_acc100: '1' 
    6
    
          limits:
            memory: 4Gi
            cpu: "4"
            hugepages-1Gi: 4Gi
            intel.com/intel_fec_acc100: '1'
    Copy to Clipboard Toggle word wrap
    1
    指定在第 1 步中创建的命名空间
    2
    这将定义包含已编译的 DPDK 的测试镜像。
    3
    使容器在内部以 root 用户身份执行。
    4
    指定巨页大小 hugepages-1Gi 以及分配给 pod 的巨页数量。需要使用 Performance Addon Operator 配置巨页和隔离的 CPU。
    5
    指定 CPU 数量。
    6
    intel.com/intel_fec_acc100 支持测试 ACC100 5G FEC 配置。
  3. 创建 pod:

    $ oc apply -f pod-test.yaml
    Copy to Clipboard Toggle word wrap
  4. 检查是否创建了 pod:

    $ oc get pods -n test-bbdev
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME                                            READY           STATUS          RESTARTS        AGE
    pod-bbdev-sample-app                            1/1             Running         0               80s
    Copy to Clipboard Toggle word wrap

  5. 使用远程 shell 登录 pod-bbdev-sample-app

    $ oc rsh pod-bbdev-sample-app
    Copy to Clipboard Toggle word wrap

    输出示例

    sh-4.4#
    Copy to Clipboard Toggle word wrap

  6. 输出分配给 pod 的 VF:

    sh-4.4# printenv | grep INTEL_FEC
    Copy to Clipboard Toggle word wrap

    输出示例

    PCIDEVICE_INTEL_COM_INTEL_FEC_ACC100=0.0.0.0:1d.00.0 
    1
    Copy to Clipboard Toggle word wrap

    1
    这是虚拟功能的 PCI 地址。
  7. 更改到 test-bbdev 目录。

    sh-4.4# cd test/test-bbdev/
    Copy to Clipboard Toggle word wrap
  8. 检查分配给 pod 的 CPU:

    sh-4.4# export CPU=$(cat /sys/fs/cgroup/cpuset/cpuset.cpus)
    sh-4.4# echo ${CPU}
    Copy to Clipboard Toggle word wrap

    这将打印分配给 fec.pod 的 CPU。

    输出示例

    24,25,64,65
    Copy to Clipboard Toggle word wrap

  9. 运行 test-bbdev 应用程序来测试设备:

    sh-4.4# ./test-bbdev.py -e="-l ${CPU} -a ${PCIDEVICE_INTEL_COM_INTEL_FEC_ACC100}" -c validation \ -n 64 -b 32 -l 1 -v ./test_vectors/*"
    Copy to Clipboard Toggle word wrap

    输出示例

    Executing: ../../build/app/dpdk-test-bbdev -l 24-25,64-65 0000:1d.00.0 -- -n 64 -l 1 -c validation -v ./test_vectors/bbdev_null.data -b 32
    EAL: Detected 80 lcore(s)
    EAL: Detected 2 NUMA nodes
    Option -w, --pci-whitelist is deprecated, use -a, --allow option instead
    EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
    EAL: Selected IOVA mode 'VA'
    EAL: Probing VFIO support...
    EAL: VFIO support initialized
    EAL:   using IOMMU type 1 (Type 1)
    EAL: Probe PCI driver: intel_fpga_5ngr_fec_vf (8086:d90) device: 0000:1d.00.0 (socket 1)
    EAL: No legacy callbacks, legacy socket not created
    
    
    
    ===========================================================
    Starting Test Suite : BBdev Validation Tests
    Test vector file = ldpc_dec_v7813.data
    Device 0 queue 16 setup failed
    Allocated all queues (id=16) at prio0 on dev0
    Device 0 queue 32 setup failed
    Allocated all queues (id=32) at prio1 on dev0
    Device 0 queue 48 setup failed
    Allocated all queues (id=48) at prio2 on dev0
    Device 0 queue 64 setup failed
    Allocated all queues (id=64) at prio3 on dev0
    Device 0 queue 64 setup failed
    All queues on dev 0 allocated: 64
    + ------------------------------------------------------- +
    == test: validation
    dev:0000:b0:00.0, burst size: 1, num ops: 1, op type: RTE_BBDEV_OP_LDPC_DEC
    Operation latency:
            avg: 23092 cycles, 10.0838 us
            min: 23092 cycles, 10.0838 us
            max: 23092 cycles, 10.0838 us
    TestCase [ 0] : validation_tc passed
     + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +
     + Test Suite Summary : BBdev Validation Tests
     + Tests Total :        1
     + Tests Skipped :      0
     + Tests Passed :       1 
    1
    
     + Tests Failed :       0
     + Tests Lasted :       177.67 ms
     + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +
    Copy to Clipboard Toggle word wrap

    1
    虽然可以跳过某些测试,但请确保向量测试通过。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部