Re: [ovs-discuss] OVN - MTU path discovery
We didn’t understand why a MTU missmatch in one direction worked (N/S), but in other direction (S/N) didn’t work… and we found that that it’s actually working (at least for TCP, via MSS negotiation), we had a missconfiguration In one of the physical interfaces. So, in the case of TCP we are fine. TCP is smart enough to negotiate properly. Other protocols like ICMP with the DF flag, or UDP… would not get the ICMP that notifies the sender about the MTU miss-match. I suspect that the most common cases are covered, and that it’s not worth pursuing what I was asking for at least with a high priority, but I’d like to hear opinions. Best regards, Miguel Ángel. On 3 August 2018 at 08:11:01, Miguel Angel Ajo Pelayo (majop...@redhat.com) wrote: I’m going to capture some example traffic and try to figure out which RFCs talk about that behaviour so we can come up with a consistent solution. I can document it in the project. To be honest, when I looked at it, I was expecting that the router would fragment, and I ended up discovering that we had this path MTU discovery mechanism in play for IPv4 . On 2 August 2018 at 22:21:28, Ben Pfaff (b...@ovn.org) wrote: On Thu, Aug 02, 2018 at 01:19:57PM -0700, Ben Pfaff wrote: > On Wed, Aug 01, 2018 at 10:46:07AM -0400, Miguel Angel Ajo Pelayo wrote: > > Hi Ben, ICMP is used as a signal from the router to tell the sender > > “next hop has a lower mtu, please send smaller packets”, we would > > need at least something in OVS to slow-path the “bigger than X” packets, > > at that point ova-controller could take care of constructing the ICMP packet > > and sending it to the source. > > Yes. > > > But I guess, that we still need the kernel changes to match on > > those “big packets”. > > Maybe. If we only need to worry about ICMP, though, we can set up OVN > so that it always slow-paths ICMP. Oh, I think maybe I was just being slow. The ICMP is generated, not processed. Never mind. ___ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
[ovs-discuss] (no subject)
Hi, I want to report a bug. Scenario: terminal A: sudo ovsdb-client lock some {"locked":true} terminal B: sudo ovsdb-client lock some {"locked":false} then terminate in terminal B we get notification in terminal A locked ["some"] from specification I understood that notification is only sent for requested lock not for already acquired lock and we get this locked notification on every try in terminal B when terminating lock command I would expect not to receive notification in terminal A ovs-vswitchd --version ovs-vswitchd (Open vSwitch) 2.9.90 lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.5 LTS Release: 16.04 Codename: xenial /etc/openvswitch/conf.db: OVSDB JSON 13210 f0201df7bb7e76447b211e38e55560f755655009 {"cksum":"2403910601 23776","name":"Open_vSwitch","version":"7.16.0","tables":{"Controller":{"columns":{"connection_mode":{"type":{"min":0,"key":{"type":"string","enum":["set",["in-band","out-of-band"]]}}},"is_connected":{"ephemeral":true,"type":"boolean"},"local_gateway":{"type":{"min":0,"key":"string"}},"enable_async_messages":{"type":{"min":0,"key":"boolean"}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"status":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"local_netmask":{"type":{"min":0,"key":"string"}},"controller_burst_limit":{"type":{"min":0,"key":{"minInteger":25,"type":"integer"}}},"local_ip":{"type":{"min":0,"key":"string"}},"controller_rate_limit":{"type":{"min":0,"key":{"minInteger":100,"type":"integer"}}},"target":{"type":"string"},"role":{"ephemeral":true,"type":{"min":0,"key":{"type":"string","enum":["set",["master","other","slave"]]}}},"inactivity_probe":{"type":{"min":0,"key":"integer"}},"max_backoff":{"type":{"min":0,"key":{"minInteger":1000,"type":"integer"},"Bridge":{"indexes":[["name"]],"columns":{"name":{"mutable":false,"type":"string"},"flood_vlans":{"type":{"max":4096,"min":0,"key":{"minInteger":0,"maxInteger":4095,"type":"integer"}}},"stp_enable":{"type":"boolean"},"ports":{"type":{"max":"unlimited","min":0,"key":{"type":"uuid","refTable":"Port"}}},"auto_attach":{"type":{"min":0,"key":{"type":"uuid","refTable":"AutoAttach"}}},"fail_mode":{"type":{"min":0,"key":{"type":"string","enum":["set",["secure","standalone"]]}}},"rstp_enable":{"type":"boolean"},"rstp_status":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"flow_tables":{"type":{"max":"unlimited","min":0,"key":{"minInteger":0,"maxInteger":254,"type":"integer"},"value":{"type":"uuid","refTable":"Flow_Table"}}},"netflow":{"type":{"min":0,"key":{"type":"uuid","refTable":"NetFlow"}}},"datapath_type":{"type":"string"},"controller":{"type":{"max":"unlimited","min":0,"key":{"type":"uuid","refTable":"Controller"}}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"ipfix":{"type":{"min":0,"key":{"type":"uuid","refTable":"IPFIX"}}},"status":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"mirrors":{"type":{"max":"unlimited","min":0,"key":{"type":"uuid","refTable":"Mirror"}}},"datapath_id":{"ephemeral":true,"type":{"min":0,"key":"string"}},"mcast_snooping_enable":{"type":"boolean"},"protocols":{"type":{"max":"unlimited","min":0,"key":{"type":"string","enum":["set",["OpenFlow10","OpenFlow11","OpenFlow12","OpenFlow13","OpenFlow14","OpenFlow15","OpenFlow16"]]}}},"sflow":{"type":{"min":0,"key":{"type":"uuid","refTable":"sFlow"}}},"datapath_version":{"type":"string"}}},"Queue":{"isRoot":true,"columns":{"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"dscp":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":63,"type":"integer"},"IPFIX":{"columns":{"cache_active_timeout":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":4200,"type":"integer"}}},"obs_point_id":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":4294967295,"type":"integer"}}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"sampling":{"type":{"min":0,"key":{"minInteger":1,"maxInteger":4294967295,"type":"integer"}}},"targets":{"type":{"max":"unlimited","min":0,"key":"string"}},"obs_domain_id":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":4294967295,"type":"integer"}}},"cache_max_flows":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":4294967295,"type":"integer"},"NetFlow":{"columns":{"active_timeout":{"type":{"key":{"minInteger":-1,"type":"integer"}}},"engine_type":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":255,"type":"integer"}}},"engine_id":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":
[ovs-discuss] (no subject)
Hi, I want to report a bug. Scenario: having this traffic: { "id": 0, "method": "transact", "params": [ "Open_vSwitch", { "columns": [ "bridges" ], "op": "wait", "rows": [], "table": "Open_vSwitch", "timeout": 2000, "until": "==", "where": [] }, { "columns": [ "bridges" ], "op": "select", "table": "Open_vSwitch", "where": [] }, { "columns": [ "_uuid" ], "op": "select", "table": "Bridge", "where": [ [ "name", "==", "Test Bridge" ] ] } ] } { "id": 1, "method": "list_dbs", "params": [] } { "id": null, "method": "cancel", "params": [ 0 ] } { "id": 1, "result": [ "Open_vSwitch", "_Server" ], "error": null }{ "id": "echo", "method": "echo", "params": [] }{ "error": null, "id": "echo", "result": [] } { "id": "echo", "method": "echo", "params": [] }{ "error": null, "id": "echo", "result": [] } I would expect to receive response to 0 as {"result":null, "error": "canceled", "id": 0} ovs-vswitchd --version ovs-vswitchd (Open vSwitch) 2.9.90 lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.5 LTS Release: 16.04 Codename: xenial /etc/openvswitch/conf.db: OVSDB JSON 13210 f0201df7bb7e76447b211e38e55560f755655009 {"cksum":"2403910601 23776","name":"Open_vSwitch","version":"7.16.0","tables":{"Controller":{"columns":{"connection_mode":{"type":{"min":0,"key":{"type":"string","enum":["set",["in-band","out-of-band"]]}}},"is_connected":{"ephemeral":true,"type":"boolean"},"local_gateway":{"type":{"min":0,"key":"string"}},"enable_async_messages":{"type":{"min":0,"key":"boolean"}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"status":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"local_netmask":{"type":{"min":0,"key":"string"}},"controller_burst_limit":{"type":{"min":0,"key":{"minInteger":25,"type":"integer"}}},"local_ip":{"type":{"min":0,"key":"string"}},"controller_rate_limit":{"type":{"min":0,"key":{"minInteger":100,"type":"integer"}}},"target":{"type":"string"},"role":{"ephemeral":true,"type":{"min":0,"key":{"type":"string","enum":["set",["master","other","slave"]]}}},"inactivity_probe":{"type":{"min":0,"key":"integer"}},"max_backoff":{"type":{"min":0,"key":{"minInteger":1000,"type":"integer"},"Bridge":{"indexes":[["name"]],"columns":{"name":{"mutable":false,"type":"string"},"flood_vlans":{"type":{"max":4096,"min":0,"key":{"minInteger":0,"maxInteger":4095,"type":"integer"}}},"stp_enable":{"type":"boolean"},"ports":{"type":{"max":"unlimited","min":0,"key":{"type":"uuid","refTable":"Port"}}},"auto_attach":{"type":{"min":0,"key":{"type":"uuid","refTable":"AutoAttach"}}},"fail_mode":{"type":{"min":0,"key":{"type":"string","enum":["set",["secure","standalone"]]}}},"rstp_enable":{"type":"boolean"},"rstp_status":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"flow_tables":{"type":{"max":"unlimited","min":0,"key":{"minInteger":0,"maxInteger":254,"type":"integer"},"value":{"type":"uuid","refTable":"Flow_Table"}}},"netflow":{"type":{"min":0,"key":{"type":"uuid","refTable":"NetFlow"}}},"datapath_type":{"type":"string"},"controller":{"type":{"max":"unlimited","min":0,"key":{"type":"uuid","refTable":"Controller"}}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"ipfix":{"type":{"min":0,"key":{"type":"uuid","refTable":"IPFIX"}}},"status":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"mirrors":{"type":{"max":"unlimited","min":0,"key":{"type":"uuid","refTable":"Mirror"}}},"datapath_id":{"ephemeral":true,"type":{"min":0,"key":"string"}},"mcast_snooping_enable":{"type":"boolean"},"protocols":{"type":{"max":"unlimited","min":0,"key":{"type":"string","enum":["set",["OpenFlow10","OpenFlow11","OpenFlow12","OpenFlow13","OpenFlow14","OpenFlow15","OpenFlow16"]]}}},"sflow":{"type":{"min":0,"key":{"type":"uuid","refTable":"sFlow"}}},"datapath_version":{"type":"string"}}},"Queue":{"isRoot":true,"columns":{"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"dscp":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":63,"type":"integer"},"IPFIX":{"columns":{"cache_active_timeout":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":4200,"type":"integer"}}},"obs_point_id":{"type":{"min":0,"key":{"minInteger":0,"maxInteger":4294967295,"type":"integer"}}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"external_ids":{"ty
Re: [ovs-discuss] OVN - MTU path discovery
Maybe ICMP is not that critical but seems like not having the ICMP 'need to frag' on UDP communications could break some applications that are aware of this to reduce the size of the packets? I wonder... Thanks! Daniel On Fri, Aug 3, 2018 at 5:20 PM Miguel Angel Ajo Pelayo wrote: > > We didn’t understand why a MTU missmatch in one direction worked (N/S), > but in other direction (S/N) didn’t work… and we found that that it’s > actually > working (at least for TCP, via MSS negotiation), we had a missconfiguration > In one of the physical interfaces. > > So, in the case of TCP we are fine. TCP is smart enough to negotiate > properly. > > Other protocols like ICMP with the DF flag, or UDP… would not get the ICMP > that notifies the sender about the MTU miss-match. > > I suspect that the most common cases are covered, and that it’s not worth > pursuing what I was asking for at least with a high priority, but I’d like > to hear > opinions. > > > Best regards, > Miguel Ángel. > > On 3 August 2018 at 08:11:01, Miguel Angel Ajo Pelayo (majop...@redhat.com) > wrote: > > I’m going to capture some example traffic and try to figure out which RFCs > talk about that behaviour so we can come up with a consistent solution. > I can document it in the project. > > To be honest, when I looked at it, I was expecting that the router would > fragment, and I ended up discovering that we had this path MTU discovery > mechanism in play for IPv4 . > > On 2 August 2018 at 22:21:28, Ben Pfaff (b...@ovn.org) wrote: > > On Thu, Aug 02, 2018 at 01:19:57PM -0700, Ben Pfaff wrote: > > On Wed, Aug 01, 2018 at 10:46:07AM -0400, Miguel Angel Ajo Pelayo wrote: > > > Hi Ben, ICMP is used as a signal from the router to tell the sender > > > “next hop has a lower mtu, please send smaller packets”, we would > > > need at least something in OVS to slow-path the “bigger than X” > packets, > > > at that point ova-controller could take care of constructing the ICMP > packet > > > and sending it to the source. > > > > Yes. > > > > > But I guess, that we still need the kernel changes to match on > > > those “big packets”. > > > > Maybe. If we only need to worry about ICMP, though, we can set up OVN > > so that it always slow-paths ICMP. > > Oh, I think maybe I was just being slow. The ICMP is generated, not > processed. Never mind. > > ___ discuss mailing list disc...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-discuss