dpdk가 생성한 TAP의 출력을 QEMU 가상 네트워크 인터페이스에 공급합니다.

dpdk가 생성한 TAP의 출력을 QEMU 가상 네트워크 인터페이스에 공급합니다.

다음 DPDK 명령줄이 있습니다.

sudo dpdk-testpmd -l 0-3 -n 4 \
    --vdev 'net_pcap0,rx_pcap=/path/to/input.pcap' \
    --vdev 'net_tap0,mac=fixed' -- -i --no-flush-rx

이는 호스트 내에서 다음과 같이 작동합니다.

$ tcpdump -D
...
5.dtap0 [Up, Running, Connected]
...
$ tcpdump -i 5
# Other terminal
testpmd> start

데이터가 파일에서 으로 덤프될 것으로 예상됩니다 dtap0.

QEMU를 사용하여 다음 설정을 사용하여 Ubuntu 20.04 인스턴스에 새 NIC를 추가했습니다.

여기에 이미지 설명을 입력하세요.

IP 주소를 알 수 없으므로 이것이 문제의 원인이라고 생각됩니다. 할당된 IP를 어떻게 얻나요?

가상 머신에서는 다음을 얻습니다.

$ tcpdump -D
...
7.enp7s0 [none]

고쳐 쓰다:

가상 머신에서 이것을 언급하는 것을 잊었지만 여전히 작동하지 않습니다.

$ sudo ifconfig enp7s0 up
$ tcpdump -D
...
2.enp7s0 [Up, Running]

또한 가상 머신에 IPv6 주소는 있지만 IPv4 주소는 없는 것으로 나타났습니다. 호스트 VM의 TAP 포트에도 IPv6 주소가 하나만 있습니다.

관련 정보