tunnel: Userspace implementation of tunnel manipulation.
authorJesse Gross <jesse@nicira.com>
Thu, 20 Sep 2012 01:37:07 +0000 (18:37 -0700)
committerEthan Jackson <ethan@nicira.com>
Tue, 29 Jan 2013 03:09:58 +0000 (19:09 -0800)
commit7d1a8e7a7b69b79745c4a8b7de47c2fef5233303
tree806c857c956ff53ce82431ecfa23fbdf8f6d43d2
parentde281153654c7fa9e41f579076941ebb9dfeec4d
tunnel: Userspace implementation of tunnel manipulation.

The kernel tunneling code currently needs to handle a large number
of operations when tunnel packets are encapsulated and
decapsulated.  Some examples of this are: finding the correct
tunnel port on receive, TTL and ToS inheritance, ECN handling, etc.
All of these can be done on a per-flow basis in userspace now that
we have both the inner and outer header information, which allows
us to both simplify the kernel and take advantage of userspace's
information.  Once tunnel packets are redirected into this code,
the redundant pieces can be removed from other places.

Signed-off-by: Jesse Gross <jesse@nicira.com>
Signed-off-by: Ethan Jackson <ethan@nicira.com>
ofproto/automake.mk
ofproto/tunnel.c [new file with mode: 0644]
ofproto/tunnel.h [new file with mode: 0644]