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

Bug fix: Flow Directory. (test_flow_dir) #248

Open bdevierno1 opened 4 years ago

bdevierno1 commented 4 years ago

Test flow directory NF bug fix.

Summary:

NF was crashing when attempting to add a new rule to the shared sdn_nf flow table.

Usage: As described in readme.

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

Merging notes:

TODO before merging :

This resolves issue #247

Test Plan:

Run NF with Pktgen. Test that NF does not crash as before. As I made a change to the fill key functionality. All NFs that add/remove/lookup keys to a flow table need to be tested.

Review:

Anyone.

onvm commented 4 years ago

In response to PR creation

CI Message

Your results will arrive shortly

onvm commented 4 years ago

In response to PR creation

CI Message

Error: Failed to parse Pktgen stats

bdevierno1 commented 4 years ago

@onvm Hello HAL, do you read me?

onvm commented 4 years ago

@onvm Hello HAL, do you read me?

CI Message

Your results will arrive shortly

onvm commented 4 years ago

@onvm Hello HAL, do you read me?

CI Message

Error: Failed to fetch results from nimbnode23

bdevierno1 commented 3 years ago

In my last commit I have added a new feature/example populating service chains to the flow table #60 . You can then use this to test the onvm flow dir API by starting up up to four test_flow_dir NFs. Another way is to run this NF to populate the flow table then subsequently use the simple forward NF; but first modifying the packet handler to use the action next instead.

I have made further changes to the flow table api as it was printing the keys I had pre-defined backwards.

I have reverted the flow_entry variable to initialize to NULL. However, I had to allocate memory within the packet handler which will probably be slower. I will update this soon as there is probably a better way to do this.

bdevierno1 commented 3 years ago

image This is ready for review. If users set destination to 255 it will use the next action. Notable changes in last few commits involve using onvm's rss hash during table lookup.

bdevierno1 commented 3 years ago

@onvm Hello HAL, do you read me?

onvm commented 3 years ago

@onvm Hello HAL, do you read me

CI Message

Your results will arrive shortly

onvm commented 3 years ago

@onvm Hello HAL, do you read me

CI Message

Your results will arrive shortly

kevindweb commented 3 years ago

@onvm is it really slow?

onvm commented 3 years ago

@onvm is it really slow?

CI Message

Your results will arrive shortly

bdevierno1 commented 3 years ago

@onvm Test please.

onvm commented 3 years ago

@onvm Test please.

CI Message

Your results will arrive shortly

bdevierno1 commented 3 years ago

Ran two tests using c220g1 nodes in Wisconsin site. Noticed about a 2% performance drop. Screen Shot 2020-08-03 at 3 59 31 PM Without setting 255 as next action. Screen Shot 2020-08-03 at 4 01 07 PM