mirror of
https://git.proxmox.com/git/mirror_iproute2
synced 2025-12-31 18:53:13 +00:00
iproute: restrict hoplimit values to be in range [0; 255]
Technically, the range of possible hoplimit values are defined by IPv4 and IPv6 header formats. Both define the field to be eight bits in size, which leads to a value range of [0;255]. Setting a packet's hoplimit field to 0 though makes not much sense, as the next hop would immediately drop the packet. Therefore Linux uses 0 as a special value indicating to use the system's default hoplimit (configurable via sysctl). In iproute, setting the hoplimit of a route to 0 is equivalent to omitting the hoplimit parameter alltogether, so it is actually not necessary to allow that value to be specified, but keep it anyway for backwards compatibility. Signed-off-by: Phil Sutter <phil@nwl.cc>
This commit is contained in:
parent
d81f54d599
commit
ea6cbab792
@ -931,7 +931,7 @@ static int iproute_modify(int cmd, unsigned flags, int argc, char **argv)
|
||||
mxlock |= (1<<RTAX_HOPLIMIT);
|
||||
NEXT_ARG();
|
||||
}
|
||||
if (get_unsigned(&hoplimit, *argv, 0))
|
||||
if (get_unsigned(&hoplimit, *argv, 0) || hoplimit > 255)
|
||||
invarg("\"hoplimit\" value is invalid\n", *argv);
|
||||
rta_addattr32(mxrta, sizeof(mxbuf), RTAX_HOPLIMIT, hoplimit);
|
||||
} else if (strcmp(*argv, "advmss") == 0) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user