summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSusant Sahani <145210+ssahani@users.noreply.github.com>2018-02-08 10:22:46 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2018-02-08 10:22:46 +0100
commitbf443be99565e4327f1c8c12b79d98b4c1529cf1 (patch)
treeb39a0770f4c1d457dd628d81897720e658989fee
parentman: .service <filename> to <literal> (#8126) (diff)
downloadsystemd-bf443be99565e4327f1c8c12b79d98b4c1529cf1.tar.xz
systemd-bf443be99565e4327f1c8c12b79d98b4c1529cf1.zip
networkd: vxlan require Remote= to be a non multicast address (#8117)
Remote= must be a non multicast address. ip-link(8) says: > remote IPADDR - specifies the unicast destination IP address to > use in outgoing packets when the destination link layer address > is not known in the VXLAN device forwarding database. Closes #8088.
-rw-r--r--man/systemd.netdev.xml2
-rw-r--r--src/network/netdev/vxlan.c7
2 files changed, 6 insertions, 3 deletions
diff --git a/man/systemd.netdev.xml b/man/systemd.netdev.xml
index 2f67d2f223..af46360f49 100644
--- a/man/systemd.netdev.xml
+++ b/man/systemd.netdev.xml
@@ -544,7 +544,7 @@
<varlistentry>
<term><varname>Remote=</varname></term>
<listitem>
- <para>Configures destination multicast group IP address.</para>
+ <para>Configures destination IP address.</para>
</listitem>
</varlistentry>
<varlistentry>
diff --git a/src/network/netdev/vxlan.c b/src/network/netdev/vxlan.c
index 580e5e6505..ad050efeca 100644
--- a/src/network/netdev/vxlan.c
+++ b/src/network/netdev/vxlan.c
@@ -198,7 +198,7 @@ int config_parse_vxlan_address(const char *unit,
r = in_addr_is_multicast(f, &buffer);
- if (STR_IN_SET(lvalue, "Group", "Remote")) {
+ if (streq(lvalue, "Group")) {
if (r <= 0) {
log_syntax(unit, LOG_ERR, filename, line, 0, "vxlan invalid multicast '%s' address, ignoring assignment: %s", lvalue, rvalue);
return 0;
@@ -211,7 +211,10 @@ int config_parse_vxlan_address(const char *unit,
return 0;
}
- v->local_family = f;
+ if (streq(lvalue, "Remote"))
+ v->remote_family = f;
+ else
+ v->local_family = f;
}
*addr = buffer;