Re: [ovs-discuss] Drop in performance for conntrack cases with OVS

2020-01-16 Thread Darrell Ball
added back the alias

Darrell

On Thu, Jan 16, 2020 at 8:00 PM Darrell Ball  wrote:

> Thanks for the report Anju
>
> Extensive testing was done without tunnels (both PVP and P2P; flows
> 2-100k).
> Threads and queues were also varied.  The testing is about a year old now
> however
> and there were some minor conntrack changes after that, which I would not
> have expected to have a big impact;
> well, at least till now.
>
> This report is interesting however.
>
> 1/ What kind of user traffic - UDP ?
>
> 2/ What about threads and queues ?
>
> Thanks Darrell
>
> On Wed, Jan 15, 2020 at 10:59 PM Anju Thomas via discuss <
> ovs-discuss@openvswitch.org> wrote:
>
>> Hi,
>>
>>
>>
>> We are moving to latest OVS viz OVS 2.12 (Earlier we were on 2.8) . We
>> noticed a significant drop in performance for flows with conntrack (40-50%
>> drop in Traffic going over Vxlan ) . On further analysis , we could pin
>> this drop in performance to the below commit
>>
>>
>>
>> commit 967bb5c5cd9070112138d74a2f4394c50ae48420
>>
>> Author: Darrell Ball 
>>
>> Date:   Thu May 9 08:15:07 2019 -0700
>>
>>
>>
>> conntrack: Add rcu support.
>>
>> For performance and code simplification reasons, add rcu support for
>>
>> conntrack. The array of hmaps is replaced by a cmap as part of this
>>
>> conversion.  Using a single map also simplifies the handling of NAT
>>
>> and allows the removal of the nat_conn map and friends.  Per
>> connection
>>
>> entry locks are introduced, which are needed in a few code paths.
>>
>>
>>
>>
>>
>>
>>
>> Has anyone noticed this and if so is there any way to get around this as
>> well (We don’t use NAT connections)?
>>
>>
>>
>> Is there a specific case where this could give better performance ?
>>
>>
>>
>> Regards
>>
>> Anju
>>
>>
>> ___
>> discuss mailing list
>> disc...@openvswitch.org
>> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
>>
>
___
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


Re: [ovs-discuss] OVN charter

2020-01-16 Thread Justin Pettit
I looked through the charter, and it looks reasonable to me.  My only question 
was what the Series Agreement is.  That isn't in the OVS Charter, and it's not 
obvious to me what it is.

We should probably have the OVS and OVN TSCs each vote on the OVN charter.

--Justin


> On Jan 16, 2020, at 4:18 PM, Ben Pfaff  wrote:
> 
> There was some question in the OVN meeting last week (and in the
> conference at the end of last year) regarding whether OVN had been
> chartered and, if so, where was the charter.
> 
> I went through my email archive and, in the end, I was not entirely
> sure.  I emailed Mike Dolan at Linux Foundation to check and he helped
> me out quickly with a reference to the email where it was finalized and
> a copy of the final charter.  The new LF Collaborative Project was
> created on Nov. 4.  I'm attaching its charter to this email.
> 
> Some may feel that steps were skipped in the process.  I think that you
> are right about that.  Some of that is my fault.  I apologize.  However,
> the question is now, what should we do about it?  Are there significant
> changes that we want to make to the charter and, if some, what are they?
> 
> Thanks,
> 
> Ben.
> 

___
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


Re: [ovs-discuss] OVS Python IDL fetching database

2020-01-16 Thread Numan Siddique
On Thu, Jan 16, 2020 at 6:26 PM mkobus  wrote:
>
> Hi MailingList!
>
> I'm trying to write Python script using OVS library to fetch DB content and 
> print all current bridges, ports and interfaces. Following snippet shows what 
> I deduced so far from examples found in 
> https://mail.openvswitch.org/pipermail/ovs-dev/2018-July/349200.html:
>
> ```
> import ovs.db.idl
> import ovs.poller
>
> SCHEMA_PATH = "/usr/share/openvswitch/vswitch.ovsschema"
> SOCKET_PATH = 'punix:/run/openvswitch/db.sock'
>
> schema_helper = ovs.db.idl.SchemaHelper(SCHEMA_PATH)
>
> schema_helper.register_columns(
> "Bridge", ["name", "ports"]
> )
> schema_helper.register_columns(
> "Port", ["name", "interfaces"]
> )
> schema_helper.register_columns(
> "Interface", []
> )
>
> idl = ovs.db.idl.Idl(SOCKET_PATH, schema_helper)
>
> while not idl.run():
> poller = ovs.poller.Poller()
> print('Seqno value {}'.format(idl.change_seqno))
> idl.wait(poller)
> poller.block()
> ```
>
> As I understand idl.run() should return `True` after DB content was fetched. 
> In my case this loop is infinite - seqno doesn't change. There is no error 
> though.
>
> I checked listing OVS resources using cli for version:

Seems to me you are doing something wrong.

You can refer this file
https://github.com/openvswitch/ovs/blob/master/tests/test-ovsdb.py#L648
 which tests the OVS python idl code.

There is this ovsdbapp python library which internally uses the ovs
python idl if you are interested to look into -
https://github.com/openstack/ovsdbapp

Thanks
Numan

>
> ovs-vsctl (Open vSwitch) 2.9.5
> DB Schema 7.15.1
>
> and those commands worked perfectly fine.
>
> Has anyone encountered similar issue?
>
> Regards,
> MK
> ___
> discuss mailing list
> disc...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
___
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


[ovs-discuss] OVS Python IDL fetching database

2020-01-16 Thread mkobus
Hi MailingList!   I'm trying to write Python script using OVS library to 
fetch DB content and print all current bridges, ports and interfaces. Following 
snippet shows what I deduced so far from examples found in  
mail.openvswitch.org mail.openvswitch.org :   ```  import ovs.db.idl  import 
ovs.poller   SCHEMA_PATH = "/usr/share/openvswitch/vswitc  SOCKET_PATH = 
'punix:/run/openvswitch/db.soc   schema_helper = 
ovs.db.idl.SchemaHelper(SCHEMA   schema_helper.register_columns      
"Bridge", ["name", "ports"]  )  
schema_helper.register_columns      "Port", ["name", 
"interfaces"]  )  schema_helper.register_columns      
"Interface", []  )   idl = ovs.db.idl.Idl(SOCKET_PATH, schema_helper)   
while not idl.run():      poller = ovs.poller.Poller()      print('Seqno 
value {}'.format(idl.change_seqno))      idl.wait(poller)      
poller.block()  ```   As I understand idl.run() should return `True` after DB 
content was fetched. In my case this loop is infinite - seqno doesn't 
change. There is no error though.   I checked listing OVS resources using cli 
for version:   ovs-vsctl (Open vSwitch) 2.9.5  DB Schema 7.15.1   and those 
commands worked perfectly fine.   Has anyone encountered similar issue?   
Regards,  MK
___
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss