summaryrefslogtreecommitdiff
path: root/datapath/vport-geneve.c
diff options
context:
space:
mode:
Diffstat (limited to 'datapath/vport-geneve.c')
-rw-r--r--datapath/vport-geneve.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/datapath/vport-geneve.c b/datapath/vport-geneve.c
index 624a6a0ec..2d7a6b38c 100644
--- a/datapath/vport-geneve.c
+++ b/datapath/vport-geneve.c
@@ -27,6 +27,8 @@
#include "datapath.h"
#include "vport.h"
+static struct vport_ops ovs_geneve_vport_ops;
+
/**
* struct geneve_port - Keeps track of open UDP ports
* @gs: The socket created for this port number.
@@ -248,7 +250,7 @@ static int geneve_get_egress_tun_info(struct vport *vport, struct sk_buff *skb,
IPPROTO_UDP, skb->mark, sport, dport);
}
-const struct vport_ops ovs_geneve_vport_ops = {
+static struct vport_ops ovs_geneve_vport_ops = {
.type = OVS_VPORT_TYPE_GENEVE,
.create = geneve_tnl_create,
.destroy = geneve_tnl_destroy,
@@ -256,4 +258,22 @@ const struct vport_ops ovs_geneve_vport_ops = {
.get_options = geneve_get_options,
.send = geneve_tnl_send,
.get_egress_tun_info = geneve_get_egress_tun_info,
+ .owner = THIS_MODULE,
};
+
+static int __init ovs_geneve_tnl_init(void)
+{
+ return ovs_vport_ops_register(&ovs_geneve_vport_ops);
+}
+
+static void __exit ovs_geneve_tnl_exit(void)
+{
+ ovs_vport_ops_unregister(&ovs_geneve_vport_ops);
+}
+
+module_init(ovs_geneve_tnl_init);
+module_exit(ovs_geneve_tnl_exit);
+
+MODULE_DESCRIPTION("OVS: Geneve swiching port");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("vport-type-5");