Re: [ovs-discuss] OVN - MTU path discovery

2018-08-03 Thread Miguel Angel Ajo Pelayo
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)

2018-08-03 Thread Cpp Code
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)

2018-08-03 Thread Cpp Code
 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

2018-08-03 Thread Daniel Alvarez Sanchez
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