diff options
author | Susant Sahani <145210+ssahani@users.noreply.github.com> | 2018-02-08 10:22:46 +0100 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2018-02-08 10:22:46 +0100 |
commit | bf443be99565e4327f1c8c12b79d98b4c1529cf1 (patch) | |
tree | b39a0770f4c1d457dd628d81897720e658989fee | |
parent | man: .service <filename> to <literal> (#8126) (diff) | |
download | systemd-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.xml | 2 | ||||
-rw-r--r-- | src/network/netdev/vxlan.c | 7 |
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; |