diff options
Diffstat (limited to 'datapath/vport-geneve.c')
-rw-r--r-- | datapath/vport-geneve.c | 22 |
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"); |