From 74d4d8a26e876e54f5070d993478adde86cef34f Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Tue, 15 Mar 2016 22:10:54 +0100 Subject: [PATCH] pppoe: Add support for -c and -C to enable/disable header compression (thanks k0ga) --- sys/man/8/ppp | 2 +- sys/src/cmd/ip/pppoe.c | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/sys/man/8/ppp b/sys/man/8/ppp index 2ca24b1db..9237585d4 100644 --- a/sys/man/8/ppp +++ b/sys/man/8/ppp @@ -34,7 +34,7 @@ ppp, pppoe, pptp, pptpd \- point-to-point protocol .PP .B ip/pppoe [ -.B -Pd +.B -PdcC ] [ .B -A diff --git a/sys/src/cmd/ip/pppoe.c b/sys/src/cmd/ip/pppoe.c index 6cd3f2570..34bfb00f9 100644 --- a/sys/src/cmd/ip/pppoe.c +++ b/sys/src/cmd/ip/pppoe.c @@ -28,11 +28,12 @@ uchar *cookie; int cookielen; uchar etherdst[6]; int mtu = 1492; +int pktcompress, hdrcompress; void usage(void) { - fprint(2, "usage: pppoe [-Pd] [-A acname] [-S srvname] [-k keyspec] [-m mtu] [-x pppnet] [ether0]\n"); + fprint(2, "usage: pppoe [-PdcC] [-A acname] [-S srvname] [-k keyspec] [-m mtu] [-x pppnet] [ether0]\n"); exits("usage"); } @@ -75,6 +76,12 @@ main(int argc, char **argv) case 'k': keyspec = EARGF(usage()); break; + case 'c': + pktcompress = 1; + break; + case 'C': + hdrcompress = 1; + break; case 'x': pppnetmtpt = EARGF(usage()); break; @@ -526,6 +533,10 @@ execppp(int fd) argv[argc++] = "-d"; if(primary) argv[argc++] = "-P"; + if(hdrcompress) + argv[argc++] = "-C"; + if(pktcompress) + argv[argc++] = "-c"; if(pppnetmtpt){ argv[argc++] = "-x"; argv[argc++] = pppnetmtpt;