On Mon, Nov 10, 2014 at 12:46:15PM -0800, Pravin B Shelar wrote: > Following patch adds support for userspace tunneling. Tunneling > needs three more component first is routing table which is configured by > caching kernel routes and second is ARP cache which build automatically > by snooping arp. And third is tunnel protocol table which list all > listening protocols which is populated by vswitchd as tunnel ports > are added. GRE and VXLAN protocol support is added in this patch. > > Tunneling works as follows: > On packet receive vswitchd check if this packet is targeted to tunnel > port. If it is then vswitchd inserts tunnel pop action which pops > header and sends packet to tunnel port. > On packet xmit rather than generating Set tunnel action it generate > tunnel push action which has tunnel header data. datapath can use > tunnel-push action data to generate header for each packet and > forward this packet to output port. Since tunnel-push action > contains most of packet header vswitchd needs to lookup routing > table and arp table to build this action. > > Signed-off-by: Pravin B Shelar <pshe...@nicira.com> > Acked-by: Jarno Rajahalme <jrajaha...@nicira.com> > - > Fixed according to comments from Jarno and Ben. > Added test cases. > Added documentation.
Thanks for v3! I get a compiler error: ../lib/netdev-vport.c:1163:20: error: 'struct unixctl_conn' declared inside parameter list [-Werror] ../lib/netdev-vport.c:1163:20: error: its scope is only this definition or declaration, which is probably not what you want [-Werror] ../lib/netdev-vport.c: In function 'netdev_vport_range': ../lib/netdev-vport.c:1173:9: error: implicit declaration of function 'unixctl_command_reply' [-Werror=implicit-function-declaration] ../lib/netdev-vport.c: In function 'netdev_vport_tunnel_register': ../lib/netdev-vport.c:1311:9: error: implicit declaration of function 'unixctl_command_register' [-Werror=implicit-function-declaration] and some "sparse" reports: ../ofproto/ofproto-dpif-xlate.c:2584:28: warning: incorrect type in assignment (different base types) ../ofproto/ofproto-dpif-xlate.c:2584:28: expected unsigned int [unsigned] [addressable] [assigned] [usertype] out_port ../ofproto/ofproto-dpif-xlate.c:2584:28: got restricted odp_port_t [usertype] odp_port ../lib/odp-util.c:572:73: warning: incorrect type in argument 1 (different base types) ../lib/odp-util.c:572:73: expected unsigned int [unsigned] [usertype] x ../lib/odp-util.c:572:73: got restricted ovs_be32 ../lib/tnl-arp-cache.c:61:5: warning: incorrect type in argument 2 (different base types) ../lib/tnl-arp-cache.c:61:5: expected unsigned int [unsigned] [usertype] hash ../lib/tnl-arp-cache.c:61:5: got restricted ovs_be32 [usertype] dst ../lib/tnl-arp-cache.c:95:45: warning: incorrect type in argument 3 (different base types) ../lib/tnl-arp-cache.c:95:45: expected unsigned int [unsigned] [usertype] hash ../lib/tnl-arp-cache.c:95:45: got restricted ovs_be32 [usertype] ip ../lib/tnl-arp-cache.c:132:45: warning: incorrect type in argument 3 (different base types) ../lib/tnl-arp-cache.c:132:45: expected unsigned int [unsigned] [usertype] hash ../lib/tnl-arp-cache.c:132:45: got restricted ovs_be32 [usertype] ip I'm reviewing the changes and I'll follow up with any further comments. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev