diff options
author | Hans Dedecker <dedeckeh@gmail.com> | 2017-05-15 17:40:37 +0200 |
---|---|---|
committer | Hans Dedecker <dedeckeh@gmail.com> | 2017-05-15 17:42:29 +0200 |
commit | f8d40a5b25b47f145f20ca83d5581428cb6a4e2c (patch) | |
tree | 136fa9471e3e7632ef55af04f82ef581248838de /src | |
parent | f8f4b8769fbbd4fd52d2854c912b5d298ff8f8fb (diff) |
router: fix interface mtu read error
Use integer type for mtu variable as odhcpd_get_interface_config returns
-1 when it fails to read the interface mtu. This allows to set the mtu
to a meaningfull value of 1280 in case of interface mtu read failure.
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/odhcpd.h | 2 | ||||
-rw-r--r-- | src/router.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/odhcpd.h b/src/odhcpd.h index bb4702e..ecb7d9a 100644 --- a/src/odhcpd.h +++ b/src/odhcpd.h @@ -165,7 +165,7 @@ struct interface { uint32_t ra_reachabletime; uint32_t ra_retranstime; uint32_t ra_hoplimit; - uint32_t ra_mtu; + int ra_mtu; // DHCPv4 struct in_addr dhcpv4_start; diff --git a/src/router.c b/src/router.c index 8a2f816..f08a7b0 100644 --- a/src/router.c +++ b/src/router.c @@ -259,11 +259,11 @@ static uint16_t calc_ra_lifetime(struct interface *iface, uint32_t maxival) static uint64_t send_router_advert(struct interface *iface, const struct in6_addr *from) { time_t now = odhcpd_time(); - uint32_t mtu = iface->ra_mtu; + int mtu = iface->ra_mtu; int hlim = iface->ra_hoplimit; if (mtu == 0) - mtu = odhcpd_get_interface_config(iface->ifname, "mtu"); + mtu = odhcpd_get_interface_config(iface->ifname, "mtu"); if (mtu < 1280) mtu = 1280; |