summaryrefslogtreecommitdiff
path: root/accel-pppd/ppp/ipcp_opt_ipaddr.c
diff options
context:
space:
mode:
authorKozlov Dmitry <dima@server>2011-05-16 18:04:28 +0400
committerKozlov Dmitry <dima@server>2011-05-16 18:04:28 +0400
commit23a958deec775a74d2ff9d0d31ef208c47516a4b (patch)
tree34eb7ae83c3093e8e434fb4fc9cc6e2ba33a235f /accel-pppd/ppp/ipcp_opt_ipaddr.c
parentd2cb39985cd33f5678cad3e68b69cca51894bd58 (diff)
downloadaccel-ppp-23a958deec775a74d2ff9d0d31ef208c47516a4b.tar.gz
accel-ppp-23a958deec775a74d2ff9d0d31ef208c47516a4b.zip
ppp: better handling for lost last acknowledge packet
Diffstat (limited to 'accel-pppd/ppp/ipcp_opt_ipaddr.c')
-rw-r--r--accel-pppd/ppp/ipcp_opt_ipaddr.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/accel-pppd/ppp/ipcp_opt_ipaddr.c b/accel-pppd/ppp/ipcp_opt_ipaddr.c
index 26d72d44..b2a74caf 100644
--- a/accel-pppd/ppp/ipcp_opt_ipaddr.c
+++ b/accel-pppd/ppp/ipcp_opt_ipaddr.c
@@ -133,7 +133,7 @@ static int ipaddr_recv_conf_req(struct ppp_ipcp_t *ipcp, struct ipcp_option_t *o
if (ipaddr_opt->ip->peer_addr == opt32->val) {
ipcp->ppp->ipaddr = ipaddr_opt->ip->addr;
ipcp->ppp->peer_ipaddr = ipaddr_opt->ip->peer_addr;
- ipcp->delay_ack = 1;
+ ipcp->delay_ack = !ipcp->started;
return IPCP_OPT_ACK;
}
@@ -191,8 +191,6 @@ static void if_up(struct ppp_t *ppp)
if (ioctl(ppp->unit_fd, PPPIOCSNPMODE, &np))
log_ppp_error("ipcp: failed to set NP mode: %s\n", strerror(errno));
-
- ipcp_send_ack(ppp);
}
static void ipaddr_print(void (*print)(const char *fmt,...),struct ipcp_option_t *opt, uint8_t *ptr)