Re: [ovs-discuss] [openstack-dev] [OVN] [networking-ovn] [networking-sfc] SFC andOVN

2016-06-15 Thread Na Zhu
Hi John,

I update the networking-sfc and networking-ovn for the new schema. 
I think the most important now is nail down the ovsdb schema for SFC, as 
you know, it is not hard to implement networking-sfc and networking-ovn, 
but if the schema changes, we have to update networking-sfc and 
networking-ovn, the schema is the basic, it is better to finalize it at 
the beginning.

Ryan has some comments one the new version. We need to discuss together 
and finalize it which we all agree with.


Regards,
Juno Zhu
IBM China Development Labs (CDL) Cloud IaaS Lab
Email: na...@cn.ibm.com
5F, Building 10, 399 Keyuan Road, Zhangjiang Hi-Tech Park, Pudong New 
District, Shanghai, China (201203)



From:   John McDowall 
To: Na Zhu/China/IBM@IBMCN
Cc: discuss , "OpenStack Development Mailing 
List (not for usage questions)" , 
"Srilatha Tangirala" 
Date:   2016/06/15 09:35
Subject:Re: [openstack-dev] [ovs-discuss] [OVN] [networking-ovn] 
[networking-sfc] SFC andOVN



Juno,

Thanks really appreciate the help

Regards
John

Sent from my iPhone

On Jun 14, 2016, at 6:12 PM, Na Zhu  wrote:

John,

OK, I will change networking-ovn IDL to align with the new schema.




Regards,
Juno Zhu
IBM China Development Labs (CDL) Cloud IaaS Lab
Email: na...@cn.ibm.com
5F, Building 10, 399 Keyuan Road, Zhangjiang Hi-Tech Park, Pudong New 
District, Shanghai, China (201203)



From:John McDowall 
To:Na Zhu/China/IBM@IBMCN
Cc:discuss , "OpenStack Development 
Mailing List (not for usage questions)" , "Srilatha Tangirala" 
Date:2016/06/15 08:30
Subject:Re: [openstack-dev] [ovs-discuss] [OVN] [networking-ovn] 
[networking-sfc] SFC andOVN



Juno,

I worked on ovs/ovn today and re-structured the schema. I could not figure 
out how to make this work without have lport-chains as a child of lswitch. 
So I have got the basics working �C attached a simple shell script that 
creates and shows the port-chains. I tried to merge with the upstream 
master but there are a bunch of changes that while minor would have taken 
sometime to merge in, so I skipped it for now.

The new schema will break the networking-ovn IDL, apologies.  The areas I 
can think of are:

Port-chain is now a child of lswitch so needs that as a parameter.
Flow-classifier is now a child of port-chain only so need to change from 
lswitch to lport-chain

If you can work on the changes to networking-ovn great (I promise not to 
change the schema again until we have had a wider review). If not I will 
get to it tomorrow. 

Regards

John

From: Na Zhu 
Date: Monday, June 13, 2016 at 9:57 PM
To: John McDowall 
Cc: discuss , "OpenStack Development Mailing List 
(not for usage questions)" , Srilatha 
Tangirala 
Subject: Re: [openstack-dev] [ovs-discuss] [OVN] [networking-ovn] 
[networking-sfc] SFC andOVN

Hi John,

OK, I also find the column "port_pairs" and "flow_classifiers" can not be 
wrote by idl APIs, I will try to fix it.
If any update, i will send you email.



Regards,
Juno Zhu
IBM China Development Labs (CDL) Cloud IaaS Lab
Email: na...@cn.ibm.com
5F, Building 10, 399 Keyuan Road, Zhangjiang Hi-Tech Park, Pudong New 
District, Shanghai, China (201203)



From:John McDowall 
To:Na Zhu/China/IBM@IBMCN
Cc:"OpenStack Development Mailing List (not for usage questions)" 
, discuss , 
Srilatha Tangirala 
Date:2016/06/14 12:17
Subject:Re: [openstack-dev] [ovs-discuss] [OVN] [networking-ovn] 
[networking-sfc] SFC andOVN



Juno,

Trying to implement this today showed that this will not work for OVN. I 
am going back to RussellB 's original model with port-chain as a child of 
lswitch. 

I can make this work and then we can evolve from there. It will require 
some re-write of the idl code - hopefully I will get it done tomorrow.

Regards

John

Sent from my iPhone

On Jun 13, 2016, at 8:41 PM, Na Zhu  wrote:

Hi John,

I see you add column "port_pairs" and "flow_classifiers" to table 
Logical_Switch, I am not clear about it, the port-pair ingress port and 
egress port can be the same, they also can be different and in 
same/different network, and the flow classifier is not per network 
neither, can you explain why you do that?




Regards,
Juno Zhu
IBM China Development Labs (CDL) Cloud IaaS Lab
Email: na...@cn.ibm.com
5F, Building 10, 399 Keyuan Road, Zhangjiang Hi-Tech Park, Pudong New 
District, Shanghai, China (201203)



From:Na Zhu/China/IBM@IBMCN
To:John McDowall 
Cc:Srilatha Tangirala , "OpenStack 
Development Mailing List \(not for usage questions\)" <
openstack-...@lists.openstack.org>, discuss 
Date:2016/06/14 10:44
Subject:Re: [openstack-dev] [ovs-discuss] [OVN] [networking-ovn] 
[networking-sfc] SFC andOVN



Hi John,

My github account is JunoZhu, pls add me as member of your private repo.
If you submit WIP patch today, then i can update your WIP patch, no need 
to update your private repo.
If not, i will update your private repo.

Thanks.

[ovs-discuss] etcd for OVN status update (was: Re: more about etcd (can it support big transactions and many monitors?))

2016-06-15 Thread Ben Pfaff
On Fri, Jun 10, 2016 at 03:59:34PM -0700, Ben Pfaff wrote:
> After talking to Justin, I think I'm going to take a few days (maybe
> Wednesday through Friday next week) to hack on etcd related stuff, with
> the goal being to come up with a detailed to-do list and try to verify
> that the stuff that I think should work really will.  (For example, Andy
> thinks that the gRPC implementation for C is incomplete, but neither of
> us has really tried anything.)
> 
> I guess the first step for me personally is an x86-64 container or
> chroot or something.

Here are the questions I started out with:

1. Can I get etcd v3 working on an i386 laptop somehow, given etcd's
   hostility to non-x86-64 architectures?

2. Can I get a C program to talk to etcd v3, given:

   - etcd is layered on grpc, which does not have a full set of bindings
 for C but instead infrastructure bindings on which the other
 language bindings are layered.

   - etcd uses protobufs (as is typical) inside grpc, but protobufs do
 not have official C bindings either.

3. How should the OVN databases be arranged within etcd?  There are
   multiple possibilities:

   - Define OVSDB bindings to etcd and implement those bindings in the
 OVSDB client libraries (C and Python).

   - Define OVSDB bindings to etcd and implement those bindings in the
 OVSDB server (so that ovsdb-server uses etcd as a storage layer).

   - Define a native etcd schema for OVN SB (and probably NB) database
 and make ovn-controller and ovn-northd use it natively.

Here's what I've accomplished so far:

* Managed to get etcd v3 beta running in a docker container on my
  laptop.  This solves the problem I personally have due to running i386
  userspace on my laptop, because Docker containers run x86-64 userspace
  internally regardless of whether the host uses i386 or x86-64
  userspace.

  (This does not answer the larger question of how archs other than
  x86-64 will use OVN.)

  I suspect this is not the same reason that the rest of the world is so
  excited about containers, but it works for me.

* Managed to interact with etcd in the x86-64 container from the etcdctl
  v3 command-line client running on my i386 host.  This does not seem to
  have the same arch problem as running the etcd server, or at least the
  client does useful work instead of immediately aborting with an error
  due to an unsupported arch.

* Managed to build the grpc C libraries.

* Managed to use "nanopb" (https://github.com/nanopb/nanopb) to generate
  C bindings for the Protocol Buffer definitions for the etcd v3
  protocol.  This took a little bit of coaxing.  I have not yet tried to
  compile or use what it generated.  (grpc itself uses nanopb
  internally, which gives me hope that nanopb works OK.)

Here's what is left:

* Write a C test program that tries to tie together the grpc C library
  and the nanopb-generated etcd bindings into something that can
  actually talk to etcd, probably something comparable to a simplified
  etcdctl in C.

  This has multiple steps, at least the following:

  - Figure out what's needed to tie together all the grpc C
infrastructure code into a C library that can actually implement a
grpc service.  I don't know whether this is on the spectrum from
trivial to troublesome.

  - Layer a library on top of the previous one from the previous bullet
that can send and receive etcd messages.

  - Layer a test program on top of the previous library.

  - Get grpc and nanopb-generated code and everything else to actually
link together.  This is always more of a challenge than it ought to
be.

* Figure out OVN database handling (question 3 above).

So far, I'm feeling fairly optimistic.

Thanks,

Ben.
___
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss


[ovs-discuss] Fwd: Specifying MAC addresses on internal interfaces

2016-06-15 Thread Josh Hershberg
-- Forwarded message --
From: Thadeu Cascardo 
Date: Tue, Jun 14, 2016 at 1:54 PM
Subject: Re: Specifying MAC addresses on internal interfaces
To: Flavio Leitner 
Cc: Josh Hershberg , Aaron Conole ,
ovs-de...@redhat.com


On Mon, Jun 13, 2016 at 09:01:31PM -0300, Flavio Leitner wrote:
>
>
> I believe it has something to do with the bridge port (which is
> also an internal port) that has a special algorithm to select
> its MAC, but not sure.
>
> Thadeu or Aaron, could you guys help Josh?
>
> Thanks,
> fbl
>
>
> On Mon, Jun 13, 2016 at 07:19:06AM +0200, Josh Hershberg wrote:
> > Hi Flavio,
> >
> >
> > Working on some testing infrastructure over here with an OVS running in
a
> > docker container. After an attempt to set the mac address of an
"internal"
> > interface like this [1] and noticing that it wasn't working I took a
look
> > in the OVS sources. What I found was that if you specify an interface as
> > "internal", if the datapath is user space OVS will force the type to be
> > "tap" [2] and then won't set the mac. We really need to use the
userspace
> > datapath since this whole thing is being wrapped up as a docker image.
So,
> > (a) I'm, interested in understanding more about this limiation. What is
the
> > reason OVS will not set the mac of an internal interface in the
userspace
> > data path? (b) Long shot, I know since the code seems pretty
> > straightforward on this, is there any other way to force the MAC
address of
> > an internal mac upon creation?
> >

This looks like a bug. The ofproto_port_open_type should be used for netdev
types only, but this test for internal ports should still consider this
port as
internal. The fact that the behavior is different between the datapath types
should be sufficient to indicate this needs to be fixed.

Can you open a bug?

Thanks.
Cascardo.

> > Thanks,
> >
> > Josh
> >
> > [1]
> >  5164 "table":"Interface",
> >  5165 "op":"insert",
> >  5166 "row":{
> >  5167   "name":"vm1",
> >  5168   "mac":[
> >  5169 "set",
> >  5170 [
> >  5171   "f4:00:00:0f:00:02"
> >  5172 ]
> >  5173   ],
> > ...
> >  5193   "type":"internal"
> >
> > [2]
https://github.com/openvswitch/ovs/blob/master/ofproto/ofproto.c#L1911
> >
> > [3]
https://github.com/openvswitch/ovs/blob/master/vswitchd/bridge.c#L4367
>
> --
> fbl
>
___
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss


[ovs-discuss] ovs-ofctl - learn - no way to provide actions=resubmit in the learnt rule

2016-06-15 Thread Farhad Sunavala
Hi,
I would like to implement a learnt rule with an action resubmit.Currently, OVS 
does not support learn with the learnt rule having a resubmit action.Before I 
have a go at implementing this functionality,  I would like to check if 
thereare any gotches why this should not be done.
Thanks,Farhad.

Example:
Supported:
root@compute1-166:/proc/sys/net/ipv4/conf# ovs-ofctl add-flow br-int 
"table=250, 
actions=learn(table=20,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load:0->NXM_OF_VLAN_TCI[],load:NXM_NX_TUN_ID[]->NXM_NX_TUN_ID[],output:NXM_OF_IN_PORT[]),resubmit:200"

Not supported:
root@compute1-166:/proc/sys/net/ipv4/conf# ovs-ofctl add-flow br-int 
"table=250, 
actions=learn(table=20,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load:0->NXM_OF_VLAN_TCI[],load:NXM_NX_TUN_ID[]->NXM_NX_TUN_ID[],resubmit:300),resubmit:200"

ovs-ofctl: 
table=20,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load:0->NXM_OF_VLAN_TCI[],load:NXM_NX_TUN_ID[]->NXM_NX_TUN_ID[],resubmit:300:
 unknown keyword resubmit

___
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss


Re: [ovs-discuss] ovs-ofctl - learn - no way to provide actions=resubmit in the learnt rule

2016-06-15 Thread Ben Pfaff
On Wed, Jun 15, 2016 at 06:38:42PM +, Farhad Sunavala wrote:
> I would like to implement a learnt rule with an action
> resubmit.Currently, OVS does not support learn with the learnt rule
> having a resubmit action.Before I have a go at implementing this
> functionality,  I would like to check if thereare any gotches why this
> should not be done.

The "learn" functionality is meant for setting up flows that do simple
things like loading values.  If you want another resubmit, you can
always do it after resubmitting to the table that contained the learned
flows.
___
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss


Re: [ovs-discuss] ovs-ofctl - learn - no way to provide actions=resubmit in the learnt rule

2016-06-15 Thread Farhad Sunavala
Hi Ben,
Thanks for your response.
>The "learn" functionality is meant for setting up flows that do simple
>things like loading values.  If you want another resubmit, you can
>always do it after resubmitting to the table that contained the learned
>flows.

Let me clarity with a more detailed example:
This is the original flow with learn actions in table=10
 ovs-ofctl add-flow br-tun 
"table=10,actions=learn(table=20,hard_timeout=300,priority=1,cookie=0x8566f3d5b5121f44,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load:0->NXM_OF_VLAN_TCI[],load:NXM_NX_TUN_ID[]->NXM_NX_TUN_ID[],output:NXM_OF_IN_PORT[]),output:1)

These are the learnt flows in table 20:
 cookie=0x8566f3d5b5121f44, duration=158251.837s, table=20, n_packets=59571, 
n_bytes=5725581, idle_age=1, hard_age=65534, 
priority=2,dl_vlan=2,dl_dst=fa:16:3e:fc:11:39 
actions=strip_vlan,load:0x2044->NXM_NX_TUN_ID[],output:2 
cookie=0x8566f3d5b5121f44, duration=236.832s, table=20, n_packets=0, n_bytes=0, 
hard_timeout=300, idle_age=236, hard_age=0, 
priority=1,vlan_tci=0x0002/0x0fff,dl_dst=fa:16:3e:fc:11:39 
actions=load:0->NXM_OF_VLAN_TCI[],load:0x2044->NXM_NX_TUN_ID[],output:2
This is the added flow which will resubmit packets not matching the learnt 
flows to table 22.
 cookie=0x8566f3d5b5121f44, duration=179860.984s, table=20, n_packets=4, 
n_bytes=316, idle_age=49657, hard_age=65534, priority=0 actions=resubmit(,22)

What I need is a way to resubmit packets matching the two learnt flows to table 
22.If I put the flow with learn action in table=10 as follows (without an 
output action in the learnt flows)
ovs-ofctl add-flow br-tun 
"table=10,actions=learn(table=20,hard_timeout=300,priority=1,cookie=0x8566f3d5b5121f44,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load:0->NXM_OF_VLAN_TCI[],load:NXM_NX_TUN_ID[]->NXM_NX_TUN_ID[]),output:1)

my learnt flows will be as followscookie=0x8566f3d5b5121f44, 
duration=158251.837s, table=20, n_packets=59571, n_bytes=5725581, idle_age=1, 
hard_age=65534, priority=2,dl_vlan=2,dl_dst=fa:16:3e:fc:11:39 
actions=strip_vlan,load:0x2044->NXM_NX_TUN_ID[]
cookie=0x8566f3d5b5121f44, duration=236.832s, table=20, n_packets=0, n_bytes=0, 
hard_timeout=300, idle_age=236, hard_age=0, 
priority=1,vlan_tci=0x0002/0x0fff,dl_dst=fa:16:3e:fc:11:39 
actions=load:0->NXM_OF_VLAN_TCI[],load:0x2044->NXM_NX_TUN_ID[]

Without a default action, packets matching these flows will be dropped.  I need 
packets matching these flows to in the learnt table be resubmitted to another 
table.
Thanks,Farhad.










On Wednesday, June 15, 2016 11:50 AM, Ben Pfaff  wrote:
 

 On Wed, Jun 15, 2016 at 06:38:42PM +, Farhad Sunavala wrote:
> I would like to implement a learnt rule with an action
> resubmit.Currently, OVS does not support learn with the learnt rule
> having a resubmit action.Before I have a go at implementing this
> functionality,  I would like to check if thereare any gotches why this
> should not be done.

The "learn" functionality is meant for setting up flows that do simple
things like loading values.  If you want another resubmit, you can
always do it after resubmitting to the table that contained the learned
flows.


  ___
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss


Re: [ovs-discuss] ovs-ofctl - learn - no way to provide actions=resubmit in the learnt rule

2016-06-15 Thread Ben Pfaff
On Wed, Jun 15, 2016 at 07:41:36PM +, Farhad Sunavala wrote:
> Hi Ben,
> Thanks for your response.
> >The "learn" functionality is meant for setting up flows that do simple
> >things like loading values.  If you want another resubmit, you can
> >always do it after resubmitting to the table that contained the learned
> >flows.
> 
> Let me clarity with a more detailed example:
> This is the original flow with learn actions in table=10
>  ovs-ofctl add-flow br-tun 
> "table=10,actions=learn(table=20,hard_timeout=300,priority=1,cookie=0x8566f3d5b5121f44,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load:0->NXM_OF_VLAN_TCI[],load:NXM_NX_TUN_ID[]->NXM_NX_TUN_ID[],output:NXM_OF_IN_PORT[]),output:1)
> 
> These are the learnt flows in table 20:
>  cookie=0x8566f3d5b5121f44, duration=158251.837s, table=20, n_packets=59571, 
> n_bytes=5725581, idle_age=1, hard_age=65534, 
> priority=2,dl_vlan=2,dl_dst=fa:16:3e:fc:11:39 
> actions=strip_vlan,load:0x2044->NXM_NX_TUN_ID[],output:2 
> cookie=0x8566f3d5b5121f44, duration=236.832s, table=20, n_packets=0, 
> n_bytes=0, hard_timeout=300, idle_age=236, hard_age=0, 
> priority=1,vlan_tci=0x0002/0x0fff,dl_dst=fa:16:3e:fc:11:39 
> actions=load:0->NXM_OF_VLAN_TCI[],load:0x2044->NXM_NX_TUN_ID[],output:2
> This is the added flow which will resubmit packets not matching the learnt 
> flows to table 22.
>  cookie=0x8566f3d5b5121f44, duration=179860.984s, table=20, n_packets=4, 
> n_bytes=316, idle_age=49657, hard_age=65534, priority=0 actions=resubmit(,22)
> 
> What I need is a way to resubmit packets matching the two learnt flows to 
> table 22.If I put the flow with learn action in table=10 as follows (without 
> an output action in the learnt flows)
> ovs-ofctl add-flow br-tun 
> "table=10,actions=learn(table=20,hard_timeout=300,priority=1,cookie=0x8566f3d5b5121f44,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load:0->NXM_OF_VLAN_TCI[],load:NXM_NX_TUN_ID[]->NXM_NX_TUN_ID[]),output:1)

It's already possible to do what you want.  Have the learned flows set a
register to a distinctive value, such as 1, and match on that register
after resubmitting to the table that contains the learned flows.  In the
next table, if the register contains the value, resubmit to table 22,
otherwise don't.
___
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss


Re: [ovs-discuss] ovs-ofctl - learn - no way to provide actions=resubmit in the learnt rule

2016-06-15 Thread Farhad Sunavala
>It's already possible to do what you want.  Have the learned flows set a
>register to a distinctive value, such as 1, and match on that register
>after resubmitting to the table that contains the learned flows. > In the next 
>table, ^
That brings me back to my original question.How do you go to the next table 
inside a learned flow ?The only actions available for a learned flow are load, 
store and output.
Regards,Farhad.

learn(argument[,argument]...)
 This action adds or modifies a flow in an OpenFlow table,
 similar to ovs-ofctl --strict mod-flows.   The  arguments
 specify the flow's match fields, actions, and other prop‐
 erties, as follows.  At least one match criterion and one
 action argument should ordinarily be specified.

 idle_timeout=seconds
 hard_timeout=seconds
 priority=value
 cookie=value
 send_flow_rem
These  arguments  have  the same meaning as in the
usual ovs-ofctl flow syntax.

 fin_idle_timeout=seconds
 fin_hard_timeout=seconds
Adds a fin_timeout action with the specified argu‐
ments  to the new flow.  This feature was added in
Open vSwitch 1.5.90.

 table=number
The  table  in  which  the  new  flow  should   be
inserted.   Specify a decimal number between 0 and
254.  The default, if table is unspecified, is ta‐
ble 1.

 delete_learned
This  flag  enables  deletion of the learned flows
when the flow with the learn  action  is  removed.
Specifically, when the last learn action with this
flag and particular table  and  cookie  values  is
removed,  the  switch  deletes all of the flows in
the specified table with the specified cookie.

This flag was added in Open vSwitch 2.4.

 field=value
 field[start..end]=src[start..end]
 field[start..end]
Adds a match criterion to the new flow.

The first form specifies that field must match the
literal  value,  e.g.  dl_type=0x0800.  All of the
fields and values for ovs-ofctl  flow  syntax  are
available with their usual meanings.

The  second  form specifies that field[start..end]
in the new flow must match  src[start..end]  taken
from the flow currently being processed.

The third form is a shorthand for the second form.
It specifies that  field[start..end]  in  the  new
flow  must  match field[start..end] taken from the
flow currently being processed.

 load:value->dst[start..end]
 load:src[start..end]->dst[start..end]
Adds a load action to the new flow.

The first form loads the literal value  into  bits
start  through  end, inclusive, in field dst.  Its
syntax is the same as the  load  action  described
earlier in this section.

The  second  form  loads  src[start..end], a value
from the flow currently being processed, into bits
start through end, inclusive, in field dst.

 output:field[start..end]
Add  an  output  action to the new flow's actions,
that outputs  to  the  OpenFlow  port  taken  from
field[start..end],  which  must be an NXM field as
described above.







>if the register contains the value, resubmit to table 22,
>otherwise don't.

 



  ___
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss


Re: [ovs-discuss] ovs-ofctl - learn - no way to provide actions=resubmit in the learnt rule

2016-06-15 Thread Ben Pfaff
On Wed, Jun 15, 2016 at 09:11:10PM +, Farhad Sunavala wrote:
> >It's already possible to do what you want.  Have the learned flows set a
> >register to a distinctive value, such as 1, and match on that register
> >after resubmitting to the table that contains the learned flows. > In the 
> >next table, ^
> That brings me back to my original question.How do you go to the next table 
> inside a learned flow ?The only actions available for a learned flow are 
> load, store and output.

You do not.  You have some flow, in some table X, with two resubmit
actions: one to table Y, that contains flows created by "learn", and
another to table X+1, which uses the information loaded into registers
(etc.) within table Y.
___
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss


Re: [ovs-discuss] ovs-ofctl - learn - no way to provide actions=resubmit in the learnt rule

2016-06-15 Thread Farhad Sunavala
Excellent.  Works like a charm. Thanks so much pointing me in the right 
direction.
Regards,Farhad.

On Wednesday, June 15, 2016 2:47 PM, Ben Pfaff  wrote:
 

 On Wed, Jun 15, 2016 at 09:11:10PM +, Farhad Sunavala wrote:
> >It's already possible to do what you want.  Have the learned flows set a
> >register to a distinctive value, such as 1, and match on that register
> >after resubmitting to the table that contains the learned flows. > In the 
> >next table, ^
> That brings me back to my original question.How do you go to the next table 
> inside a learned flow ?The only actions available for a learned flow are 
> load, store and output.

You do not.  You have some flow, in some table X, with two resubmit
actions: one to table Y, that contains flows created by "learn", and
another to table X+1, which uses the information loaded into registers
(etc.) within table Y.


  ___
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss


Re: [ovs-discuss] [openstack-dev] [OVN] [networking-ovn] [networking-sfc] SFC andOVN

2016-06-15 Thread John McDowall
Ryan,

In-line

Regards

John

From: Ryan Moats mailto:rmo...@us.ibm.com>>
Date: Tuesday, June 14, 2016 at 9:42 PM
To: John McDowall 
mailto:jmcdow...@paloaltonetworks.com>>
Cc: Na Zhu mailto:na...@cn.ibm.com>>, Srilatha Tangirala 
mailto:srila...@us.ibm.com>>, "OpenStack Development 
Mailing List (not for usage questions)" 
mailto:openstack-...@lists.openstack.org>>, 
discuss mailto:discuss@openvswitch.org>>
Subject: Re: [ovs-discuss] [openstack-dev] [OVN] [networking-ovn] 
[networking-sfc] SFC andOVN


"discuss" 
mailto:discuss-boun...@openvswitch.org>> wrote 
on 06/14/2016 10:31:40 PM:

> From: John McDowall 
> mailto:jmcdow...@paloaltonetworks.com>>
> To: Na Zhu mailto:na...@cn.ibm.com>>
> Cc: Srilatha Tangirala/San Francisco/IBM@IBMUS, "OpenStack
> Development Mailing List \(not for usage questions\)"  d...@lists.openstack.org>, discuss 
> mailto:discuss@openvswitch.org>>
> Date: 06/14/2016 10:48 PM
> Subject: Re: [ovs-discuss] [openstack-dev] [OVN] [networking-ovn]
> [networking-sfc] SFC andOVN
> Sent by: "discuss" 
> mailto:discuss-boun...@openvswitch.org>>
>
> Juno,
>
> It is a container for port-pair-groups and flow-classifier. I
> imagine there could be more the than one port-chain per switch. Also
> we may want to extend the model beyond a single lswitch

I agree that there could be more than one port-chain per switch, determined
by the flow classifier.

What I'm confused by is:

1. Why are items only recorded in logical switches?  I would think
that I could also attach an SFC to a logical router - although I admit
that the current neutron model for ports doesn't really allow that
easily.  Couple that with the change of name from Logical_Port to
Logical_Switch_Port, and I'm left wondering if we aren't better off
with the following "weak" links instead:
-the Port_Chain includes the logical switch as an external_id
-each Port_Pair_Group includes the Port_Chain as an external_id
-each Port_Pair includes the PPG as an external_id
-each Logical_Switch_Port includes the PP as an external_id

I *think* that *might* allow me (in the future) to attach a port chain
to a logical router by setting the logical router as an external_id and
using Logical_Router_Ports to make up the PPs...

JED> If there are "port-chain" tables for switches and routers I think I agree. 
Not sure how this is impacted by the type of VNF (see the last email to Juno). 
I struggle a bit with imagining the flows.

2. I still don't see what Logical_Flow_Classifier is buying me that
ACL doesn't - I can codify all of the classifiers given in the match
criteria of an ACL entry and codify the first PPG of the SFC as
the action of the ACL entry...

JED> Flow classifiers do map to an ACL entry - just need additional metadata, 
I.e. Action of the ACL and wether the rules should be uni or bi-directional. 
Though that information could be in the port-chain.

Ryan
___
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss


[ovs-discuss] Rule Table Entries

2016-06-15 Thread Tooba Ahsen
Hi,


Is there a way to determine exactly how much memory a flow table rules takes up 
in the openvswitch?
I've read quite a lot that it takes a few hundred bytes but how would you 
determine this exactly?


Regards,
Tooba Ahsen   ___
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss


Re: [ovs-discuss] Rule Table Entries

2016-06-15 Thread Justin Pettit

> On Jun 15, 2016, at 11:24 PM, Tooba Ahsen  wrote:
> 
> Is there a way to determine exactly how much memory a flow table rules takes 
> up in the openvswitch?
> I've read quite a lot that it takes a few hundred bytes but how would you 
> determine this exactly?

We haven't measured this recently, but the rule of thumb we have used is 
roughly 1KB for each rule.

--Justin


___
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss