20:09:10 #startmeeting gbp_requirements 20:09:10 Meeting started Mon Aug 25 20:09:10 2014 UTC. The chair is tbachman. Information about MeetBot at http://ci.openstack.org/meetbot.html. 20:09:10 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 20:09:10 The meeting name has been set to 'gbp_requirements' 20:15:22 #topic agenda 20:15:44 #link https://lists.opendaylight.org/pipermail/groupbasedpolicy-dev/2014-August/000441.html email describing agenda for today’s meeting 20:17:50 #info mickey_spiegel asks what SFC goals are in terms of GBP 20:18:09 #info paulq says that the intent of SFC is to provide an infrastructure to chain basic services together 20:18:26 #info There’s no tie-ing to a broader policy 20:18:49 #info It’s an exercise in plumbing and stitching together the chain 20:19:53 #Info mickey_spiegel says that the notion of EPGs, contracts, etc. are pure policy stuff. When that drives an action that involves a bunch of services that you want to direct traffic to, there’s a question whether the GBP group has a notion of chaining of it’s own. 20:20:17 #info dvorkinista says that this should be in GBP, that in turn uses the API of the service chaining to configure whatever needs to be configured 20:20:45 #info paulq says his assumption is that if a user/operator is using this infrastructure, that the SFC would provide an API to satisfy the intent expressed in GBP 20:22:40 #info paulq says it’s a question of who instantiates the classifier. THe current implementation is NSH-centric, but there could be other implementations 20:23:08 #info mickey_spiegel asks how we can keep an OF renderer and SFC from colliding at the flow tables 20:23:55 #info paulq says that the risk of conflict occurs at the classifiers. At the classifier edge, GBP should control the policy entirely 20:25:01 #info SFC programs rules around NSH values. 20:25:52 #info mickey_spiegel says that people sometimes stitch functions using VXLANs. 20:26:21 #info There’s a question of who allocates the VNI value 20:26:37 #info dvorkinista says it would be good to have a VNI authority 20:26:50 #info It’s either that or segment the namespace 20:28:28 #info paulq says the tenant namespace for topology doesn’t require non-conflict mapping 20:34:16 #info paulq says he’d like to see GBP reflect things to SFC 20:34:22 #info For example, indicate what groups are talking 20:34:29 #info So that this can be carried in the NSH 20:34:47 #info This would map to the source class and destination class 20:35:18 #info If you carry the tenant information in the VXLAN, how do you get this to the service? 20:35:37 #info This can be handled in NSH, independent of the VXLAN 20:37:05 #info paulq says that when you blur the forwarding and the contextual, it gets very difficult 20:37:28 #info you end up overloading, which leads either to incredible complexity, or loss of granularity 20:37:50 #info For example, when you have tenant coke with 400 service chains, you don’t want to map these to VLANs 20:38:08 #info paulq asks what a GBP intent request to SFC looks like 20:38:32 #info dvorkinista says we’d send a list (ordered collection) 20:38:52 #info like “we need a firewall”, with qualifiers (e.g. “big” vs. “little”) 20:39:09 #info in some cases, we’d need to support graphs, but in the first cut, this may not be required 20:39:24 #info paulq says that we can take that, then return either an error condition or return the chain 20:39:35 #info mickey_spiegel says there are a few things we need to tackle 20:39:40 #info one is graph vs. chain 20:40:04 #info beyond that, there’s the question of the services themselves, and the things that tie them together (e.g. “connector”) 20:40:47 #info dvorkinista says that the ordered list is probably sufficient 20:41:43 #info mickey_spiegel says services do many different things today, and not all are modeled as bumps-in-the-wire 20:42:02 #info There’s some indirection needed to decouple the problem, but what that is may restrict what you can do with the service chains 20:42:19 #info dvorkinista says that’s where NSH is really good, as it provides all the context needed 20:42:59 #info paulq says there are 2 ways to derive context: 1) interface, 2) Network Locator 20:43:19 #info where interfaces are port interfaces, VLANs, etc 20:44:50 #info where the mapping to interfaes occurs inside NSH 20:46:29 #info mickey_spiegel asks if there are proprietary ways to stitch things together, does it fit under the NSH model 20:46:55 #info paulq says that there only NSH and implementation version provided by Ericsson 20:47:20 #info if others have a mechanism they want to bear, he encourages them to join the SFC project 20:47:56 #info dvorkinista asks when using OF, are they doing VNID stitching? 20:48:09 #info (OF implementation is being done by Ericsson) 20:49:24 #info mickey_spiegel asks if we go in this direction, and it’s more of a chain model, how do we capture the intent and feed it to SFC, given that the existing model is a graph 20:50:02 #info dvorkinista says we can still think of them in GBP in terms of graphs, but provide a chain 20:50:27 #info paulq says that SFCs original thinking was with graphs, but the current implementation is a chain. 20:51:09 #info paulq asks how the intent would look different if we were doing graphs 20:52:43 #info sanjay says there’s a classification, a chain with a series of elements, where a chain is intent, and path is an expression of that intent 20:52:59 #info if a graph is bunch of chains, then there has to be classification at each service element 20:53:58 #info paulq says that SFC supports the concept of N classification events to support the policy 20:54:42 #info mickey_spiegel asks if it’s clear where those classifiers would fit 20:54:54 #info paulq says they’re not in the yang model now 20:55:11 #info conceptually it’s a logical element. In reality, it sits with a service function 20:56:08 #info mickey_spiegel says that if the service has multiple terminals, then the service itself drives things 20:57:10 #info ATM is making a comeback :) 21:02:14 #info sanjay asks what is a service function forwarder 21:02:30 #info paulq says architecturally SFC differentiates between the forwarding functionality and the service itself 21:02:34 #info this is a logical separation 21:02:50 #info this allows the concept of forwarding to not impose on the service function 21:03:15 #info The role is to take in an overlay packet, remove the encap, examine NHS, deliver to service function, et. 21:03:42 #info paulq says asking a service to do forwarding is typically a problem 21:03:51 #info OVS can be an SFF 21:04:13 #info This gives you a level of functionality that you don’t have to push to the edge. 21:04:25 #info mickey_spiegel asks if the service chain is just a chain of types 21:04:34 #info paulq says the chain is types, the path is instances 21:04:52 #info mickey_spiegel says that before you provision a service you have to instantiate a chain 21:05:25 #info when you instantiate a chain, you create a path for the chain. There’s also a concept of a service function in multiple paths 21:05:32 #info mickey_spiegel asks if there’s a way to achieve this today 21:06:08 #info paulq says they currently don’t spin up the services since they don’t have a link to the VMM 21:06:23 #info This has to wait until this gets hooked into the orchestration system 21:06:51 #info (there’s nothing to discover service functions) 21:07:51 #info there’s no mechanism today to know whether a network supports a DPI, FW, LB, etc. 21:08:10 #info currently there’s a config file that says where the services exist in the network 21:08:36 #info mickey_spiegel asks if you want to specify a service function, how is that done 21:08:49 #info paulq says that you just pick from a list 21:08:55 #info (as provided by the config file) 21:10:46 #info paulq says he’d welcome folks to look into the model and provide feedback 21:15:22 #info paulq says there aren’t constraints yet, but those will be added eventually 21:17:22 #info sanjay asks what the fail mode is 21:17:46 #info paulq says it’s used to indicate whether you can re-route around it or whether the chain is invalid 21:18:56 #info paulq says they’re adding redundant pairs as well 21:19:10 #info mickey_spiegel asks if redundant pairs are under a single service function 21:19:28 #info dvorkinista asks if this is used in an anycast way 21:19:38 #info paul says you can go around it or use anycast 21:22:21 #info paulq will check with Reinaldo Penno to see if he can join Friday’s meeting 21:22:45 #info paulq says he has UML figures that he can email 21:24:10 #endmeeting