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.


On Tue, Aug 13, 2013 at 4:05 PM, roampune <[email protected]> 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
> [email protected]
> http://openvswitch.org/mailman/listinfo/dev
>
>
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to