diff --git a/ip/link_gre.c b/ip/link_gre.c index d616a970..0461e5d0 100644 --- a/ip/link_gre.c +++ b/ip/link_gre.c @@ -354,8 +354,8 @@ get_failed: NEXT_ARG(); if (get_u8(&erspan_ver, *argv, 0)) invarg("invalid erspan version\n", *argv); - if (erspan_ver != 1 && erspan_ver != 2) - invarg("erspan version must be 1 or 2\n", *argv); + if (erspan_ver > 2) + invarg("erspan version must be 0/1/2\n", *argv); } else if (is_erspan && strcmp(*argv, "erspan_dir") == 0) { NEXT_ARG(); if (matches(*argv, "ingress") == 0) diff --git a/ip/link_gre6.c b/ip/link_gre6.c index 94a4ee70..9d270f4b 100644 --- a/ip/link_gre6.c +++ b/ip/link_gre6.c @@ -389,8 +389,8 @@ get_failed: NEXT_ARG(); if (get_u8(&erspan_ver, *argv, 0)) invarg("invalid erspan version\n", *argv); - if (erspan_ver != 1 && erspan_ver != 2) - invarg("erspan version must be 1 or 2\n", *argv); + if (erspan_ver > 2) + invarg("erspan version must be 0/1/2\n", *argv); } else if (strcmp(*argv, "erspan_dir") == 0) { NEXT_ARG(); if (matches(*argv, "ingress") == 0) @@ -430,7 +430,7 @@ get_failed: addattr_l(n, 1024, IFLA_GRE_FLOWINFO, &flowinfo, 4); addattr32(n, 1024, IFLA_GRE_FLAGS, flags); addattr32(n, 1024, IFLA_GRE_FWMARK, fwmark); - if (erspan_ver) { + if (erspan_ver <= 2) { addattr8(n, 1024, IFLA_GRE_ERSPAN_VER, erspan_ver); if (erspan_ver == 1 && erspan_idx != 0) { addattr32(n, 1024, IFLA_GRE_ERSPAN_INDEX, erspan_idx); diff --git a/man/man8/ip-link.8.in b/man/man8/ip-link.8.in index 939e2ad4..e8a25451 100644 --- a/man/man8/ip-link.8.in +++ b/man/man8/ip-link.8.in @@ -1163,8 +1163,8 @@ It must be an address on another interface on this host. .BR erspan_ver " \fIversion " - specifies the ERSPAN version number. .IR version -indicates the ERSPAN version to be created: 1 for version 1 (type II) -or 2 for version 2 (type III). +indicates the ERSPAN version to be created: 0 for version 0 type I, +1 for version 1 (type II) or 2 for version 2 (type III). .sp .BR erspan " \fIIDX "