[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