![dpdk가 생성한 TAP의 출력을 QEMU 가상 네트워크 인터페이스에 공급합니다.](https://linux55.com/image/222136/dpdk%EA%B0%80%20%EC%83%9D%EC%84%B1%ED%95%9C%20TAP%EC%9D%98%20%EC%B6%9C%EB%A0%A5%EC%9D%84%20QEMU%20%EA%B0%80%EC%83%81%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%20%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EC%97%90%20%EA%B3%B5%EA%B8%89%ED%95%A9%EB%8B%88%EB%8B%A4..png)
다음 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 주소가 하나만 있습니다.