Điểm:0

Lỗi khi gắn thiết bị vào DPDK

lá cờ kr

Lỗi khi gắn thiết bị vào DPDK trong khi thêm giao diện vào liên kết OVS trên Ubuntu.

  • Ubuntu 20.04.3
  • DPDK 19.11.10
  • OVS 2.13.3
  • NIC Intel x710 (fw 7.10)

Chỉ huy:

ovs-vsctl add-bond ovsbr0 bond0 ens2f0 ens2f1 ens3f0 ens3f1 \
   -- set Giao diện ens2f0 type=dpdk "options:dpdk-devargs=0000:5e:00.0" \
   -- set Giao diện ens2f1 type=dpdk "options:dpdk-devargs=0000:5e:00.1" \
   -- set Giao diện ens3f0 type=dpdk "options:dpdk-devargs=0000:d8:00.0" \
   -- set Giao diện ens3f1 type=dpdk "options:dpdk-devargs=0000:d8:00.1"

Đầu ra:

ovs-vsctl: Đã phát hiện lỗi khi thiết lập 'ens2f0': Lỗi khi gắn thiết bị '0000:5e:00.0' vào DPDK. Xem nhật ký ovs-vswitchd để biết chi tiết.
ovs-vsctl: Đã phát hiện lỗi khi thiết lập 'ens2f1': Lỗi khi gắn thiết bị '0000:5e:00.1' vào DPDK. Xem nhật ký ovs-vswitchd để biết chi tiết.
ovs-vsctl: Đã phát hiện lỗi khi thiết lập 'ens3f0': Lỗi khi gắn thiết bị '0000:d8:00.0' vào DPDK. Xem nhật ký ovs-vswitchd để biết chi tiết.
ovs-vsctl: Đã phát hiện lỗi khi thiết lập 'ens3f1': Lỗi khi gắn thiết bị '0000:d8:00.1' vào DPDK. Xem nhật ký ovs-vswitchd để biết chi tiết.
ovs-vsctl: Thư mục nhật ký mặc định là "/var/log/openvswitch".

/var/log/openvswitch/ovs-vswitchd.log

2022-01-03T16:00:05.776Z|00083|dpdk|ERR|EAL: Trình điều khiển không thể kết nối thiết bị (0000:d8:00.1)
2022-01-03T16:00:05.776Z|00084|dpdk|ERR|EAL: Không thể gắn thiết bị vào quy trình chính
2022-01-03T16:00:05.776Z|00085|netdev_dpdk|WARN|Lỗi khi gắn thiết bị '0000:d8:00.1' vào DPDK
2022-01-03T16:00:05.776Z|00086|netdev|WARN|ens3f1: không thể đặt cấu hình (Đối số không hợp lệ)
2022-01-03T16:00:05.776Z|00087|dpdk|ERR|Cổng_id không hợp lệ=32

Hỗ trợ VT-d được bật:

mèo /proc/cmdline 
BOOT_IMAGE=/boot/vmlinuz-5.4.0-91-generic root=UUID=2849776f-b167-447f-a5d1-ea4b5c831c35 ro iommu=pt intel_iommu=on

tôi sử dụng vfio-pci người lái xe.

DMAR:

$ grep -i dmar charlie-dmesg2.yml | grep -i iommu
[ 0.703534] DMAR: Đã bật IOMMU
[ 1.353766] DMAR-IR: IOAPIC id 12 trong cơ sở DRHD 0xc5ffc000 IOMMU 6
[ 1.353767] DMAR-IR: IOAPIC id 11 trong cơ sở DRHD 0xb87fc000 IOMMU 5
[ 1.353768] DMAR-IR: IOAPIC id 10 trong DRHD cơ sở 0xaaffc000 IOMMU 4
[ 1.353770] DMAR-IR: IOAPIC id 18 trong DRHD cơ sở 0xfbffc000 IOMMU 3
[ 1.353771] DMAR-IR: IOAPIC id 17 trong cơ sở DRHD 0xee7fc000 IOMMU 2
[ 1.353773] DMAR-IR: IOAPIC id 16 trong cơ sở DRHD 0xe0ffc000 IOMMU 1
[ 1.353774] DMAR-IR: IOAPIC id 15 trong cơ sở DRHD 0xd37fc000 IOMMU 0
[ 1.353775] DMAR-IR: IOAPIC id 8 trong cơ sở DRHD 0x9d7fc000 IOMMU 7
[ 1.353777] DMAR-IR: IOAPIC id 9 trong DRHD cơ sở 0x9d7fc000 IOMMU 7

Sự cố chỉ xảy ra trong trường hợp tự động cài đặt Ubuntu. Ubuntu được cài đặt thủ công hoạt động tốt.

Vipin Varghese avatar
lá cờ de
bạn có thể vui lòng chia sẻ trình điều khiển mà bạn đang liên kết với DPDK không. Nó là uio_pci_generic, igb_uio hay vfio-pci? Nếu đó là vfio-pci, bạn có thể vui lòng kiểm tra DMAR cho iommu từ dmesg không?
Dmitry Dmitriev avatar
lá cờ kr
Tôi sử dụng vfio-pci: `$ grep -i dmar charlie-dmesg2.yml | grep -i iommu [ 0.703534] DMAR: Đã bật IOMMU [ 1.353766] DMAR-IR: IOAPIC id 12 trong cơ sở DRHD 0xc5ffc000 IOMMU 6 [ 1.353767] DMAR-IR: IOAPIC id 11 trong cơ sở DRHD 0xb87fc000 IOMMU 5 [ 1.353768] DMAR-IR: IOAPIC id 10 trong DRHD cơ sở 0xaaffc000 IOMMU 4 [ 1.353770] DMAR-IR: IOAPIC id 18 trong DRHD cơ sở 0xfbffc000 IOMMU 3 [ 1.353771] DMAR-IR: IOAPIC id 17 trong cơ sở DRHD 0xee7fc000 IOMMU 2 [ 1.353773] DMAR-IR: IOAPIC id 16 trong cơ sở DRHD 0xe0ffc000 IOMMU 1 [...]`
Vipin Varghese avatar
lá cờ de
cảm ơn vì đã phản hồi, theo nhật ký dmesg DMAR, IOMMU được bật trên máy của bạn. bạn có thể đăng ký dmesg sau khi liên kết không thành công nếu nhật ký của nó `Không thể liên kết với trình điều khiển vfio-pci` không? Nếu có, thì liên kết vfio-pci với iommu mặc định không thành công. Vui lòng thử `echo 1 > /sys/module/vfio/parameters/enable_unsafe_noiommu_mode` và chia sẻ.
Dmitry Dmitriev avatar
lá cờ kr
@VipinVarghese cảm ơn bạn đã giúp tôi. Đầu ra dmesg không chứa bất kỳ thông báo nào về vfio-pci. Để đề phòng, tôi đã thử lệnh bạn đã gửi. Không may mắn.
Vipin Varghese avatar
lá cờ de
vấn đề rất thú vị, bạn đang sử dụng bộ xử lý Intel x86 hay x86? Nếu là AMD `amd_iommu=pt` sẽ được sử dụng. Nhưng vì bạn đã đề cập đến việc cài đặt thủ công hoạt động, tôi muốn xem xét thêm về hành vi này liệu có thể gỡ lỗi không?
Dmitry Dmitriev avatar
lá cờ kr
Đồng nghiệp của tôi đề nghị tôi cài đặt gói **libdpdk-dev**. Nó kéo cả đống phụ thuộc, nhưng cuối cùng cũng giải quyết được vấn đề. Chúc may mắn!
Vipin Varghese avatar
lá cờ de
theo thông tin về gói văn phòng https://packages.debian.org/sid/libdpdk-dev, nó ngụ ý rằng đây là `các thư viện DPDK được biên dịch với SSE ở mức tối thiểu`. Do đó, tôi không thể hiểu cách sử dụng DPDK 19.11.10 thủ công để giải quyết vấn đề. Một cái gì đó không đúng.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.