Size: a a a

2020 August 05

PO

Pavel Odintsov in ntwrk
И их же сетевки
источник

V

Vladimir in ntwrk
не совсем понял зачем в твоем случае это нужно
источник

s

sexst in ntwrk
Pavel Odintsov
мне скорее интересен кейс, как с имеющегося приложения на VPP снять трафик и перелить в мой софт
По идее просто создаёшь veth, пихаешь один в vpp и оно там как обычный интерфейс видно
Типа такого:
sudo ip link add name vpp1out type veth peer name vpp1host
sudo ip link set dev vpp1out up
sudo ip link set dev vpp1host up
sudo vppctl -s /run/vpp/cli-vpp1.sock create host-interface name vpp1out
sudo vppctl -s /run/vpp/cli-vpp1.sock set int state host-vpp1out up

Проверяем что внеслось и в up
sudo vppctl -s /run/vpp/cli-vpp1.sock show hardware
sudo vppctl -s /run/vpp/cli-vpp1.sock show int

Ну а дальшк всё, что в
vpp1out
уходит, в
vpp1host
вылетает. И наоборот
источник

PO

Pavel Odintsov in ntwrk
Vladimir
не совсем понял зачем в твоем случае это нужно
мне лень добавлять dpdk ;)
источник

V

Vladimir in ntwrk
AstashOFF
у bpf_clone_redirect/bpf_redirect есть все шансы выгрести лайнрейт
ну это уже совсем не в железе
источник

PO

Pavel Odintsov in ntwrk
sexst
По идее просто создаёшь veth, пихаешь один в vpp и оно там как обычный интерфейс видно
Типа такого:
sudo ip link add name vpp1out type veth peer name vpp1host
sudo ip link set dev vpp1out up
sudo ip link set dev vpp1host up
sudo vppctl -s /run/vpp/cli-vpp1.sock create host-interface name vpp1out
sudo vppctl -s /run/vpp/cli-vpp1.sock set int state host-vpp1out up

Проверяем что внеслось и в up
sudo vppctl -s /run/vpp/cli-vpp1.sock show hardware
sudo vppctl -s /run/vpp/cli-vpp1.sock show int

Ну а дальшк всё, что в
vpp1out
уходит, в
vpp1host
вылетает. И наоборот
Ооо, годнота
источник

A

AstashOFF in ntwrk
Vladimir
ну это уже совсем не в железе
ну да, это qdisc/classification))
источник

PO

Pavel Odintsov in ntwrk
А как производительность veth? 2-4 mpps провернёт?
источник

V

Vladimir in ntwrk
sexst
По идее просто создаёшь veth, пихаешь один в vpp и оно там как обычный интерфейс видно
Типа такого:
sudo ip link add name vpp1out type veth peer name vpp1host
sudo ip link set dev vpp1out up
sudo ip link set dev vpp1host up
sudo vppctl -s /run/vpp/cli-vpp1.sock create host-interface name vpp1out
sudo vppctl -s /run/vpp/cli-vpp1.sock set int state host-vpp1out up

Проверяем что внеслось и в up
sudo vppctl -s /run/vpp/cli-vpp1.sock show hardware
sudo vppctl -s /run/vpp/cli-vpp1.sock show int

Ну а дальшк всё, что в
vpp1out
уходит, в
vpp1host
вылетает. И наоборот
на сколько я понял Паше нужно зеркалировать трафик vpp приложения
источник

PO

Pavel Odintsov in ntwrk
Угу, я хз что у них там на захвате, возможно что-то своё
источник

V

Vladimir in ntwrk
Pavel Odintsov
мне лень добавлять dpdk ;)
ты имеешь ввиду в впп добавлять или я тебя не так понял?
источник

PO

Pavel Odintsov in ntwrk
скорее в мой консьюмер трафика, но не факт, что там и dpdk есть
источник

PO

Pavel Odintsov in ntwrk
источник

V

Vladimir in ntwrk
Pavel Odintsov
скорее в мой консьюмер трафика, но не факт, что там и dpdk есть
так если у них на впп решение, оно из коробки имеет дпдк в плагинах
источник

A

AstashOFF in ntwrk
Vladimir
ну это уже совсем не в железе
и кстати если xdp offload то будет в железе
источник

s

sexst in ntwrk
Pavel Odintsov
А как производительность veth? 2-4 mpps провернёт?
Сам veth да. А вот то, какая реализация AF_PACKET у них там может сказаться. Если у них там TX_RING юзается, то сможет. Если нет - то нет. Но оно скорее юзается, чем нет)
источник

PO

Pavel Odintsov in ntwrk
Угу, ща уточняю
источник

s

sexst in ntwrk
https://git.fd.io/vpp/tree/src/vnet/devices/af_packet/af_packet.c
int ver = TPACKET_V2;
...
 if (setsockopt (*fd, SOL_PACKET, PACKET_RX_RING, rx_req, req_sz) < 0)
....
 if (setsockopt (*fd, SOL_PACKET, PACKET_TX_RING, tx_req, req_sz) < 0)
Буферы юзают, да.
источник

s

sexst in ntwrk
Правда вот тут у чувака какого-то два года назад падало https://lists.fd.io/g/vpp-dev/topic/10641946#8521
И ещё ураем глаза видел что нужно 18.01 минимум
источник

PO

Pavel Odintsov in ntwrk
Хм
источник