aboutsummaryrefslogtreecommitdiff
path: root/datapath/Modules.mk
diff options
context:
space:
mode:
authorJesse Gross <jesse@nicira.com>2010-04-17 15:23:31 -0400
committerJesse Gross <jesse@nicira.com>2010-04-19 09:11:57 -0400
commit2736b84e2348090d4756f987db37aa7ddfcb50e0 (patch)
tree370558a10d3de15115ec8c3f3cce708be5fb8a58 /datapath/Modules.mk
parentff6402a9f0d9ee4c29567b62938c82924d502b92 (diff)
tunneling: Add datapath GRE support.
Add a new vport type that implements GRE support inside of the datapath instead of relying on Linux devices. This provides greater scalability, performance, and control. The new GRE implementation supports nearly all features of the Linux implementation. It does not currently support multicast, NBMA tunnels, or non-Ethernet devices. This implementation of GRE has several important benefits over the existing Linux implementation. The first is simply that is not a Linux device. Linux devices are fairly heavy weight both in terms of memory consumption and interactions with the rest of the system (notifications, processes polling, etc.). There are many pieces of code that make assumptions about the maximum reasonable number of ports. Simply maintaining the state of several thousand devices is enough to full occupy the CPU. A tighter coupling between the GRE implementation and datapath also allows more flexibility. The key can be set and retrieved from the flow table, which allows even greater scalability. There will probably be additional use cases in the future.
Diffstat (limited to 'datapath/Modules.mk')
-rw-r--r--datapath/Modules.mk1
1 files changed, 1 insertions, 0 deletions
diff --git a/datapath/Modules.mk b/datapath/Modules.mk
index ba9e01c2..b2032103 100644
--- a/datapath/Modules.mk
+++ b/datapath/Modules.mk
@@ -18,6 +18,7 @@ openvswitch_sources = \
flow.c \
table.c \
vport.c \
+ vport-gre.c \
vport-internal_dev.c \
vport-netdev.c