See comments inline

Mickey


-----Guru Shetty <g...@ovn.org> wrote: -----
>To: Mickey Spiegel/San Jose/IBM@IBMUS
>From: Guru Shetty <g...@ovn.org>
>Date: 04/06/2016 05:58PM
>Cc: ovs dev <dev@openvswitch.org>, Shi Xin Ruan <steve.r...@cn.ibm.com>
>Subject: Re: [ovs-dev] [PATCH 1/1] Add Static route to logical router
>
>
>
>On 6 April 2016 at 16:55, Mickey Spiegel <emspi...@us.ibm.com> wrote:
>>Steve and Guru,
>> 
>> I am not all that concerned about the "valid" column, but I do think that we 
>> will need a different additional column in the near future for output port.
>> 
>> There are three different motivations for allowing output port to be 
>> specified in the static route:
>> 1) In order to support static routes with a link local next hop. If a link 
>> local next hop is used, it is possible that the same link local address 
>> appears on different router ports with different meanings. By specifying the 
>> port, this disambiguates the specific link local next hop that was desired.
>> Note: Neutron does not yet support static routes with link local next hop. 
>> We need to drive the feature in Neutron as well, optionally allowing a 
>> router interface to be specified in addition to the next hop.
>> 2) This feature should not really be specific to static routes, it should 
>> also apply to dynamic routes when we add that in the future. Basically 
>> anything that looks up an IP address prefix and returns a next hop and 
>> optionally an output port. There are cases where explicitly specifying the 
>> output port makes sense.
> For point 1 and 2, I am not sure whether we should do anything till there is 
> code in ovn-northd that actually uses it.

[Mickey] Point of clarification, the proposal is to add an output port column 
to the static route table in northd. The question is not whether there is code 
in ovn-northd that uses it, it is whether there is code at the CMS layer that 
fills this column. Both the features in points 1 and 2 would make use of this 
column.

Even if we don't add this column now, if you don't have a separate static route 
table, it will make such an addition difficult in the future.

>> 3) In order to optimize processing of the routing recursion (Steve's code 
>> loops over the router's ports in ovn-northd.c to carry out this routing 
>> recursion), we might want to do it above OVN in an event triggered manner, 
>> rather than every time ovn-northd.c recalculates the flows that it places 
>> into the southbound database.
> I don't think I understand the above point. The static_route I have in mind 
> need not recursively look through routers. All they need is to see whether 
> the router peer has the next hop IP address and the packet is just sent to 
> that router. From there on it is a fresh start. 

[Mickey] By routing recursion I just meant a small walk through all of the 
router ports to find which router port has the next hop address.

In Steve's diff for ovn-northd.c, in build_static_route_flow which is called 
for every static route, the section starting with:

+    /* find the outgoing port */
+    out_port = NULL;
+    len = 0;
+    for (int i = 0; i < od->nbr->n_ports; i++){

>> For these reasons, I prefer to keep a separate table for static routes.
>> 
>> Mickey
 
 
 -----"dev" <dev-boun...@openvswitch.org> wrote: -----
 To: Shi Xin Ruan <steve.r...@cn.ibm.com>
 From: Guru Shetty
 Sent by: "dev"
 Date: 04/04/2016 08:41AM
 Cc: ovs dev <dev@openvswitch.org>
 Subject: Re: [ovs-dev] [PATCH 1/1] Add Static route to logical router
 
 
On 31 March 2016 at 19:11, Shi Xin Ruan <steve.r...@cn.ibm.com> wrote:
 
 > Thanks Guru.
 >
 > The column "valid" will indicate whether the routes has been transfer into
 > logical flow.
 > Thinking about this case, deleting the logical router port which is out
 > going interface of some static routes.
 > The first possible way is preventing the deleting, the second way is
 > removing the stactic routing from logical flow.
 >
 [Trying this again as my previous reply got rejected by the mailing list]
 I feel this is an unnecessary complication (unless it becomes a real use
 case). Let us start with not adding a new table and try to do this with a
 column. If you are fine with it, would you mind re-spinning a non-RFC patch
 with a unit test? If you want, I can provide the unit tests. If you prefer
 that I do the entire thing, I am happy with that too.
 
 
 
 >
 >
 > From my points, both can work fine and has their advantages.
 >
 >
 
_______________________________________________
 dev mailing list
 dev@openvswitch.org
 http://openvswitch.org/mailman/listinfo/dev
 
 _______________________________________________
 dev mailing list
 dev@openvswitch.org
 http://openvswitch.org/mailman/listinfo/dev
 
 

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to