sdnfv / openNetVM

A high performance container-based NFV platform from GW and UCR.
http://sdnfv.github.io/onvm/
Other
261 stars 134 forks source link

Add support for jumbo frames #277

Closed lesliemonis closed 3 years ago

lesliemonis commented 3 years ago

Support for Jumbo Frames.

This PR adds support for the manager to receive jumbo frames with Ethernet payload upto 9600 bytes. It also ensures that there is enough memory allocated by the manager to process the same number of packets as before. This enhancement is made optional and can be enabled by using a flag (mentioned below) when executing the go.sh script.

Summary:

Usage: New flag: -j Allow ports to send and receive jumbo frames

This PR includes
Resolves issues
Breaking API changes
Internal API changes
Usability improvements
Bug fixes
New functionality
New NF/onvm_mgr args Yes
Changes to starting NFs
Dependency updates
Web stats updates

Merging notes:

TODO before merging :

Test Plan:

The PR was tested using the following setup:

Topology

Node1--------Node2--------Node3

OpenNetVM was run on Node2 along with the l2fwd example NF.

Commands:

The manager was run using the following command:

./go.sh -k 3 -n 0xF8 -m 0,1,2 -s stdout -j

The l2fwd NF was run using the following command:

./go.sh 1 -n

The MTU on the interfaces of Node1 and Node2 was set to 9000 bytes using the following command:

# ip link set <interface_name> mtu 9000

The support for jumbo frames was tested by running a ping test from Node1 to Node3 using the following command on Node1:

$ ping <ip_address> -M do -s 8972

Correct working was verified by obtaining a successful ping and observing the packets being processed in the manager and NF.

pktgen-dpdk was also employed to test these changes. pktgen-dpdk was run on Node1 and Node3, and the size of the frames in the traffic was set to 9618 bytes.

Command used to run pktgen-dpdk:

# ./pktgen -l 0-2 -n 2 -- -T -P -j -m "[1:2].0"

pktgen cli command to set frame size:

Pktgen:/> set 0 size 9618

--- Update ---

Updated description Added pktgen-dpdk test plan

Review:

Subscribers: @twood02 @kkrama

onvm commented 3 years ago

In response to PR creation

CI Message

Aborting, need an authorized user to run CI

lesliemonis commented 3 years ago

Please change the variable name

Done