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 <[email protected]>
> Acked-by: Jarno Rajahalme <[email protected]>
> -
> 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
[email protected]
http://openvswitch.org/mailman/listinfo/dev