aboutsummaryrefslogtreecommitdiffstats
path: root/sgsnemu/sgsnemu.c
diff options
context:
space:
mode:
authorDmitri Kalashnik <dmitri.kalashnik@travelping.com>2020-04-28 13:10:56 +0400
committerDmitri Kalashnik <dmitri.kalashnik@travelping.com>2020-04-28 13:14:52 +0400
commitdb98f309a9e26b3bb531efb0b92bafad7b5ddff7 (patch)
treeb2dc15a60d529a0310a15b5e81d7dc203601948c /sgsnemu/sgsnemu.c
parent04715d284f5abc6bce6cd6401c5700e3031662de (diff)
sgsnemu: use real tun device name after the device is up.
The device name option could be empty, using it without checking would crash sgsnemu. Using the real device is better anyway. Change-Id: Ic3934281bfc2e433323e4ab72cf5be2cbd1c962a
Diffstat (limited to 'sgsnemu/sgsnemu.c')
-rw-r--r--sgsnemu/sgsnemu.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c
index 4c51157..f137f2c 100644
--- a/sgsnemu/sgsnemu.c
+++ b/sgsnemu/sgsnemu.c
@@ -1928,11 +1928,11 @@ int main(int argc, char **argv)
we don't need it. Don't exit on error since this sysctl is
only available starting with linux 4.11. */
snprintf(buf, sizeof(buf), "%u", IN6_ADDR_GEN_MODE_NONE);
- if (proc_ipv6_conf_write(options.tun_dev_name, "addr_gen_mode", buf) < 0) {
+ if (proc_ipv6_conf_write(tun->devname, "addr_gen_mode", buf) < 0) {
SYS_ERR(DSGSN, LOGL_ERROR, errno,
"Failed to disable addr_gen_mode on %s, an extra link-local "
"ip address will appear on the tun device.\n",
- options.tun_dev_name);
+ tun->devname);
}
#endif
@@ -1940,9 +1940,9 @@ int main(int argc, char **argv)
if (tun->fd > maxfd)
maxfd = tun->fd;
- if (proc_ipv6_conf_write(options.tun_dev_name, "accept_ra", "0") < 0) {
+ if (proc_ipv6_conf_write(tun->devname, "accept_ra", "0") < 0) {
SYS_ERR(DSGSN, LOGL_ERROR, 0,
- "Failed to disable IPv6 SLAAC on %s\n", options.tun_dev_name);
+ "Failed to disable IPv6 SLAAC on %s\n", tun->devname);
exit(1);
}
}