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 _______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss