[ovs-discuss] interested in ovs gre tunneling implement
nickcooper-zhangtonghao
nickcooper-zhangtonghao at opencloud.tech
Wed May 18 10:47:24 UTC 2016
Hi,
The gre/vxlan tunneling network should create an udp socket in the kernel.
When you add a gre/vxlan port, a gre/vlxan net_device struct will been registered. UDP socket will been created when you open the port.
The gre/vxlan packets are processed in the udp_queue_rcv_skb kernel code - net/ipv4/udp.c. This is an encapsulation socket so pass the skb to the socket's udp_encap_rcv() hook. Otherwise, just fall through and pass this up the UDP socket.
if (up->encap_type)
ret = (*up->encap_rcv)(sk, skb);
Then, packet processing flow depends on how you setup the flow entry.
Thanks,
nickcooper-zhangtonghao
More information about the discuss
mailing list