On Sep 4, 2014, at 9:08 PM, Simon Horman <simon.hor...@netronome.com> wrote:

> On Thu, Sep 04, 2014 at 09:30:45AM -0700, Scott Feldman wrote:
>> 
>> On Sep 4, 2014, at 2:04 AM, Simon Horman <simon.hor...@netronome.com> wrote:
>> 
>>> 
>>> 
>>> [snip]
>>> 
>>> In relation to ports and datapaths it seems to me that the API that
>>> has been developed accommodates a model where a port may belong to a
>>> switch device; that this topology is fixed before any API calls are made
>>> and that all all ports belonging to the same switch belong to the same
>>> datapath.
>>> 
>>> This makes sense in the case of hardware that looks a lot like a switch.
>>> But I think that other scenarios are possible. For example hardware that
>>> is able to handle the same abstractions handled by the datapath: datapaths
>>> may be created or destroyed; vports may be added and removed from datapaths.
>>> 
>>> So one might have a piece of hardware that is configured with more than one
>>> datapath configured and its different ports belong to it might be
>>> associated with different data paths.
>> 
>> I’ve tested multiple datapaths on one switch hardware with the current patch 
>> set and it works fine, without the need to push down any datapath id in the 
>> API.  It works because a switch port can’t belong to more than one datapath. 
>>  Datapaths can be created/destroyed and ports added/removed from datapaths 
>> dynamically and the right sw_flows are added/removed to program HW.
> 
> And the flows added to a switch always match the in port? Thus
> so a given flow is only ever for one in-port and thus one datapath?

Correct, for the particular switch implementation we’re working with.  If 
another implementation can’t match on in_port then it seems datapath_id may be 
needed to partition flows.  


>>> Or we might have hardware that is able to offload a tunnel vport.
> 
> I think tunnel vports is still an unsolved part of the larger puzzle.

Agreed, TBD work to offload tunnel vports.  Current implementation only looking 
at VLAN vports so far.

> 
>>> In short I am thinking in terms of API callbacks to manipulate datapaths
>>> and vports. Although I have not thought about it in detail I believe
>>> that the current model you have implemented using such a scheme because
>>> the scheme I am suggesting maps to that of the datapath and you have
>>> implemented your model there.


-scott



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

Reply via email to