From 4482b6e5b79d817cdd55fbc7b269d650105c05e5 Mon Sep 17 00:00:00 2001 From: Dmitry Kozlov Date: Sat, 2 Apr 2016 10:33:29 +0300 Subject: [PATCH] ipoe: ignore start=auto for shared=1 interfaces --- accel-pppd/ctrl/ipoe/ipoe.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/accel-pppd/ctrl/ipoe/ipoe.c b/accel-pppd/ctrl/ipoe/ipoe.c index cdaab92..e05ce9a 100644 --- a/accel-pppd/ctrl/ipoe/ipoe.c +++ b/accel-pppd/ctrl/ipoe/ipoe.c @@ -2536,11 +2536,14 @@ static void add_interface(const char *ifname, int ifindex, const char *opt, int } } - if (!opt_up && !opt_dhcpv4) { + if (!opt_up && !opt_dhcpv4 && !opt_auto) { opt_up = conf_up; opt_dhcpv4 = conf_dhcpv4; + opt_auto = conf_auto; } + opt_auto &= !opt_shared; + if (opt_relay && !opt_giaddr && opt_dhcpv4) { struct sockaddr_in addr; int sock; @@ -2601,8 +2604,6 @@ static void add_interface(const char *ifname, int ifindex, const char *opt, int } else if (!serv->arp && conf_arp) serv->arp = arpd_start(serv); - opt_auto &= !opt_shared; - serv->opt_up = opt_up; serv->opt_auto = opt_auto; serv->opt_mode = opt_mode; @@ -3235,6 +3236,8 @@ static void load_config(void) if (!s) return; + net = &def_net; + opt = conf_get_opt("ipoe", "username"); if (opt) { if (strcmp(opt, "ifname") == 0) -- GitLab