network: add Protocol= to vlan netdev (#17794)

This commit is contained in:
walbit-de
2020-12-02 14:58:02 +01:00
committed by GitHub
parent 0f82a2ab5c
commit 2d453f3597
5 changed files with 17 additions and 0 deletions
+1
View File
@@ -48,6 +48,7 @@ NetDev.Kind, config_parse_netdev_kind,
NetDev.MTUBytes, config_parse_mtu, AF_UNSPEC, offsetof(NetDev, mtu)
NetDev.MACAddress, config_parse_hwaddr, 0, offsetof(NetDev, mac)
VLAN.Id, config_parse_vlanid, 0, offsetof(VLan, id)
VLAN.Protocol, config_parse_vlanprotocol, 0, offsetof(VLan, protocol)
VLAN.GVRP, config_parse_tristate, 0, offsetof(VLan, gvrp)
VLAN.MVRP, config_parse_tristate, 0, offsetof(VLan, mvrp)
VLAN.LooseBinding, config_parse_tristate, 0, offsetof(VLan, loose_binding)
+7
View File
@@ -24,6 +24,12 @@ static int netdev_vlan_fill_message_create(NetDev *netdev, Link *link, sd_netlin
if (r < 0)
return log_netdev_error_errno(netdev, r, "Could not append IFLA_VLAN_ID attribute: %m");
if (v->protocol >= 0) {
r = sd_netlink_message_append_u16(req, IFLA_VLAN_PROTOCOL, htobe16(v->protocol));
if (r < 0)
return log_netdev_error_errno(netdev, r, "Could not append IFLA_VLAN_PROTOCOL attribute: %m");
}
if (v->gvrp != -1) {
flags.mask |= VLAN_FLAG_GVRP;
SET_FLAG(flags.flags, VLAN_FLAG_GVRP, v->gvrp);
@@ -76,6 +82,7 @@ static void vlan_init(NetDev *netdev) {
assert(v);
v->id = VLANID_INVALID;
v->protocol = -1;
v->gvrp = -1;
v->mvrp = -1;
v->loose_binding = -1;
+1
View File
@@ -9,6 +9,7 @@ struct VLan {
NetDev meta;
uint16_t id;
int protocol;
int gvrp;
int mvrp;