GRE64 was introduced to extend gre key from 32-bit to 64-bit using gre-key and sequence number field. But GRE64 is not standard protocol. There are not many users of this protocol. Therefore we have decided to deprecate it.
Signed-off-by: Pravin B Shelar <pshe...@nicira.com> --- NEWS | 1 + datapath/vport-gre.c | 2 ++ lib/netdev-vport.c | 38 +++++++++++++++++++++++++------------- 3 files changed, 28 insertions(+), 13 deletions(-) diff --git a/NEWS b/NEWS index fdcc0c6..a35cead 100644 --- a/NEWS +++ b/NEWS @@ -108,6 +108,7 @@ v2.4.0 - xx xxx xxxx how daemons will talk with syslog. - Support for "ovs-appctl vlog/list-pattern" command that lets to query logging message format for each destination. + - GRE64 tunneling is deprecated and will be removed soon. v2.3.0 - 14 Aug 2014 diff --git a/datapath/vport-gre.c b/datapath/vport-gre.c index 7bbcf57..dce2bb0 100644 --- a/datapath/vport-gre.c +++ b/datapath/vport-gre.c @@ -330,6 +330,8 @@ static struct vport *gre64_create(const struct vport_parms *parms) struct vport *vport; int err; + pr_warn("GRE64 tunneling is deprecated and will be removed soon."); + err = gre_init(); if (err) return ERR_PTR(err); diff --git a/lib/netdev-vport.c b/lib/netdev-vport.c index ea9abf9..7ca0729 100644 --- a/lib/netdev-vport.c +++ b/lib/netdev-vport.c @@ -826,6 +826,13 @@ get_stats(const struct netdev *netdev, struct netdev_stats *stats) return 0; } +static int +netdev_gre64_init(void) +{ + VLOG_WARN("GRE64 tunneling is deprecated and will be removed soon."); + return 0; +} + /* Tunnel push pop ops. */ @@ -1315,11 +1322,11 @@ netdev_vport_range(struct unixctl_conn *conn, int argc, } -#define VPORT_FUNCTIONS(GET_CONFIG, SET_CONFIG, \ +#define VPORT_FUNCTIONS(INIT, GET_CONFIG, SET_CONFIG, \ GET_TUNNEL_CONFIG, GET_STATUS, \ BUILD_HEADER, \ PUSH_HEADER, POP_HEADER) \ - NULL, \ + INIT, \ netdev_vport_run, \ netdev_vport_wait, \ \ @@ -1385,9 +1392,9 @@ netdev_vport_range(struct unixctl_conn *conn, int argc, NULL, /* rx_drain */ -#define TUNNEL_CLASS(NAME, DPIF_PORT, BUILD_HEADER, PUSH_HEADER, POP_HEADER) \ +#define TUNNEL_CLASS(NAME, DPIF_PORT, INIT, BUILD_HEADER, PUSH_HEADER, POP_HEADER) \ { DPIF_PORT, \ - { NAME, VPORT_FUNCTIONS(get_tunnel_config, \ + { NAME, VPORT_FUNCTIONS(INIT, get_tunnel_config, \ set_tunnel_config, \ get_netdev_tunnel_config, \ tunnel_get_status, \ @@ -1399,20 +1406,24 @@ netdev_vport_tunnel_register(void) /* The name of the dpif_port should be short enough to accomodate adding * a port number to the end if one is necessary. */ static const struct vport_class vport_classes[] = { - TUNNEL_CLASS("geneve", "genev_sys", netdev_geneve_build_header, + TUNNEL_CLASS("geneve", "genev_sys", NULL, + netdev_geneve_build_header, push_udp_header, netdev_geneve_pop_header), - TUNNEL_CLASS("gre", "gre_sys", netdev_gre_build_header, + TUNNEL_CLASS("gre", "gre_sys", NULL, + netdev_gre_build_header, netdev_gre_push_header, netdev_gre_pop_header), - TUNNEL_CLASS("ipsec_gre", "gre_sys", NULL, NULL, NULL), - TUNNEL_CLASS("gre64", "gre64_sys", NULL, NULL, NULL), - TUNNEL_CLASS("ipsec_gre64", "gre64_sys", NULL, NULL, NULL), - TUNNEL_CLASS("vxlan", "vxlan_sys", netdev_vxlan_build_header, + TUNNEL_CLASS("ipsec_gre", "gre_sys", NULL, NULL, NULL, NULL), + TUNNEL_CLASS("gre64", "gre64_sys", netdev_gre64_init, + NULL, NULL, NULL), + TUNNEL_CLASS("ipsec_gre64", "gre64_sys", NULL, NULL, NULL, NULL), + TUNNEL_CLASS("vxlan", "vxlan_sys", NULL, + netdev_vxlan_build_header, push_udp_header, netdev_vxlan_pop_header), - TUNNEL_CLASS("lisp", "lisp_sys", NULL, NULL, NULL), - TUNNEL_CLASS("stt", "stt_sys", NULL, NULL, NULL), + TUNNEL_CLASS("lisp", "lisp_sys", NULL, NULL, NULL, NULL), + TUNNEL_CLASS("stt", "stt_sys", NULL, NULL, NULL, NULL), }; static struct ovsthread_once once = OVSTHREAD_ONCE_INITIALIZER; @@ -1435,7 +1446,8 @@ netdev_vport_patch_register(void) { static const struct vport_class patch_class = { NULL, - { "patch", VPORT_FUNCTIONS(get_patch_config, + { "patch", VPORT_FUNCTIONS(NULL, + get_patch_config, set_patch_config, NULL, NULL, NULL, NULL, NULL) }}; -- 1.8.3.1 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev