1
0
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:
Susant Sahani 2019-05-07 00:40:57 +05:30
parent 76fbd4d73d
commit 4cc0fd7531
5 changed files with 18 additions and 0 deletions

View File

@ -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>

View File

@ -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)

View File

@ -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;
} }

View File

@ -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;
}; };

View File

@ -101,6 +101,7 @@ UDP6ZeroChecksumTx=
UDP6ZeroCheckSumRx= UDP6ZeroCheckSumRx=
UDPCheckSum= UDPCheckSum=
GroupPolicyExtension= GroupPolicyExtension=
GenericProtocolExtension=
MaximumFDBEntries= MaximumFDBEntries=
TTL= TTL=
DestinationPort= DestinationPort=