diff options
author | Benjamin Poirier <bpoirier@cumulusnetworks.com> | 2019-12-16 15:43:41 +0900 |
---|---|---|
committer | Stephen Hemminger <stephen@networkplumber.org> | 2019-12-16 20:49:28 -0800 |
commit | 1f53ba7297a8b8189fd6853c480de2f6bf9ac787 (patch) | |
tree | 18674ad82a2e3dd003a46ac84558ea956847ca15 | |
parent | df1262155c4b3102e6d01ec082ad123377248019 (diff) | |
download | iproute2-1f53ba7297a8b8189fd6853c480de2f6bf9ac787.tar.gz |
bridge: Fix BRIDGE_VLAN_TUNNEL attribute sizes
As per the kernel's vlan_tunnel_policy, IFLA_BRIDGE_VLAN_TUNNEL_VID and
IFLA_BRIDGE_VLAN_TUNNEL_FLAGS have type NLA_U16.
Fixes: 8652eeb3ab12 ("bridge: vlan: support for per vlan tunnel info")
Signed-off-by: Benjamin Poirier <bpoirier@cumulusnetworks.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
-rw-r--r-- | bridge/vlan.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/bridge/vlan.c b/bridge/vlan.c index 6dc694b65..c0294aa69 100644 --- a/bridge/vlan.c +++ b/bridge/vlan.c @@ -71,8 +71,8 @@ static int add_tunnel_info(struct nlmsghdr *n, int reqsize, tinfo = addattr_nest(n, reqsize, IFLA_BRIDGE_VLAN_TUNNEL_INFO); addattr32(n, reqsize, IFLA_BRIDGE_VLAN_TUNNEL_ID, tun_id); - addattr32(n, reqsize, IFLA_BRIDGE_VLAN_TUNNEL_VID, vid); - addattr32(n, reqsize, IFLA_BRIDGE_VLAN_TUNNEL_FLAGS, flags); + addattr16(n, reqsize, IFLA_BRIDGE_VLAN_TUNNEL_VID, vid); + addattr16(n, reqsize, IFLA_BRIDGE_VLAN_TUNNEL_FLAGS, flags); addattr_nest_end(n, tinfo); @@ -304,7 +304,7 @@ static void print_vlan_tunnel_info(FILE *fp, struct rtattr *tb, int ifindex) if (ttb[IFLA_BRIDGE_VLAN_TUNNEL_VID]) tunnel_vid = - rta_getattr_u32(ttb[IFLA_BRIDGE_VLAN_TUNNEL_VID]); + rta_getattr_u16(ttb[IFLA_BRIDGE_VLAN_TUNNEL_VID]); else continue; @@ -314,7 +314,7 @@ static void print_vlan_tunnel_info(FILE *fp, struct rtattr *tb, int ifindex) if (ttb[IFLA_BRIDGE_VLAN_TUNNEL_FLAGS]) tunnel_flags = - rta_getattr_u32(ttb[IFLA_BRIDGE_VLAN_TUNNEL_FLAGS]); + rta_getattr_u16(ttb[IFLA_BRIDGE_VLAN_TUNNEL_FLAGS]); if (!(tunnel_flags & BRIDGE_VLAN_INFO_RANGE_END)) { last_vid_start = tunnel_vid; |