From: KUWAZAWA Takuya Date: Thu, 9 Apr 2020 06:40:15 +0000 (+0900) Subject: network: Make it possible to set the mode of IPVLAN to L2 X-Git-Tag: lxc-5.0.0~462^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5755765e77294becd6b8e93a9e4cef46af1ca713;p=thirdparty%2Flxc.git network: Make it possible to set the mode of IPVLAN to L2 Signed-off-by: KUWAZAWA Takuya --- diff --git a/src/lxc/network.c b/src/lxc/network.c index b442ed575..ef45e98ab 100644 --- a/src/lxc/network.c +++ b/src/lxc/network.c @@ -582,24 +582,21 @@ static int lxc_ipvlan_create(const char *master, const char *name, int mode, int if (nla_put_string(nlmsg, IFLA_INFO_KIND, "ipvlan")) return ret_errno(EPROTO); - if (mode) { - nest2 = nla_begin_nested(nlmsg, IFLA_INFO_DATA); - if (!nest2) - return ret_errno(EPROTO); - - if (nla_put_u32(nlmsg, IFLA_IPVLAN_MODE, mode)) - return ret_errno(EPROTO); + nest2 = nla_begin_nested(nlmsg, IFLA_INFO_DATA); + if (!nest2) + return ret_errno(EPROTO); - /* if_link.h does not define the isolation flag value for bridge mode so we define it as 0 - * and only send mode if mode >0 as default mode is bridge anyway according to ipvlan docs. - */ - if (isolation > 0 && - nla_put_u16(nlmsg, IFLA_IPVLAN_ISOLATION, isolation)) - return ret_errno(EPROTO); + if (nla_put_u32(nlmsg, IFLA_IPVLAN_MODE, mode)) + return ret_errno(EPROTO); - nla_end_nested(nlmsg, nest2); - } + /* if_link.h does not define the isolation flag value for bridge mode so we define it as 0 + * and only send mode if mode >0 as default mode is bridge anyway according to ipvlan docs. + */ + if (isolation > 0 && + nla_put_u16(nlmsg, IFLA_IPVLAN_ISOLATION, isolation)) + return ret_errno(EPROTO); + nla_end_nested(nlmsg, nest2); nla_end_nested(nlmsg, nest); if (nla_put_u32(nlmsg, IFLA_LINK, index))