[ovs-dev] Regarding tun_id comparison in datapth.

Andy Zhou azhou at nicira.com
Wed Aug 14 05:19:14 UTC 2013


Glad you found it. We use SW_FLOW_KEY_PUT/MEMCPY to also  keep track of
mask range as we populate the fields in any order.


On Tue, Aug 13, 2013 at 5:15 PM, roampune <roampune at gmail.com> wrote:

> actually found it, hidden way beneath.. ok so it is at:
> datapath/flow.c:53: update_range__ it update the ranges for tun_id and
> other parameters, basically called during flow-add as Andy mentioned below.
>
> Thanks guys for the help.
>
> Regards.
>
>
>
> On Tue, Aug 13, 2013 at 5:10 PM, roampune <roampune at gmail.com> wrote:
>
>>
>> On Tue, Aug 13, 2013 at 4:34 PM, Andy Zhou <azhou at nicira.com> wrote:
>>
>>> Mask list gets build as the kernel receives the flow-add netlink message
>>> from the user space.  If the downloaded flow does not mention tun_id, we
>>> will treat is as wildcard, this is in general the same with other netlink
>>> attributes.
>>>
>>
>> very true, but any chance you could point me to the code or file where
>> this happens. i am still not familiar with the code yet.
>>
>> Regards.
>>
>>
>>>
>>>
>>> On Tue, Aug 13, 2013 at 4:05 PM, roampune <roampune at gmail.com> wrote:
>>>
>>>> Hi Guys,
>>>>
>>>> I am trying to trace the code for vxlan in datapath directory.
>>>> I know how the skb traverse from udp socket as shown below.
>>>>
>>>> udp socket -> vxlan_udp_encap_recv -> vxlan_rcv ->
>>>> ovs_vport_receive -> ovs_dp_process_received_packet -> ...
>>>>
>>>> but i don't quite understand where does the tun_id comparison initiates.
>>>> I mean i know where it happens in __flow_cmp_key but the parameters
>>>> key_start and key_end are derived from mask->range.start and mask->
>>>> range.end  and the mask is taken from a tbl->mask_list from dp, but
>>>> where
>>>> is mask_list generated? i mean where is it decided if tun_id needs to
>>>> be compared or not.
>>>>
>>>> Just by grep'ng around i find a function flow_key_start, but it checks
>>>> for
>>>> tun_key.ipv4_dst and not tun_key.tun_id, so i am confused now where the
>>>> comparison happens.
>>>>
>>>> any help would be appreciated.
>>>>
>>>> Regards.
>>>>
>>>>
>>>> _______________________________________________
>>>> dev mailing list
>>>> dev at openvswitch.org
>>>> http://openvswitch.org/mailman/listinfo/dev
>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-dev/attachments/20130813/6faede00/attachment-0003.html>


More information about the dev mailing list