Приветствую,
Имеется машина с Fedora 20, где сетевые интерфейсы 'отвязаны' от своего драйвера и 'привязаны' к другому через /sys/bus/pci/drivers/DRV/{unbind|bind}. Если говорить проще, то речь идет о DPDK от интела.
Как результат, данные интерфейсы более не видны приложениям. Теперь возникла потребность потестить пропускную способность, но из того что я знаю, netperf и iperf, требуют запускать сервер с привязкой к интерфейсу и IP адресу на DUT (device under test), далее запускаем клиент на test-машине, соединяемся с сервером и пр.
В моем случае на DUT нет интерфейса со своим адресом, который можно было бы подсунуть netperf или iperf — можно ли как-то это обойти и убедить netperf на тест-машине «тупо» слать траффик на определенный интерфейс?
Вот картинка:
+---+ +----+
|DUT+->eth0---------<-eth0-+Test|
| | | |
| +->eth1---------<-eth1-+ |
+---+ +----+
Интерфейсы eth0/1 на DUT захвачены драйвером DPDK и потому «не видны» приложениями, tcpdump, ifconfig или netperf соответственно на Test машине мне нужно объяснить netperf-у просто генерировать траффик на интерфейс eth0. Сходу этого не получилось сделать:
Test% netperf -N -H 10.0.0.2
...
netperf: send_omni: connect_data_socket failed: No route to host
Можно ли средствами iptables/ebtables/etc. выкрутиться? Спасибо.