mirror of
https://github.com/systemd/systemd.git
synced 2025-01-10 05:18:17 +03:00
network: add Protocol= to vlan netdev (#17794)
This commit is contained in:
parent
0f82a2ab5c
commit
2d453f3597
@ -450,6 +450,13 @@
|
||||
This setting is compulsory.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>Protocol=</varname></term>
|
||||
<listitem>
|
||||
<para>Allows setting the protocol used for the VLAN interface. Takes <literal>802.1q</literal> or,
|
||||
<literal>802.1ad</literal>, and defaults to unset and kernel's default is used.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><varname>GVRP=</varname></term>
|
||||
<listitem>
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
|
@ -9,6 +9,7 @@ struct VLan {
|
||||
NetDev meta;
|
||||
|
||||
uint16_t id;
|
||||
int protocol;
|
||||
|
||||
int gvrp;
|
||||
int mvrp;
|
||||
|
@ -4,6 +4,7 @@ LooseBinding=
|
||||
ReorderHeader=
|
||||
Id=
|
||||
GVRP=
|
||||
Protocol=
|
||||
[MACVLAN]
|
||||
Mode=
|
||||
SourceMACAddress=
|
||||
|
Loading…
Reference in New Issue
Block a user