From: Susant Sahani Date: Fri, 10 May 2019 09:41:47 +0000 (+0530) Subject: networkd: Geneve Allow TTL to be zero. X-Git-Tag: v243-rc1~456^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=328184d1fce13ff0345b3fbecbac6714eef86fbf;p=thirdparty%2Fsystemd.git networkd: Geneve Allow TTL to be zero. Also verify VNI is set --- diff --git a/man/systemd.netdev.xml b/man/systemd.netdev.xml index 454878d680e..21c7ba82706 100644 --- a/man/systemd.netdev.xml +++ b/man/systemd.netdev.xml @@ -713,7 +713,7 @@ Id= - Specifies the Virtual Network Identifier (VNI) to use. Ranges [0-16777215]. + Specifies the Virtual Network Identifier (VNI) to use. Ranges [0-16777215]. This field is mandatory. @@ -731,7 +731,9 @@ TTL= - Specifies the TTL value to use in outgoing packets. Ranges [1-255]. + Specifies the TTL value to use in outgoing packets. Takes a number in the range 0-255. + When unset or set to 0, the kernel's default will be used meaning that packets TTL will be set from + /proc/sys/net/ipv4/ip_default_ttl. diff --git a/src/network/netdev/geneve.c b/src/network/netdev/geneve.c index fee596e582c..1b1cd2fc9e4 100644 --- a/src/network/netdev/geneve.c +++ b/src/network/netdev/geneve.c @@ -278,10 +278,10 @@ static int netdev_geneve_verify(NetDev *netdev, const char *filename) { assert(v); assert(filename); - if (v->ttl == 0) { - log_warning("Invalid Geneve TTL value '0' configured in '%s'. Ignoring", filename); - return -EINVAL; - } + if (v->id > GENEVE_VID_MAX) + return log_netdev_warning_errno(netdev, SYNTHETIC_ERRNO(EINVAL), + "%s: Geneve without valid VNI (or Virtual Network Identifier) configured. Ignoring.", + filename); return 0; }