17:00:28 #startmeeting service_chaining 17:00:29 Meeting started Thu Jul 13 17:00:28 2017 UTC and is due to finish in 60 minutes. The chair is LouisF. Information about MeetBot at http://wiki.debian.org/MeetBot. 17:00:30 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 17:00:32 The meeting name has been set to 'service_chaining' 17:00:38 hi 17:00:38 hi all 17:00:44 hi all 17:01:03 hello 17:01:08 #topic agenda 17:01:32 https://wiki.openstack.org/wiki/Meetings/ServiceFunctionChainingMeeting 17:02:25 hi all 17:02:26 #topic CLI in python-neutronclient 17:02:32 igordcard: hi 17:02:49 https://review.openstack.org/#/c/409759/ 17:03:29 mohan has updated - please review this 17:03:52 done, lgtm 17:04:15 yeah i'd like this to be wrapped up 17:04:38 we are probably really close now (I hope) 17:04:38 #topic API reference 17:04:44 bcafarel: yes 17:04:58 I think I've finally made some progress on the API definition. 17:05:05 pcarver: great 17:05:09 I think I was trying to migrate too much before. 17:06:03 I've reduced the amount of code that I'm moving from networking-sfc to neutron-lib and now have a new patch set up that passed tox locally. I haven't check to see if it passed the gate tests yet. 17:06:30 pcarver: thanks 17:07:01 #topic Tap SFC 17:07:14 vks1: what is status? 17:07:40 LouisF: I am working on the comment given by igordcard 17:07:45 on OVS driver side 17:08:11 was consumed in some other task this week most of time 17:09:07 vks1: ok, what is status regarding the CLI syntax? 17:09:36 LouisF: will submit both the patch at same time 17:09:46 vks1: ok thanks 17:09:56 #topic SFC graph 17:10:05 igordcard: what is status? 17:10:31 it is finished and it's up for review 17:10:52 does not include OSC support yet (someone else is working on that and it might be 1 week more or so) or Heat 17:11:09 though I have a smaller patch with only the old neutron client so the reviewers can test 17:11:27 igordcard: ok, I had a question on the flow classifiers for the port chains that are included in an sfc graph 17:11:54 igordcard: what is the intended behavior? 17:12:03 LouisF: yes I have been forgetting to check some of the reviews as I've been pulled in too many directions this week 17:12:07 will address asap 17:12:31 but basically LSP/LDP are ignored when chains are part of a graph (except the initial chain) 17:12:41 all other classifications will still be looked up by OVS 17:13:10 how does the fc of source pc work with fc of dest pc? 17:13:29 also, for queens I will need to submit a patch that calls the full flow classifier conflict check (instead of the basic flow classifier conflict check) for chains in a graph 17:13:37 how about the N-tuple values? 17:13:40 otherwise it limits the classifications that can be used in the graph 17:14:19 let's consider that src chain has FC:UDP and dst chain has FC:TCP 17:15:00 traffic will enter dst chain if and only if it is TCP traffic and it came from src chain 17:15:03 so what is behavior? 17:15:52 it knows it came from src chain because a set of flows will be resolved in OVS that map the SPI/SI of the last hop of src chain, to the UDP flow classification that leads to the first hop of dst chain 17:16:30 so if the fc of source pc is UDP then only UDP traffic will egress the source pc - right , no TCP traffic 17:16:54 no necessarily, as functions are free to changing traffic classification due to SFC Encapsulation 17:17:47 igordcard: i don't understand that 17:17:52 if the user has not created a branch to catch non-TCP traffic at the end of the src chain, the traffic should be dropped 17:18:06 if indeed it is not TCP 17:18:27 LouisF: what part exactly does it become less clear? 17:20:37 if source pc1 has a classifier that matches UDP traffic then only UDP traffic will enter pc1 and egress pc1 - there will be no TCP traffic in pc1 17:21:27 so if dest pc2 with fc=TCP is appended to pc1 there will be no TCP traffic to enter pc2 17:21:28 LouisF: oh, egress means "getting into" the chain, right? 17:22:11 igordcard: no, "egress" means leaving pc1 17:22:20 LouisF: ok so I understood correctly 17:23:01 so regarding "then only UDP traffic will enter pc1 and egress pc1" 17:23:16 igordcard: yes 17:23:23 this is where I comment "not necessarily" 17:23:35 necessarily UDP traffic enters pc1 17:23:43 but what comes out can be something else 17:23:53 for the same reason you are submitting the proxy correlation map 17:23:56 non-transparent SFs 17:24:57 and by the way, the combination of proxy correlation map (or exclusive PPGs) with service graphs is excellent 17:25:37 igordcard: ok, you are saying that a SF in pc1 can modify the N-tuple to the traffic egresses from pc1 with a TCP instead of UDP 17:26:23 igordcard: ok, got it - agree it would be a good combination 17:26:28 LouisF: hypothetically... it's a rather stupid example, but yes 17:28:19 ok so the flow classifier values of each dest pc in a SFC graph can take into consideration possible N-tuple changes by SFs in the src pc 17:29:17 igordcard: is would be good to add text to cover some of these scenarios 17:29:37 doonhammer: hi john 17:29:49 Hi LouisF 17:29:49 LouisF: yes, it can maybe be described as something like "statically-defined dynamic service function chaining" 17:30:38 LouisF: OK I'll look at improving the docs... feel free to leave small hints as comments and I'll expand on each of them 17:31:04 igordcard: one or two examples of SFC graph showing the FC values for src and dest PCs 17:31:05 LouisF: regarding NSH support, I'm resuming the patch now 17:31:28 LouisF: ok 17:31:37 igordcard: ok i will post an example 17:32:17 #OVN work 17:32:25 #topic OVN work 17:32:39 doonhammer: what is current status? 17:33:10 LouisF: no change swamped on internal tasks 17:33:18 doonhammer: ok, thanks 17:33:38 #topic proxy correlation patch 17:33:49 https://review.openstack.org/#/c/481840/ 17:34:22 i want to clarify this behavior 17:34:24 * igordcard is reading pcarver's comment now 17:35:11 I don't have a strong preference for what's right or wrong, I was just commenting on how I read the proposal 17:36:07 the intention here is for a PPG (which is currently used as a LB group) to be used for mapping of SF instances (of the same SF type) 17:36:41 to different port chains thereby avoiding the need to re-classify 17:37:41 it a PPG is used for this proxy port correlation it will _not_ be used for LB 17:38:03 LouisF: yes, that's my interpretation 17:38:07 LouisF: and that third point is exactly where I don't agree 17:38:08 my last comment on the patch is incorrect - sorry for confusion 17:38:25 LouisF: up until now a Port Pair Group was a very clear, single-purpose resource 17:38:29 that if the SF alters the port tuple then the PPG has to support multiple chains with each chain using only one PP from each PPG 17:38:51 pcarver: correct 17:39:00 I don't know if that's right or wrong, but it's what the spec says as far as I can tell 17:39:00 LouisF: just group a bunch of service function instances and load balance across them, or use some other selection policy that doesn't even exist yet but might in the future 17:39:13 igordcard: correct - that has been the purpose of the PPG 17:39:58 LouisF: creating a proxy correlation map but still calling it PPG essentially destroys the definition of a PPG 17:39:59 igordcard: what i am proposing is the this group of PPs be used for a different purpose 17:40:45 LouisF: right.. and what I proposed todau is to simply allow PPGs to be marked as exclusive (to 1 PC) or not 17:40:54 if a PPG is marked as proxy-port-correlation = true then it has a different behavior 17:41:19 LouisF: because that gives you the same benefits in terms of SFC-proxying, and changes exactly nothing in the meaning of PPG 17:42:28 and the impl is much simpler 17:43:32 question, how do you tackle load balangin + proxy map at the same hop of the chain when using a proxy map correlation PPG? 17:43:38 balancing* 17:43:46 igordcard: but that means each chain must have a separate exclusive PPG 17:45:22 LouisF: well only at the hops where full proxying is required 17:45:23 igordcard: if a PPG is configured for proxy-port-correlation it would not support LB 17:47:37 LouisF: a drawback that should be documented if the proxy map route is followed 17:48:12 igordcard: i will add that text 17:48:48 I really like having the ability to to 1:1 full proxying, but I strongly support doing it in the most consistent way in terms of the API, the abstractions, and the features that are already supported in networking-sfc (LB) 17:48:50 however, the use of an exclusive mechanism also has benefits 17:50:34 suggest we adopt both methods 17:50:43 of course, my proposal also has its drawbacks, as you said: now the same PPG cannot be reused (for the hops that would require full proxying) 17:53:00 not sure I can support the proxy map correlation, but let's continue on the spec then 17:53:12 LouisF: also have to read the referenced draft 17:53:49 igordcard: we can continue in the review 17:55:30 i will add text stating that the PPG can be used for LB or proxy-port-correlation but not both 17:56:07 good discussion 17:56:19 ok, all i have for now 17:56:26 bye all 17:56:38 bye all 17:56:57 #endmeeting