diff options
-rw-r--r-- | accel-pppd/ctrl/ipoe/arp.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/accel-pppd/ctrl/ipoe/arp.c b/accel-pppd/ctrl/ipoe/arp.c index 4ea6688..ee4ccde 100644 --- a/accel-pppd/ctrl/ipoe/arp.c +++ b/accel-pppd/ctrl/ipoe/arp.c @@ -133,7 +133,16 @@ struct arp_serv *arpd_start(struct ipoe_serv *ipoe) int sock; struct sockaddr_ll addr; struct arp_serv *s; - int f = 1; + int f = 1, fd; + char fname[1024]; + + sprintf(fname, "/proc/sys/net/ipv4/conf/%s/proxy_arp", ipoe->ifname); + fd = open(fname, O_WRONLY); + if (fd >= 0) { + fname[0] = '0'; + write(fd, fname, 1); + close(fd); + } sock = socket(PF_PACKET, SOCK_DGRAM, 0); if (sock < 0) { |