Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Service chaining example #60

Open
twood02 opened this issue Nov 16, 2018 · 9 comments
Open

Service chaining example #60

twood02 opened this issue Nov 16, 2018 · 9 comments
Labels
good first issue Simple issues for new ONVM developers to help with!

Comments

@twood02
Copy link
Member

twood02 commented Nov 16, 2018

This issue describes a simple bug/improvement for the OpenNetVM code, and is a great way for YOU to get involved with improving this open source project! If you want to fix it, just create a pull request with the fix as detailed in the Contributing document. If you have questions, post here!


By default, OpenNetVM creates a default service chain with the action "send to NF with service ID 1". However, when the manager starts it prints "Default service chain: send to sdn NF". We should revise this comment to say "send to service ID 1"

https://github.com/sdnfv/openNetVM/blob/develop/onvm/onvm_mgr/onvm_init.c#L249

We also should create a new NF that demonstrates setting up different default service chains, or service chains for specific flows. This NF would show how to use the Flow Director API. The NF could be very simple -- it might just start up, create some new rules with the flow director, and then exit (the rules will still apply to new traffic that arrives).

@twood02 twood02 added the good first issue Simple issues for new ONVM developers to help with! label Nov 16, 2018
@knodir
Copy link

knodir commented Jun 22, 2019

Hi @twood02,

I would like to take a stab at this. Is examples/test_flow_dir good place to add this feature? I.e., in addition to its current behaviour, test_flow_dir would also show/add/delete rules based on CLI input by using Flow Director API (as in your last paragraph). Or is it better to create another NF, say flow_dir_setup, that only deals with the flow rule setup without handling packet steering (that current test_flow_dir does).

I feel the second approach would be simpler, but when users want to check if their flow rules got actually applied, they would need packet steering capability as well. So, perhaps the first option is more practical.

@koolzz
Copy link
Member

koolzz commented Jun 23, 2019

Hi @knodir, as you have noticed it would be useful for the test flow dir to have this functionality as we could test the added rules and also it wouldn't create a whole new NF which is cleaner to maintain.
The flow rules are essentially just startup configuration so it should be done on NF setup, therefore it should be easy to build on top of the existing NF(probably won't need to modify the existing packet handler logic)

We're always happy to see people contributing so If you have any questions feel free to ping me

@knodir
Copy link

knodir commented Jun 24, 2019

Thanks for the quick response, @koolzz. I'll get started with adding this functionality to test_flow_dir then.

knodir added a commit to knodir/openNetVM that referenced this issue Aug 15, 2019
@catherinemeadows
Copy link
Contributor

@knodir Hello, just wanted to follow up on this and see if this is still in progress or if you need any help/feedback

@knodir
Copy link

knodir commented Jun 2, 2020

Oh, hi @catherinemeadows! It seems I moved on to the other parts of the code and never completed git commit 9025f45. I'll get back to this sometime this weekend. Let me know if you need it more urgently.

@catherinemeadows
Copy link
Contributor

@knodir Sounds great! No rush, just wanted to check in. Let us know if you have any questions.

@bdevierno1
Copy link
Contributor

Hi @knodir are you currently working on this? If not I would like to volunteer to take this up.

@knodir
Copy link

knodir commented Jul 6, 2020

Hi @bdevierno1,

Yes, please go ahead to take over this. I tried to complete this couple weeks ago but the environment I had during my 9025f45 commit development is not there anymore. So, I don't have a proper setup to test this feature anymore. Feel free to use parts of my half-baked changes in 9025f45.

Thanks for chiming in!

@twood02
Copy link
Member Author

twood02 commented Mar 11, 2021

@stevensse21 is going to try this.

Step 1:

  • Make a new NF example called examples/flow_manager which will change the default service chain rule so that all packets are sent to NF X where X is a parameter passed on the command line
  • Then the NF should exit (it doesn't process any packets)

Use the flow_director API to change the service chain rule.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Simple issues for new ONVM developers to help with!
Projects
None yet
Development

No branches or pull requests

5 participants