Light is a compatible, high-performance and scalable user-level network stack.
git clone git@github.com:Light-network-stack/Light.git
stack_and_service/service/dpdk_ip_stack_config.txt
;sudo ifconfig <NIC_name> down
sudo $LIGHT_SOURCE_PATH/Light/dpdk-17.02/usertools/dpdk-setup.sh
Choose these steps in sequence:
[13] x86_64-native-linuxapp-gcc
[16] Insert IGB UIO Module
[19] Setup hugepage mapping for non-NUMA systems
The size of each hugepage memory is 2MB. We need 4096 pieces.
[22] Bind Ethernet device to IGB UIO Module
You can see all NICs. Please input the NIC name (e.g. ens3f0) or NIC address (e.g. 04:00.0) to bind it to the DPDK driver.
Note:
1) deactivate the NIC before binding;
2) ifconfig
will not show the NIC after it is bound to DPDK driver.
[33] Exit Script
sudo ./build_dev.sh
sudo su
export LIGHT_SOURCE_PATH=<path_to_Light>
Main stack process (front end):
sudo ./startFirstCore.sh <total_stack_core_num>
Other stack processes (back end):
sudo ./startOtherCores.sh <total_stack_core_num>
Main stack process (front end):
sudo ./startFirstCore.sh 2
Other stack processes (front end):
sudo ./startSecondCores.sh 2
Automatically run all Light processes on the backend. The process startup interval is 10s.
sudo ./start.sh <total_stack_core_num>
sudo ./stop_all.sh