add ipvlan l2e mode support

This commit is contained in:
jiangheng 2022-11-09 20:15:00 +08:00
parent 397cf738cb
commit f0bc57266d
2 changed files with 65 additions and 1 deletions

View File

@ -0,0 +1,56 @@
From 3ea7f5ac296ee5c19459c2bf00fecf98f552a1c5 Mon Sep 17 00:00:00 2001
From: Feilong Lin <linfeilong@huawei.com>
Date: Mon, 2 Mar 2020 20:52:06 +0800
---
include/uapi/linux/if_link.h | 2 +-
ip/iplink_ipvlan.c | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h
index 1d4ed60..bddbdc7 100644
--- a/include/uapi/linux/if_link.h
+++ b/include/uapi/linux/if_link.h
@@ -702,6 +702,7 @@ enum {
enum ipvlan_mode {
IPVLAN_MODE_L2 = 0,
IPVLAN_MODE_L3,
+ IPVLAN_MODE_L2E,
IPVLAN_MODE_L3S,
IPVLAN_MODE_MAX
};
diff --git a/ip/iplink_ipvlan.c b/ip/iplink_ipvlan.c
index baae767..6de3138 100644
--- a/ip/iplink_ipvlan.c
+++ b/ip/iplink_ipvlan.c
@@ -23,7 +23,7 @@ static void print_explain(struct link_util *lu, FILE *f)
fprintf(f,
"Usage: ... %s [ mode MODE ] [ FLAGS ]\n"
"\n"
- "MODE: l3 | l3s | l2\n"
+ "MODE: l3 | l2e | l3s | l2\n"
"FLAGS: bridge | private | vepa\n"
"(first values are the defaults if nothing is specified).\n",
lu->id);
@@ -47,8 +47,10 @@ static int ipvlan_parse_opt(struct link_util *lu, int argc, char **argv,
mode = IPVLAN_MODE_L3;
else if (strcmp(*argv, "l3s") == 0)
mode = IPVLAN_MODE_L3S;
+ else if (strcmp(*argv, "l2e") == 0)
+ mode = IPVLAN_MODE_L2E;
else {
- fprintf(stderr, "Error: argument of \"mode\" must be either \"l2\", \"l3\" or \"l3s\"\n");
+ fprintf(stderr, "Error: argument of \"mode\" must be either \"l2\", \"l3\", \"l2e\", or \"l3s\"\n");
return -1;
}
addattr16(n, 1024, IFLA_IPVLAN_MODE, mode);
@@ -88,6 +90,7 @@ static void ipvlan_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
__u16 mode = rta_getattr_u16(tb[IFLA_IPVLAN_MODE]);
const char *mode_str = mode == IPVLAN_MODE_L2 ? "l2" :
mode == IPVLAN_MODE_L3 ? "l3" :
+ mode == IPVLAN_MODE_L2E ? "l2e" :
mode == IPVLAN_MODE_L3S ? "l3s" : "unknown";
print_string(PRINT_ANY, "mode", " mode %s ", mode_str);
--
2.19.1

View File

@ -1,6 +1,6 @@
Name: iproute
Version: 5.15.0
Release: 5
Release: 6
Summary: Linux network configuration utilities
License: GPLv2+ and Public Domain
URL: https://kernel.org/pub/linux/utils/net/iproute2/
@ -28,6 +28,8 @@ Patch6014: backport-ip-neigh-Fix-memory-leak-when-doing-get.patch
Patch6015: backport-mptcp-Fix-memory-leak-when-doing-endpoint-show.patch
Patch6016: backport-mptcp-Fix-memory-leak-when-getting-limits.patch
Patch9000: feature-iproute-add-support-for-ipvlan-l2e-mode.patch
BuildRequires: gcc bison elfutils-libelf-devel flex iptables-devel
BuildRequires: libmnl-devel libselinux-devel pkgconfig libbpf-devel
Requires: libbpf psmisc
@ -95,6 +97,12 @@ install -m 0644 lib/libnetlink.a %{buildroot}%{_libdir}/libnetlink.a
%{_mandir}/*
%changelog
* Wed Nov 09 2022 jiangheng <jiangheng14@huawei.com> - 5.15.0-6
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:add ipvlan l2e mode support
* Mon Oct 10 2022 jiangheng<jiangheng14@huawei.com> - 5.15.0-5
- Type:bugfix
- ID:NA