mirror of
https://github.com/systemd/systemd.git
synced 2025-02-04 21:47:31 +03:00
networkd: VXLAN add support to configure Generic Protocol Extension
See https://tools.ietf.org/html/draft-ietf-nvo3-vxlan-gpe-07
This commit is contained in:
parent
76fbd4d73d
commit
4cc0fd7531
@ -655,6 +655,15 @@
|
|||||||
VXLAN Group Policy </ulink> document. Defaults to false.</para>
|
VXLAN Group Policy </ulink> document. Defaults to false.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
<term><varname>GenericProtocolExtension=</varname></term>
|
||||||
|
<listitem>
|
||||||
|
<para>Takes a boolean. When true, Generic Protocol Extension extends the existing VXLAN protocol
|
||||||
|
to provide protocol typing, OAM, and versioning capabilities. For details about the VXLAN GPE
|
||||||
|
Header, see the <ulink url="https://tools.ietf.org/html/draft-ietf-nvo3-vxlan-gpe-07">
|
||||||
|
Generic Protocol Extension for VXLAN </ulink> document. Defaults to false.</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><varname>DestinationPort=</varname></term>
|
<term><varname>DestinationPort=</varname></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -119,6 +119,7 @@ VXLAN.RemoteChecksumTx, config_parse_bool,
|
|||||||
VXLAN.RemoteChecksumRx, config_parse_bool, 0, offsetof(VxLan, remote_csum_rx)
|
VXLAN.RemoteChecksumRx, config_parse_bool, 0, offsetof(VxLan, remote_csum_rx)
|
||||||
VXLAN.FDBAgeingSec, config_parse_sec, 0, offsetof(VxLan, fdb_ageing)
|
VXLAN.FDBAgeingSec, config_parse_sec, 0, offsetof(VxLan, fdb_ageing)
|
||||||
VXLAN.GroupPolicyExtension, config_parse_bool, 0, offsetof(VxLan, group_policy)
|
VXLAN.GroupPolicyExtension, config_parse_bool, 0, offsetof(VxLan, group_policy)
|
||||||
|
VXLAN.GenericProtocolExtension, config_parse_bool, 0, offsetof(VxLan, generic_protocol_extension)
|
||||||
VXLAN.MaximumFDBEntries, config_parse_unsigned, 0, offsetof(VxLan, max_fdb)
|
VXLAN.MaximumFDBEntries, config_parse_unsigned, 0, offsetof(VxLan, max_fdb)
|
||||||
VXLAN.PortRange, config_parse_port_range, 0, 0
|
VXLAN.PortRange, config_parse_port_range, 0, 0
|
||||||
VXLAN.DestinationPort, config_parse_ip_port, 0, offsetof(VxLan, dest_port)
|
VXLAN.DestinationPort, config_parse_ip_port, 0, offsetof(VxLan, dest_port)
|
||||||
|
@ -144,6 +144,12 @@ static int netdev_vxlan_fill_message_create(NetDev *netdev, Link *link, sd_netli
|
|||||||
return log_netdev_error_errno(netdev, r, "Could not append IFLA_VXLAN_GBP attribute: %m");
|
return log_netdev_error_errno(netdev, r, "Could not append IFLA_VXLAN_GBP attribute: %m");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (v->generic_protocol_extension) {
|
||||||
|
r = sd_netlink_message_append_flag(m, IFLA_VXLAN_GPE);
|
||||||
|
if (r < 0)
|
||||||
|
return log_netdev_error_errno(netdev, r, "Could not append IFLA_VXLAN_GPE attribute: %m");
|
||||||
|
}
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,6 +42,7 @@ struct VxLan {
|
|||||||
bool remote_csum_tx;
|
bool remote_csum_tx;
|
||||||
bool remote_csum_rx;
|
bool remote_csum_rx;
|
||||||
bool group_policy;
|
bool group_policy;
|
||||||
|
bool generic_protocol_extension;
|
||||||
|
|
||||||
struct ifla_vxlan_port_range port_range;
|
struct ifla_vxlan_port_range port_range;
|
||||||
};
|
};
|
||||||
|
@ -101,6 +101,7 @@ UDP6ZeroChecksumTx=
|
|||||||
UDP6ZeroCheckSumRx=
|
UDP6ZeroCheckSumRx=
|
||||||
UDPCheckSum=
|
UDPCheckSum=
|
||||||
GroupPolicyExtension=
|
GroupPolicyExtension=
|
||||||
|
GenericProtocolExtension=
|
||||||
MaximumFDBEntries=
|
MaximumFDBEntries=
|
||||||
TTL=
|
TTL=
|
||||||
DestinationPort=
|
DestinationPort=
|
||||||
|
Loading…
x
Reference in New Issue
Block a user