diff options
author | Dmitry Kozlov <xeb@mail.ru> | 2016-04-02 10:33:29 +0300 |
---|---|---|
committer | Dmitry Kozlov <xeb@mail.ru> | 2016-04-02 11:11:52 +0300 |
commit | 4482b6e5b79d817cdd55fbc7b269d650105c05e5 (patch) | |
tree | 6c610ccd8544665e5362baeb5ec306f36d5b4561 | |
parent | c4f29a3539a4cefa4b07a5dea5678933ccfda3ee (diff) | |
download | accel-ppp-4482b6e5b79d817cdd55fbc7b269d650105c05e5.tar.gz accel-ppp-4482b6e5b79d817cdd55fbc7b269d650105c05e5.zip |
ipoe: ignore start=auto for shared=1 interfaces
-rw-r--r-- | accel-pppd/ctrl/ipoe/ipoe.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/accel-pppd/ctrl/ipoe/ipoe.c b/accel-pppd/ctrl/ipoe/ipoe.c index cdaab92a..e05ce9a9 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) |