ansyun / dpdk-ans

ANS(Accelerated Network Stack) on DPDK, DPDK native TCP/IP stack.
https://ansyun.com
BSD 3-Clause "New" or "Revised" License
1.15k stars 322 forks source link

ans configuration. #120

Open trojanets opened 4 years ago

trojanets commented 4 years ago

I have VM (ESXI 6.7) with 2 vmxnet3 interfaces & 2 virtual cores on 1 socket configuration ubuntu: 16.04.6 lts kernel: Linux dpdk 4.4.0-142-generic #168-Ubuntu SMP Wed Jan 16 21:00:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux with bind-essenstials updated to today (12 month /01 day /19 year) all compiled done libs: Your native march is haswell.

dpdk start ok. ans start command is: ./ans -l 0 -n 1 --base-virtaddr=0x2aaa2aa0000 -- -p 0x1 --config="(0,0,0)" stdout: EAL: Detected 2 lcore(s) EAL: Detected 1 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: No free hugepages reported in hugepages-1048576kB EAL: Probing VFIO support... EAL: PCI device 0000:0b:00.0 on NUMA socket -1 EAL: Invalid NUMA socket, default to 0 EAL: probe driver: 15ad:7b0 net_vmxnet3 EAL: PCI device 0000:13:00.0 on NUMA socket -1 EAL: Invalid NUMA socket, default to 0 EAL: probe driver: 15ad:7b0 net_vmxnet3

Start to Init port port 0: port name net_vmxnet3: max_rx_queues 16: max_tx_queues:8 rx_offload_capa 0x2a1f: tx_offload_capa:0x802f Creating queues: rx queue number=1 tx queue number=1... MAC Address:00:0C:29:58:3F:39 Deault-- tx pthresh:0, tx hthresh:0, tx wthresh:0, tx offloads:0x0 lcore id:0, tx queue id:0, socket id:0 Conf-- tx pthresh:0, tx hthresh:0, tx wthresh:0, tx offloads:0x2e

Allocated mbuf pool on socket 0, mbuf number: 32768

Initializing rx queues on lcore 0 ... Default-- rx pthresh:0, rx hthresh:0, rx wthresh:0, rx offloads:0x0 Conf-- rx pthresh:0, rx hthresh:0, rx wthresh:0, rx offloads:0xf port id:0, rx queue id: 0, socket id:0

rx core: 1, worker core: 0, sockets number:1, lcore number:1 start to init ans USER8: LCORE[0] lcore number 1 USER1: rte_ip_frag_table_create: allocated of 25165952 bytes at socket 0 add veth0 device, kni id 0 USER8: LCORE[0] Interface veth0 if_capabilities: 0x802f add IP a000002 on device veth0 show all IPs:

veth0: mtu 1500 link/ether 00:0c:29:58:3f:39 inet addr: 10.0.0.2/24

add static route

ANS IP routing table 10.0.0.0/24 via dev veth0 src 10.0.0.2 10.10.0.0/24 via 10.0.0.5 dev veth0

Checking link status done Port 0 Link Up - speed 10000 Mbps - full-duplex USER8: main loop on lcore 0 USER8: -- lcoreid=0 portid=0 rxqueueid=0 hz: 3192607986

after by anscli i do: ip addr del 10.0.0.2/24 dev veth0 ip addr add 10.10.10.9/24 dev veth0 ip route del 10.10.0.0/24 ip route add 0.0.0.0/0 via 10.10.10.1 acl add index 100 srcaddr 0.0.0.0/0 dstaddr 0.0.0.0/0 srcportstart 0 srcportend 65535 dstportstart 0 dstportend 65535 protocol 0 iface any accept bypass add protocol 6 dstport 8089 --- All done --- after if I write: port queue show i recieve - bad argument But afrter ping 10.10.10.9 from another client (10.10.10.0/24 local network) i so fromping (:)) ip on ip neigh show list 10.10.10.2 dev veth0 lladdr 52:ed:fb:5d:26:18 REACHABLE 10.10.10.8 dev veth0 lladdr 00:0c:29:58:3f:2f REACHABLE

I tried to run tcp_http_server from example and recive follow stdout: affinity to 0 core by default EAL: Detected 2 lcore(s) EAL: Detected 1 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket_1924_62cefab359c EAL: Probing VFIO support... USER8: LCORE[-1] anssock any lcore id 0xffffffff USER8: LCORE[2] anssock app id: 1924 USER8: LCORE[2] anssock app name: http_server USER8: LCORE[2] anssock app lcoreId: 2 USER8: LCORE[2] mp ops number 4, mp ops index: 0 open socket on ip:0.0.0.0 port: 8089

It's not working!!!

is it correct ? - > USER8: LCORE[-1] anssock any lcore id 0xffffffff

Help me, what i did wrong ? And where (on what file) i can configure my ip setting (addr, route, acl , bypass) ?

Thanks

trojanets commented 4 years ago

On whis VM with rte_kni work all fine!

bluenet13 commented 4 years ago

tcp_http_server run over ans. These logs are normal.

trojanets commented 4 years ago

But i can't login to it. What i did wrong?
Maybe i didnt do something? With network all good. How to test were is the problem? I have no firewalls selinux and etc...

bluenet13 commented 4 years ago

What is your problem?

trojanets commented 4 years ago

Cant connect to any dpdk server( tcp, http). And can't inisialize connection to outside. But on anscli ip neigh show hosts after ping are reachable. please i Can't understard give me the minimal configuration on anscli: addr port route acl ? bypass ? Is it possible to take name diffrent than veth0 ? I need same as been ens224. and if I up by ifconfig veth0 card, is I have to down & up after change on anscli configuration (not reload ans) Maybe if change name of network card (ens224 to veth0 ) ESXI do it not reachable ? Because i can ping second interface(dpdk) from first(vmxnet3), but from outside no in/out...