diff options
author | Stefano Brivio <sbrivio@redhat.com> | 2021-09-07 11:19:57 +0200 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2021-09-09 15:40:04 +0200 |
commit | ec2b58ea4dc45079470efedaa632da25031d5adc (patch) | |
tree | 8590159cb26a4db0fc943d657093f6e8bbbe6345 /conf.c | |
parent | 8e9333616ac3dd37dfb2261f08dd0b16018d0686 (diff) | |
download | passt-ec2b58ea4dc45079470efedaa632da25031d5adc.tar passt-ec2b58ea4dc45079470efedaa632da25031d5adc.tar.gz passt-ec2b58ea4dc45079470efedaa632da25031d5adc.tar.bz2 passt-ec2b58ea4dc45079470efedaa632da25031d5adc.tar.lz passt-ec2b58ea4dc45079470efedaa632da25031d5adc.tar.xz passt-ec2b58ea4dc45079470efedaa632da25031d5adc.tar.zst passt-ec2b58ea4dc45079470efedaa632da25031d5adc.zip |
conf, dhcp, ndp: Fix message about default MTU, make NDP consistent
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'conf.c')
-rw-r--r-- | conf.c | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -617,7 +617,9 @@ static void usage(const char *name) info(" /tmp/passt_ISO8601-TIMESTAMP_INSTANCE-NUMBER.pcap"); info( " -m, --mtu MTU Assign MTU via DHCP/NDP"); - info( " default: no MTU assigned via DHCP/NDP options"); + info( " a zero value disables assignment"); + info( " default: 65520: maximum 802.3 MTU minus 802.3 header"); + info( " length, rounded to 32 bits (IPv4 words)"); info( " -a, --address ADDR Assign IPv4 or IPv6 address ADDR"); info( " can be specified zero to two times (for IPv4 and IPv6)"); info( " default: use addresses from interface with default route"); @@ -954,6 +956,12 @@ void conf(struct ctx *c, int argc, char **argv) errno = 0; c->mtu = strtol(optarg, NULL, 0); + + if (!c->mtu) { + c->mtu = -1; + break; + } + if (c->mtu < ETH_MIN_MTU || c->mtu > (int)ETH_MAX_MTU || errno) { err("Invalid MTU: %s", optarg); @@ -1132,6 +1140,11 @@ void conf(struct ctx *c, int argc, char **argv) } } + if (!c->mtu) { + c->mtu = (ETH_MAX_MTU - ETH_HLEN) / + sizeof(uint32_t) * sizeof(uint32_t); + } + get_routes(c); get_addrs(c); |