Hi Ray,
It seems that it does not work, but I am not about that, please check this for
me.
VPP.mk:
vpp_uses_external_dpdk = yes
vpp_dpdk_inc_dir = /usr/include/dpdk
vpp_dpdk_lib_dir = /usr/lib
# vpp_dpdk_shared_lib = yes
DPDK:
export
RTE_SDK=/home/vbras/pack/VBRASV100R001_new_trunk/vpp1704/dpdk/dpdktest/dpdk-17.02
export RTE_TARGET=x86_64-native-linuxapp-gcc
export DESTDIR=/usr
make install T=$RTE_TARGET
VPP:
make V=0 TAG=vpp PLATFORM=vpp install-deb
MY question is below:
I added seven interfaces to one bridge and send packets to that bridge.
The tx packets are correct, because I captured them with Wireshark on the host
system.
But there is something wrong with rte_ring.
No one put rte_mbuf back to the rte_ring, the PROD's head and tail are always
16384.
Below is some information, If you guys need more, please let me know.
(gdb) p *((struct rte_ring*)(((struct
rte_mempool*)dpdk_main->pktmbuf_pools[0])->pool_data))
$3 = {
name = "MP_mbuf_pool_socket0", '\000' <repeats 11 times>,
flags = 0,
memzone = 0x7ffff7eb3d00,
prod = {
watermark = 32768,
sp_enqueue = 0,
size = 32768,
mask = 32767,
head = 16384,
tail = 16384
},
cons = {
sc_dequeue = 0,
size = 32768,
mask = 32767,
head = 10250,
tail = 10250
},
ring = 0x7fff357560c0
}
root@vBRAS:~# vppctl show int
Name Idx State Counter
Count
GigabitEthernet0/0/0 1 down
GigabitEthernet0/0/1 2 up
GigabitEthernet0/0/2 3 up rx packets
4
rx bytes
621
tx packets
150
tx bytes
7812
GigabitEthernet0/0/3 4 up rx packets
1
rx bytes
243
tx packets
153
tx bytes
8190
GigabitEthernet0/0/4 5 up rx packets
1
rx bytes
243
tx packets
153
tx bytes
8190
GigabitEthernet0/0/5 6 up rx packets
6
rx bytes
543
tx packets
148
tx bytes
7890
GigabitEthernet0/0/6 7 up rx packets
1
rx bytes
243
tx packets
153
tx bytes
8190
GigabitEthernet0/0/7 8 up rx packets
1
rx bytes
243
tx packets
153
tx bytes
8190
GigabitEthernet0/0/8 9 up rx packets
2
rx bytes
501
tx packets
152
tx bytes
7932
Vlan-interface1 21 up rx packets
16
rx bytes
2413
tx packets
276
tx bytes
11592
drops
154
ip4
9
gre0 10 down
host-vge0 11 down
host-vge1 12 up
host-vge2 13 up
host-vge3 14 up
host-vge4 15 up
host-vge5 16 up
host-vge6 17 up
host-vge7 18 up
host-vge8 19 up
host-vvlan1 20 up rx packets
139
rx bytes
5856
drops
139
ip4
1
At 2018-07-27 10:54:03, "Ray Cai" <[email protected]> wrote:
Hi Xiao:
By changing dpdk driver, do you mean that you changed code in DPDK and wants to
compile VPP with modified DPDK?
If so, I recommend checking out the option to compile VPP with
“vpp_uses_external_dpdk = yes”.
Here are the steps I used:
1) Compiled DPDK with EXTRA_CFLAGS’-fPIC –pie’ and have a DESTDIR for the
compiled header/libs using whatever configuration of your choosing.
2) Modify build-data/platforms/vpp.mk to
a. Vpp_uses_external_dpdk = yes
b. Vpp_dpdk_inc_dir = <DESTDIR from step1, absolute path>/include/dpdk
c. Vpp_dpdk_lib_dir = <DESTDIR from step1, absolute path>/lib
3) Then build vpp and create packages.
This way the external dpdk is compiled as static lib and linked directly into
vpp binary. At the end you should see a few packages in build-root and they
would contain everything you need. Just install them and they should be running
with your modified DPDK.
I hope the instructions help.
Thanks,
-Ray
From:[email protected] <[email protected]> On Behalf Of xulang
Sent: Thursday, July 26, 2018 5:58 PM
To:[email protected]
Subject: [vpp-dev] dpdk & vpp
Hi all,
I have changed dpdk drivers, how can I make that change effective?
The cmd "dpkg -l |grep vpp" does not include anything related to dpdk.
I am look forward to hearing from u.
Regards,
xiaoC
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#9946): https://lists.fd.io/g/vpp-dev/message/9946
Mute This Topic: https://lists.fd.io/mt/23828481/21656
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-