Unverified Commit b2722ecb by KUWAZAWA Takuya Committed by Stéphane Graber

network: Make it possible to set the mode of IPVLAN to L2

parent c2e3e9a4
...@@ -582,24 +582,21 @@ static int lxc_ipvlan_create(const char *master, const char *name, int mode, int ...@@ -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")) if (nla_put_string(nlmsg, IFLA_INFO_KIND, "ipvlan"))
return ret_errno(EPROTO); return ret_errno(EPROTO);
if (mode) { nest2 = nla_begin_nested(nlmsg, IFLA_INFO_DATA);
nest2 = nla_begin_nested(nlmsg, IFLA_INFO_DATA); if (!nest2)
if (!nest2) return ret_errno(EPROTO);
return ret_errno(EPROTO);
if (nla_put_u32(nlmsg, IFLA_IPVLAN_MODE, mode))
return ret_errno(EPROTO);
/* if_link.h does not define the isolation flag value for bridge mode so we define it as 0 if (nla_put_u32(nlmsg, IFLA_IPVLAN_MODE, mode))
* and only send mode if mode >0 as default mode is bridge anyway according to ipvlan docs. return ret_errno(EPROTO);
*/
if (isolation > 0 &&
nla_put_u16(nlmsg, IFLA_IPVLAN_ISOLATION, isolation))
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); nla_end_nested(nlmsg, nest);
if (nla_put_u32(nlmsg, IFLA_LINK, index)) if (nla_put_u32(nlmsg, IFLA_LINK, index))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment