Commit af8d2850 authored by Shah Rinku's avatar Shah Rinku

Update README.md

parent 5c86d489
## mTCP for Bluefield smartNIC ## mTCP for Bluefield smartNIC
### mTCP code changes ### mTCP code changes
...@@ -25,18 +24,69 @@ The material in "documentation" folder provides details on code changes required ...@@ -25,18 +24,69 @@ The material in "documentation" folder provides details on code changes required
4. To revert back mTCP NIC changes 4. To revert back mTCP NIC changes
<path-to-mtcp-devel>$ ./setup_linux_env.sh <path to $RTE_SDK> <path-to-mtcp-devel>$ ./setup_linux_env.sh <path to $RTE_SDK>
### Run mTCP sample application "HTTP server" ### Configuration for executing mTCP sample application "HTTP server"
1. Configure static ARP entries 1. Configure static ARP entries
.../mtcp-devel/apps/example/config$ vim arp.conf .../mtcp-devel/apps/example/config$ vim arp.conf
//Add ARP entries for remote IPs (see example below) //Add ARP entries for remote IPs (see example below)
```ARP_ENTRY 6 ARP_ENTRY 6
192.168.200.10/32 0c:42:a1:df:ac:48 192.168.200.10/32 0c:42:a1:df:ac:48
192.168.210.10/32 0c:42:a1:df:ac:49 192.168.210.10/32 0c:42:a1:df:ac:49
192.168.200.20/32 0c:42:a1:df:ac:42 192.168.200.20/32 0c:42:a1:df:ac:42
192.168.210.20/32 0c:42:a1:df:ac:43 192.168.210.20/32 0c:42:a1:df:ac:43
192.168.200.30/32 0c:42:a1:df:ac:41 192.168.200.30/32 0c:42:a1:df:ac:41
192.168.210.30/32 0c:42:a1:df:ac:40``` 192.168.210.30/32 0c:42:a1:df:ac:40
2. Configure static route entries
.../mtcp-devel/apps/example/config$ vim route.conf
//Add route entries for remote IPs (see example below)
ROUTES 2
192.168.210.0/24 ens259f0
192.168.200.0/24 ens259f1
3. Configure HTTP server application
.../mtcp-devel/apps/example$ vim epserver.conf
- num_cores = 4 //set the number of cores that will run mTCP
- core_mask = 0F // bit-mask that specifies which cores to use; 0F=00001111; use cores 0-3
- num_tx_desc = 512 //set TX descriptor ring size
- num_rx_desc = 128 //set RX descriptor ring size
- port = p0 //set the port that should be mapped for mTCP
- stat_print = p0 //set the ports for which stats should be printed
You can configure other parameters too for optimized performance
2. Configure HTTP client application
..../mtcp-devel/apps/example$ vim epwget.conf
Configure the client-side mTCP for the parameters listed in step (1)
### Execute mTCP sample application "HTTP server"
1. Configure the RTE vars
$ export RTE_SDK=<absolute-path-to-dpdk-stable-19.11.8>
$ export RTE_TARGET=<target>
2. For mTCP based HTTP server
a. Create a directory where files that are requested for transfer are stored
b. Run the HTTP server
.../mtcp-devel/apps/example$ sudo ./epserver -p <absolute-path-to-www-dir> -f epserver.conf [-N <num-cores>]
Example:
~/mtcp-devel/apps/example$ sudo ./epserver -p /home/ubuntu/www -f epserver.conf -N 2
3. For mTCP based HTTP client
.../mtcp-devel/apps/example$ sudo ./epwget <server-IP>/<file-name> <num_requests> [-N #cores] [-c concurrency] -f epwget.conf
Example:
~/mtcp-devel/apps/example$ sudo ./epwget 192.168.220.35/example.txt 10000000 -N 8 -c 10000 -f epwget.conf
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment