On Mon, Mar 28, 2016 at 6:56 PM, John McDowall < jmcdow...@paloaltonetworks.com> wrote:
> Russell, > > Thanks of taking the time to provide a detailed response. Let me try and > answer your questions, and ask a few on my own. > > 1. Yes, I want to continue working through this as we see it really > important to enable easy service insertion at scale. Think of the problem > of how to deploy hundreds of VNF’s that can be scaled up/down with no > manual intervention. > > Fantastic. :-) > > 1. The Neutron API I created was done for much the same reason as your > prototype - seeing how hard it was and making sure I could get something to > work. Creating and supporting yet another API is rarely a good idea and so > aligning with the networking-sfc API is the right thing to do. I have had a > few off-line conversations with that team and will continue to try and fit > this under that umbrella as it evolves. > > Great! Do you have specific issues with their API? I'd be interested to hear about what changes you think should be made. > > 1. I agree with you idea of a separate table, once again I just took > what I could see was the shortest path to get something working for a > prototype. I will take a look at your code and see how to implement an > extra table. > > I totally understand. A prototype of something working is a great way to get the conversation going! > > 1. The issue with routing between subnets to chain VNF’s could be > looked at in three ways, 1) If each subnet has one or more VNF’s the > problem is easy; 2) If the application being protected is communicating > with applications/hosts on a different subnet then the traffic is, I > assume, forwarded the default router; 3) The hardest case is if the > topology is such that all the VNF’s are placed in a shared subnet, then we > would need to add additional information in the API to direct traffic to > that subnet, or OVN could look up the subnet based on logical port? - have > not thought about it a lot but seems doable. > > IP addresses are stored in the logical port "addresses" column. > > 1. The toughest question here is what is a VNF and does it operate at > L3, L2, or as a transparent bump in the wire. The related question is how > complex is the service chain of these virtual functions. I would disagree a > little here with Russell and suggest that the approach is not for “legacy” > VNF’s but transparent VNF’s that act as a “bump in the wire" from a > networking POV. The issue becomes what are the specific use cases we want > to design for with ovn4nfv. > > I meant no harm by using the term "legacy". :-) I just needed a term to differentiate from the service chaining aware VNFs that expect some additional metadata. RFC 7665 calls it a "SFC-unaware Service Function". I think your "bump in the wire" use case makes sense. I honestly don't have that strong of an opinion on what use cases to support. I just want to support whatever it is actual users want. Let me try to start to separate/segment some of the approaches: > > I think there are several segments of the market for VNF’s and NFV. The > two I see most are: > > 1. Carrier networks where they are focused on virtual > provider/customer edge routers (vCPE, vPE), border network gateways (BNG) , > for wired to wireless networks, and SD-WAN, which is related to vCPE/PE > 2. Public/private cloud data centers and virtual enterprises, where > the use cases are centered around virtual load balancing/scaling and > security. > > The needs of both are different (IMHO), the need for the carriers is to > enable the creation of large scale distributed virtual routers, leveraging > MPLS and/or BGP as the core transport protocol. The goal for the carriers > is to be able to customize their core routing infrastructure without > waiting for a new release from their hardware vendors which can take years > to get into production. Here the architecture of networking-sfc has it core > strengths; with its focus on dynamic routing; as it acts similarly to the > ingress/egress forwarding paths of a classical router. This enables > carriers to build large scale dynamic distributed virtual routing > infrastructure from virtual functions. > > The needs in private/public cloud (and enterprises) are simpler as the > requirements are to insert either a load-balancer or security VNF to scale > up/down applications or secure applications. Here change can be rapid and > the need is to deploy and scale up/down in minutes if not seconds in many > instances. I have been focusing on the use cases for the second segment as > it is where we are seeing a need for simplicity and speed. > > A typical use case we see a lot of is protecting east-west traffic, when > an application is deployed, security is deployed with it to protect it, and > when the application is removed, security is removed. The goal here is to > deploy a “zero trust” security model. We have deployed a similar > architecture very successfully with VMWare’s NSX product, we would now like > to figure out how to do it in the open source environment. > > We would prefer to be transparent to networking “bump in the wire” as this > simplifies the interaction between the controller (OVN) and the VNF. The > only information that is shared is the logical in and out ports for the > VNF. Hence configuration requires less interactions between the networking > infrastructure and the VNF/Controller, moving the VNF or application also > becomes easier. It becomes a simple API interaction with minimal shared > state between OVN and the VNF. > > Does this make sense, it is just my rough attempt at breaking down the use > cases into a more specific set of cases we can solve? > That's a nice breakdown. I like the focus on the simpler case. I always like when a feature can be broken down into smaller useful iterations. >From an OpenStack POV, I always come back to "what API are we implementing?". You mention that networking-sfc is built in support of #1. Do you think it can also support #2, or do you think another API is more appropriate? If networking-sfc works, are there some reasonable limitations we can put in place to get a first version out? Do you have interest in this functionality in OVN outside of OpenStack? > Also what other use cases should we consider? > There seems to be some industry interest in NSH based SFC. It's not supported by OVS yet, but it should be on our radar. I suppose it just comes back to eventually wanting to support SFC-aware VNFs that expect some metadata. -- Russell Bryant
_______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss