[ovs-discuss] Resending request for a new API between controller and switch

Ashok Chippa a.n.chippa at gmail.com
Tue Jan 6 22:38:53 UTC 2015


Hi Ben,

So, I am reading how OVS datapath works... don't see the details but read
the following (which I had read before as well):

- A flow may be identified by any combination of ... (tunnel id, ipv6 nd
target, ipv4/6 src addr, ip4/6 dst addr, ... etc.)
- The first packet of the flow is sent to the controller....

Q1: How does the OVS datapath know that the packet is the first packet?
Doesn't it identify the flow by some combination of the above packet
fields? What is thisidentification? Isn't it a flow index that is derived
by hashing some combination of the above fields? I guess you call it a
cookie? Okay, lets call it a cookie.

Q2: When the first packet is sent to the controller, isn't the cookie also
sent?        All I am requesting is an API that: given any combination of
(tunnel id, ipv6 nd target. ipv4/6 source address, ...) in an API message,
returns the cookie... this will be used in the control path (even before
the first packet hits the datapath)...

Just in case I did not speak clearly, my request has nothing to do with
modifying the OVS datapath...

Thanks

On Tue, Jan 6, 2015 at 2:01 PM, Ashok Chippa <a.n.chippa at gmail.com> wrote:

> Okay. How does the OVS datapath know this is a new flow? i.e. there is no
> matching flow entry? Doesn't it derive some sort of an index (into the flow
> table) from packet header fields? What am I missing? :)
>
> If this is explained in details somewhere, I would appreciate the pointer.
>
> Thanks,
> ashok
>
> On Tue, Jan 6, 2015 at 1:43 PM, Ben Pfaff <blp at nicira.com> wrote:
>
>> On Tue, Jan 06, 2015 at 11:01:08AM -0800, Ashok Chippa wrote:
>> > Perhaps once you understand, it will make sense? :)
>> >
>> > Call it whatever flow_id or cookie or xyz? Let me call it "flow index"
>> for
>> > the sake of this discussion. The ovs datapath has some sort of a flow
>> index
>> > to look into the flow table when a packet arrives, right? Now, how does
>> the
>> > ovs datapath arrive at this flow index (upon a packet arrival)? It takes
>> > certain match parameters (from the packet header and perhaps some
>> > metadata)  and hashes them, right?
>>
>> I don't think you understand how the OVS datapath works.
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20150106/091ff7d4/attachment-0002.html>


More information about the discuss mailing list