*** armax has quit IRC | 00:06 | |
*** ihrachys has quit IRC | 02:15 | |
*** ihrachys has joined #openvswitch | 02:16 | |
*** markmcclain has quit IRC | 02:25 | |
*** markmcclain has joined #openvswitch | 02:49 | |
*** anilvenkata has joined #openvswitch | 02:50 | |
*** itandops has quit IRC | 03:08 | |
*** anilvenkata has quit IRC | 03:39 | |
*** anilvenkata has joined #openvswitch | 03:55 | |
*** mmirecki has joined #openvswitch | 05:22 | |
*** mmirecki has quit IRC | 05:27 | |
*** links has joined #openvswitch | 05:56 | |
*** jraju__ has joined #openvswitch | 06:05 | |
*** links has quit IRC | 06:06 | |
*** jraju__ has quit IRC | 06:06 | |
*** Kamilion has quit IRC | 06:25 | |
*** Kamilion has joined #openvswitch | 06:35 | |
*** acidfoo has quit IRC | 06:51 | |
*** acidfoo has joined #openvswitch | 06:52 | |
*** mmirecki has joined #openvswitch | 06:56 | |
*** slaweq has joined #openvswitch | 06:57 | |
*** jaicaa has quit IRC | 08:17 | |
*** jaicaa has joined #openvswitch | 08:20 | |
*** timothy has joined #openvswitch | 09:10 | |
*** dceara has joined #openvswitch | 09:29 | |
*** dceara has quit IRC | 09:29 | |
*** itandops has joined #openvswitch | 09:33 | |
*** mmirecki has quit IRC | 09:38 | |
*** mmirecki has joined #openvswitch | 10:20 | |
*** mmirecki has quit IRC | 10:29 | |
*** itandops has quit IRC | 10:34 | |
*** zhouhan_ has quit IRC | 11:01 | |
*** zhouhan has joined #openvswitch | 11:01 | |
*** timothy has quit IRC | 11:12 | |
*** timothy has joined #openvswitch | 11:19 | |
*** acidfoo has quit IRC | 11:22 | |
*** acidfoo has joined #openvswitch | 11:23 | |
*** darkemon has quit IRC | 11:36 | |
*** darkemon has joined #openvswitch | 11:38 | |
*** ihrachys has quit IRC | 11:51 | |
*** ihrachys has joined #openvswitch | 11:51 | |
*** acidfoo has quit IRC | 11:53 | |
*** acidfoo has joined #openvswitch | 11:53 | |
*** acidfu_ has joined #openvswitch | 11:56 | |
*** acidfoo has quit IRC | 11:58 | |
*** aconole has joined #openvswitch | 12:34 | |
*** bostondriver has joined #openvswitch | 12:44 | |
*** mmirecki has joined #openvswitch | 13:00 | |
*** acidfoo_ has joined #openvswitch | 13:05 | |
*** acidfu_ has quit IRC | 13:07 | |
*** ktraynor has quit IRC | 13:08 | |
*** ktraynor has joined #openvswitch | 13:12 | |
*** mmirecki has quit IRC | 13:34 | |
*** FH_thecat has joined #openvswitch | 13:34 | |
*** darkemon has quit IRC | 13:43 | |
*** troulouliou_div2 has quit IRC | 13:56 | |
*** mmirecki has joined #openvswitch | 13:57 | |
*** troulouliou_div2 has joined #openvswitch | 14:09 | |
*** darkemon has joined #openvswitch | 14:11 | |
*** armax has joined #openvswitch | 14:21 | |
*** timothy has quit IRC | 15:02 | |
*** timothy has joined #openvswitch | 15:16 | |
*** mmirecki has quit IRC | 15:33 | |
*** darkemon1 has joined #openvswitch | 15:38 | |
*** darkemon has quit IRC | 15:38 | |
*** darkemon1 is now known as darkemon | 15:38 | |
*** troulouliou_div2 has quit IRC | 16:29 | |
*** troulouliou_div2 has joined #openvswitch | 16:40 | |
*** timothy has quit IRC | 16:47 | |
*** donhw has quit IRC | 16:52 | |
*** troulouliou_div2 has quit IRC | 16:55 | |
*** donhw has joined #openvswitch | 16:57 | |
*** acidfoo_ has quit IRC | 16:57 | |
*** ryzhyk has joined #openvswitch | 17:05 | |
*** troulouliou_div2 has joined #openvswitch | 17:07 | |
zhouhan | Hello | 17:19 |
---|---|---|
flaviof | o/ | 17:20 |
ryzhyk | hi | 17:20 |
panda | hello | 17:20 |
_lore_ | hi all | 17:20 |
* flaviof waves at numans mmichelson | 17:22 | |
imaximets | Hi. FYI, mmichelson, dceara and numans are not here today. Someone needs to take the lead on this meeting. | 17:22 |
flaviof | #startmeeting ovn-community-development-discussion | 17:23 |
openstack | Meeting started Thu May 21 17:23:12 2020 UTC and is due to finish in 60 minutes. The chair is flaviof. Information about MeetBot at http://wiki.debian.org/MeetBot. | 17:23 |
openstack | Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. | 17:23 |
openstack | The meeting name has been set to 'ovn_community_development_discussion' | 17:23 |
flaviof | well then, I know that much. ;) | 17:23 |
zhouhan | thx flaviof | 17:23 |
flaviof | anyone want to go first? | 17:23 |
zhouhan | I can go first | 17:23 |
zhouhan | I sent a fix for the dp_hash issue. imaximets: could you take a look: #link https://patchwork.ozlabs.org/project/openvswitch/patch/1589527067-91901-1-git-send-email-hzhou@ovn.org/ | 17:24 |
zhouhan | I did some reviews, most for numans's I-P | 17:25 |
zhouhan | I had a question on _lore_'s patch for the SRC_IP_POLICY | 17:25 |
_lore_ | zhouhan: sure | 17:25 |
zhouhan | by GW router, do you mean the non-distributed GW router, or a distributed router with a distributed gateway port? | 17:26 |
_lore_ | 'distributed router with a distributed gateway port' | 17:26 |
_lore_ | gw router port on a given chassis | 17:27 |
zhouhan | _lore_: ok, then the ARP is sent from which component to that router? | 17:27 |
_lore_ | yes | 17:27 |
*** aginwala has joined #openvswitch | 17:27 | |
_lore_ | for non-FIP case | 17:27 |
_lore_ | this is what we want to avoid | 17:28 |
_lore_ | for this reason we need to chage reg1/eth.src after table=9,10,11 | 17:28 |
zhouhan | Sorry, my question was: from which component is the ARP sent to the distributed router with DGP? | 17:28 |
_lore_ | zhouhan: I did not get you | 17:29 |
zhouhan | _lore_: I am still not clear about the scenario, before going to the solution. | 17:29 |
zhouhan | _lore_: Let's discuss in the email offline :) | 17:29 |
zhouhan | That's my update | 17:29 |
_lore_ | zhouhan: sure, but the scenario is this one: | 17:30 |
_lore_ | the chassis where we have the FIP has a direct connection to the underlay network using a localnet port | 17:30 |
_lore_ | so we want to send the ARP out to that port | 17:31 |
_lore_ | agree? | 17:31 |
zhouhan | well, depends on the logical topology. I am not sure what's the source and destination, and the logical components connecting them. | 17:32 |
_lore_ | local chassis has a direct connection to the ToR | 17:32 |
_lore_ | switch | 17:32 |
_lore_ | OpenStack want the possibility to send traffic directly avoid going through the tunnel since the chassis has a direct connection to the external world | 17:33 |
zhouhan | _lore_: yes, if there is just a single localnet logical switch connecting a VIF and the TOR, then it should work, without worrying about logical routers and distributed gateway ports. But I guess your scenario is more complex than that. | 17:33 |
_lore_ | on the local chassis you mean? | 17:34 |
zhouhan | _lore_: I wasn't sure if it is for the typical k8s scenario or openstack. If it is for openstack, maybe I have some clue now. | 17:34 |
_lore_ | I think k8s does not use FIP so far, just OpenStack | 17:35 |
*** acidfoo_ has joined #openvswitch | 17:35 | |
_lore_ | I guess | 17:35 |
_lore_ | not sure | 17:35 |
zhouhan | _lore_: let's see if some else wants to report. After that we can continue. Or discuss offline. | 17:36 |
_lore_ | the goal is: if you have a FIP associated to a given logical switch port you want to send traffic directly and not going through the tunnel to the gw router | 17:36 |
_lore_ | ack | 17:36 |
* _lore_ is on mute | 17:37 | |
zhouhan | so, anyone else? | 17:37 |
_lore_ | it seems not :) | 17:38 |
zhouhan | ok, let's continue | 17:38 |
panda | I can go last | 17:38 |
zhouhan | ok, panda please go ahead | 17:38 |
panda | zhouhan: thanks. | 17:38 |
panda | mine is not an update, but a presentation, I'd like to start contributing to the project. I already studied the architecture and I'm now studying the code | 17:38 |
panda | I plan to propose a patch on the documentation with my the list of task that helped me to start. But I'll have some questions for the mailing list. | 17:39 |
zhouhan | panda: welcome! | 17:39 |
panda | In the meantime I'm looking for low hanging fruit bugs or tasks to give a direction to my studies. If you have anything to propose I'd like to hear | 17:39 |
panda | _lore_ already helped me to bootstrap, and I have a long term tasks from him. | 17:39 |
panda | zhouhan: thanks :) | 17:39 |
flaviof | welcome panda! | 17:40 |
panda | flaviof: thanks! | 17:40 |
flaviof | I can go in next, really quick. | 17:40 |
flaviof | I have not been doing a lot on core OVN, but have been implementing a cool functionality in Openstack that is based on OVN. | 17:40 |
flaviof | It is called port forwarding. For folks who don't know, it uses OVN load balancers to carve out a single FIP into multiple internal VM based on proto+port. | 17:41 |
flaviof | Have POC running great and now moving onto integration tests. | 17:41 |
flaviof | #link https://review.opendev.org/#/c/723863/23/doc/source/ovn/port_forwarding.rst Port forwarding functionality from ML2/OVN | 17:41 |
flaviof | If any of you have interest on that or any other OVN related integration matters with Openstack, please do not be shy to say hi! | 17:41 |
flaviof | Including you, panda ! ;) | 17:41 |
flaviof | That is all from me. | 17:41 |
zhouhan | flaviof: very cool! | 17:42 |
flaviof | zhouhan: thanks. It mostly works because of people like you, so thanks to _you_! | 17:42 |
panda | flaviof: interesting :) | 17:43 |
flaviof | anyone got something he/she want to say here? | 17:44 |
_lore_ | zhouhan: do you think we can proceed? | 17:45 |
zhouhan | _lore_: sure | 17:45 |
_lore_ | :) | 17:46 |
* panda will reserve the questions for the mailing list. | 17:46 | |
zhouhan | _lore_: firstly, how does the normal IP traffic work? | 17:46 |
_lore_ | non-FIP? | 17:46 |
zhouhan | _lore_: in the email you said IP traffic works as expect but just ARP doesn;t work | 17:47 |
_lore_ | e.g. for external world? going through the gw router | 17:47 |
_lore_ | ah ok | 17:47 |
_lore_ | normal FIP traffic is going through the localnet port | 17:47 |
_lore_ | like IP using FIP as src IP | 17:48 |
zhouhan | logically, it is going through the LR, and SNAT is done by the LR, right? | 17:48 |
_lore_ | yes, locally | 17:48 |
_lore_ | s/locally/logically | 17:49 |
zhouhan | when the VM send the packets to external, the nexthop is the LR, and LR's next hop is the external GW (on the TOR) | 17:49 |
_lore_ | yes | 17:50 |
zhouhan | now the ARP is for the LR's IP, why should it be sent out through localnet? | 17:50 |
zhouhan | or do you mean the ARP from LR to the TOR's IP? | 17:51 |
*** anilvenkata has quit IRC | 17:51 | |
_lore_ | nope, the ARP has src IP the FIP | 17:51 |
_lore_ | not the LR external IP | 17:52 |
zhouhan | So you mean the ARP from LR to the TOR, right? | 17:52 |
_lore_ | yes | 17:53 |
_lore_ | let' say your VM is pinging 1.1.1.1 | 17:54 |
_lore_ | the external network from logical router to the external network is 172.16.0.0/24 and you have associated the FIP 172.16.0.100 to the VM | 17:55 |
_lore_ | you want system sends an ARP req to the gw of the network using 172.16.0.100 as src IP and dnat_snat external mac as src mac | 17:56 |
_lore_ | sending the ARP using the localnet port on the chassis | 17:56 |
_lore_ | the scenario is a little bit tricky, I agree :) | 17:57 |
zhouhan | In the logical pipeline, the IP packet from VM should first hit the LR, which then triggers the ARP to the external GW IP. Now which packet is observed on the tunnel? | 17:57 |
flaviof | _lore_: if you don't mind also add the next hop (TOR's) mac address in your example. | 17:57 |
_lore_ | flaviof: sure | 17:57 |
_lore_ | zhouhan: this is the point | 17:58 |
_lore_ | no packet on the tunnel | 17:58 |
_lore_ | the local logical router pipeline magaes the arp | 17:58 |
_lore_ | whitout sending the packet to gw router | 17:58 |
_lore_ | flaviof: let's the next hop is 172.16.0.254 | 17:59 |
zhouhan | _lore_: but you said the problem is some packets were seen on the tunnel, and the patch is to avoid that, right? My question is, which packet was on the tunnel? The IP packet? Or just ARP packets? | 17:59 |
_lore_ | zhouhan: before the commit that introduce the issue you reported | 17:59 |
_lore_ | with the patch I send this week no packets are sent to the tunnel | 18:00 |
zhouhan | _lore_: yes I am talking about the original patch, not the later one. | 18:00 |
_lore_ | zhouhan: even with the origianl one no packets are sent to the tunnel | 18:00 |
zhouhan | _lore_: still trying to understand the original problem :) | 18:00 |
_lore_ | you are right, I have not been so clear :) | 18:00 |
_lore_ | the orignal case is: | 18:01 |
_lore_ | in the scenario I described before the packet for 172.16.0.254 is sent to the gw router and the gw router is sending the ARP | 18:01 |
_lore_ | right? | 18:01 |
_lore_ | then when the ARP reply arrives the packets start flowing | 18:03 |
_lore_ | this is the behaviour before the offending commit | 18:03 |
zhouhan | ok, do you mean when ARP reply arrives to the GW node, the IP packets start being sent through local chassis directly? | 18:04 |
_lore_ | correct | 18:05 |
_lore_ | this is the original FIP behaviour | 18:05 |
_lore_ | with the offending commit or the last patch the ARP is sent by the local node and not by the GW | 18:06 |
zhouhan | So before the ARP is sent, which packet is sent through the tunnel to the GW node? The IP packet or the ARP packet? | 18:06 |
_lore_ | the first IP packet that triggers the ARP | 18:06 |
zhouhan | ok, that's clear now. Thanks | 18:07 |
_lore_ | just this packet | 18:07 |
zhouhan | And all these nodes are on same L2 (e.g. under the TOR), right? | 18:07 |
_lore_ | yes | 18:07 |
_lore_ | the issue that when the ARP arrives this first IP packet is re-inhected but on the GW | 18:07 |
_lore_ | while the second is sent by the local device so the ToR is confused | 18:08 |
_lore_ | are we on the same page now? | 18:08 |
zhouhan | Yes, I think so. | 18:08 |
_lore_ | ok, cool | 18:08 |
flaviof | +1 ;) | 18:08 |
_lore_ | sorry to be not so clear | 18:08 |
zhouhan | So the actual problem is the reinjection that confuses TOR | 18:08 |
_lore_ | anyway | 18:09 |
_lore_ | yes | 18:09 |
zhouhan | If there is no reinjection (sacrifice the first packet), then there is no real problem, but can be optimized to avoid the tunnel for the first packet. | 18:09 |
_lore_ | yes, I think so | 18:10 |
_lore_ | but I am not 100% sure | 18:10 |
zhouhan | I see. Let me revisit your patch. Thanks for the explain! | 18:10 |
_lore_ | sure, thank to you for be so patient :) | 18:10 |
_lore_ | another possible solution could be add nat info to port_binding table | 18:11 |
_lore_ | but the issue is we have no access to the db in pinctrl thread | 18:11 |
_lore_ | so we came up adding a new stable to logical router pipeline in order to overwrite reg1/eth.src just for FIP | 18:12 |
_lore_ | doing so we can manage even ARP and first IP packet locally | 18:13 |
_lore_ | last this week I added the possibility to attach strace or perf to ovn-scale-test | 18:14 |
zhouhan | "doing so" you mean the current patch, right? | 18:14 |
_lore_ | zhouhan: yes | 18:14 |
zhouhan | _lore_: cool. I will take look. Thanks! | 18:15 |
_lore_ | zhouhan: basically in the last patch I reverted offending commit and added this new stage | 18:15 |
_lore_ | I think now we are all the same page :) | 18:16 |
zhouhan | _lore_: yes, I think so. | 18:16 |
zhouhan | flaviof: are we still in the meeting? | 18:17 |
flaviof | yes. but we can end if you think we should | 18:17 |
flaviof | _lore_: that is the table called S_ROUTER_IN_IP_SRC_POLICY, right? | 18:17 |
_lore_ | flaviof: right | 18:17 |
_lore_ | maybe the name is not the best one :) | 18:17 |
flaviof | ack. just wanted to mentioning it here to have a quick way to search for it. This discussion is an integral part of it. ;) | 18:18 |
flaviof | good discussion. Thank you both for doing it here. Anything else to talk about or shall we call it a meeting? | 18:18 |
zhouhan | flaviof: I think maybe we are done | 18:19 |
_lore_ | I guess si | 18:19 |
_lore_ | *so | 18:19 |
*** aginwala has quit IRC | 18:19 | |
flaviof | yeah. si ! ;) | 18:19 |
zhouhan | bye everyone :) | 18:20 |
flaviof | bye all | 18:20 |
_lore_ | si == yes in Italian :) | 18:20 |
flaviof | <3 | 18:20 |
flaviof | #endmeeting | 18:20 |
openstack | Meeting ended Thu May 21 18:20:19 2020 UTC. Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4) | 18:20 |
openstack | Minutes: http://eavesdrop.openstack.org/meetings/ovn_community_development_discussion/2020/ovn_community_development_discussion.2020-05-21-17.23.html | 18:20 |
openstack | Minutes (text): http://eavesdrop.openstack.org/meetings/ovn_community_development_discussion/2020/ovn_community_development_discussion.2020-05-21-17.23.txt | 18:20 |
openstack | Log: http://eavesdrop.openstack.org/meetings/ovn_community_development_discussion/2020/ovn_community_development_discussion.2020-05-21-17.23.log.html | 18:20 |
_lore_ | by all and thx | 18:20 |
_lore_ | *bye | 18:20 |
*** ryzhyk has quit IRC | 18:37 | |
*** donhw has quit IRC | 18:50 | |
*** ihrachys has quit IRC | 18:53 | |
*** donhw has joined #openvswitch | 18:55 | |
*** ihrachys has joined #openvswitch | 19:01 | |
*** zhouhan_ has joined #openvswitch | 19:01 | |
*** zhouhan has quit IRC | 19:05 | |
*** mmirecki has joined #openvswitch | 19:05 | |
*** donhw has quit IRC | 19:41 | |
*** donhw has joined #openvswitch | 19:46 | |
*** mmirecki has quit IRC | 19:58 | |
*** dcbw has joined #openvswitch | 20:05 | |
*** zhouhan_ has quit IRC | 20:35 | |
*** mmirecki has joined #openvswitch | 20:36 | |
*** mmirecki has quit IRC | 20:43 | |
*** mmirecki has joined #openvswitch | 20:43 | |
*** mmirecki has quit IRC | 20:51 | |
*** zhouhan_ has joined #openvswitch | 20:53 | |
*** troulouliou_div2 has quit IRC | 21:02 | |
*** troulouliou_div2 has joined #openvswitch | 21:14 | |
*** zhouhan_ has quit IRC | 21:29 | |
*** zhouhan has joined #openvswitch | 21:29 | |
*** zhouhan has quit IRC | 21:30 | |
*** zhouhan has joined #openvswitch | 21:30 | |
*** slaweq has quit IRC | 22:02 | |
*** rcernin has quit IRC | 22:23 | |
*** rcernin has joined #openvswitch | 22:24 | |
*** itandops has joined #openvswitch | 22:24 | |
*** bostondriver has quit IRC | 22:27 | |
*** zhouhan_ has joined #openvswitch | 22:39 | |
*** zhouhan has quit IRC | 22:43 | |
*** itandops has quit IRC | 22:52 | |
*** itandops has joined #openvswitch | 22:53 | |
*** donhw has quit IRC | 23:10 | |
*** donhw has joined #openvswitch | 23:10 | |
*** lynxis has quit IRC | 23:57 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!