Fix GRE support in container by disabling erspan, this is needed as the newly added erspan support isn't enabled for per-container operation. Furthermore this is a cisco-specific protocol supported on some catalyst switched, used for traffic mirroring.
https://jira.sw.ru/browse/PSBM-144221 Signed-off-by: Nikolay Borisov <nikolay.bori...@virtuozzo.com> --- net/ipv4/ip_gre.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index 9fd0b3ee51dd..f4876f93c73f 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -1753,9 +1753,11 @@ static int __init ipgre_init(void) if (err < 0) goto pnet_tap_failed; +#ifndef CONFIG_VE err = register_pernet_device(&erspan_net_ops); if (err < 0) goto pnet_erspan_failed; +#endif err = gre_add_protocol(&ipgre_protocol, GREPROTO_CISCO); if (err < 0) { @@ -1770,23 +1772,28 @@ static int __init ipgre_init(void) err = rtnl_link_register(&ipgre_tap_ops); if (err < 0) goto tap_ops_failed; - +#ifndef CONFIG_VE err = rtnl_link_register(&erspan_link_ops); if (err < 0) goto erspan_link_failed; +#endif return 0; +#ifndef CONFIG_VE erspan_link_failed: rtnl_link_unregister(&ipgre_tap_ops); +#endif tap_ops_failed: rtnl_link_unregister(&ipgre_link_ops); rtnl_link_failed: gre_del_protocol(&ipgre_protocol, GREPROTO_CISCO); add_proto_failed: unregister_pernet_device(&erspan_net_ops); +#ifndef CONFIG_VE pnet_erspan_failed: unregister_pernet_device(&ipgre_tap_net_ops); +#endif pnet_tap_failed: unregister_pernet_device(&ipgre_net_ops); return err; @@ -1796,11 +1803,15 @@ static void __exit ipgre_fini(void) { rtnl_link_unregister(&ipgre_tap_ops); rtnl_link_unregister(&ipgre_link_ops); +#ifndef CONFIG_VE rtnl_link_unregister(&erspan_link_ops); +#endif gre_del_protocol(&ipgre_protocol, GREPROTO_CISCO); unregister_pernet_device(&ipgre_tap_net_ops); unregister_pernet_device(&ipgre_net_ops); +#ifndef CONFIG_VE unregister_pernet_device(&erspan_net_ops); +#endif } module_init(ipgre_init); @@ -1808,7 +1819,9 @@ module_exit(ipgre_fini); MODULE_LICENSE("GPL"); MODULE_ALIAS_RTNL_LINK("gre"); MODULE_ALIAS_RTNL_LINK("gretap"); +#ifndef CONFIG_VE MODULE_ALIAS_RTNL_LINK("erspan"); +MODULE_ALIAS_NETDEV("erspan0"); +#endif MODULE_ALIAS_NETDEV("gre0"); MODULE_ALIAS_NETDEV("gretap0"); -MODULE_ALIAS_NETDEV("erspan0"); -- 2.31.1 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel