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

[WIP] Inital vl3-nse #2

Closed

Conversation

glazychev-art
Copy link
Contributor

In progress

Signed-off-by: Artem Glazychev [email protected]

@tiswanso
Copy link

Hi @glazychev-art,

I realize this is WIP but @edwarnicke pointed me your way to have a look at this as we're overlapping a bit. My initial impression is it's starting off much bigger out of the gate than I had expected. Could we get some common elements in and build it up from there? For example, I'm not seeing the reason to have a totally new IPAM and IP pool implementation in this repo. How is the p2p IPAM pkg in sdk insufficient?

Also, it looks like you're starting down the road of multi-VRF support and unnumbered interfaces. While I think those would be good additions, I strongly suggest that the initial version go in with just the single default VRF implementation and numbered interfaces. It's easy to instantiate multiple instances of vL3 NSEs each under different network services to achieve separate vL3 routing domains (e.g. start with each vL3 NSE being a part of a single routing domain). There's quite a bit of scenario testing that would be able to proceed with that basic implementation.

I'll keep having a look at this and may try to reach out on slack for more ad hoc wider discussion. I do have an initial implementation that I have been using to play with NSM 1.0: https://github.com/tiswanso/cmd-nse-vl3-vpp/tree/initial-impl.
It mainly updates routes so the NSCs can reach each other. The NSE peering part has some issue where the peering connections don't return error but immediately go through and close the connections--I haven't had time to debug.

additional background info: In Cisco we have an implementation that is compatible with NSM 0.2.0 and is on the ligato vpp-agent. I'm prep'ing to spin that out into open source and was scoping just porting the relevant additions into a NSM 1.0 compatible NSE.

@edwarnicke
Copy link
Member

@tiswanso For a true vl3, we need somewhere to put our DstIP ... and putting a different one on each incoming interface is really wasteful. Multi-vrf is actually pretty simple and allows an NSE to service more than one vL3.

Could you talk about how your 'peering' works?

Dockerfile Outdated Show resolved Hide resolved
Signed-off-by: Artem Glazychev <[email protected]>
NikitaSkrynnik pushed a commit to NikitaSkrynnik/cmd-nse-vl3-vpp that referenced this pull request Dec 9, 2022
…tomerge-job-is-not-working-pt2

fix: automerge job can not do merge networkservicemesh#2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants