From 611eb50aea000e16907a9e0cf58fa5ccce6aee34 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Mon, 30 Mar 1998 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1998-03-30 --- ip/ipifc.c | 21 +++++++++++++++++++++ ip/pktmedium.c | 4 ++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/ip/ipifc.c b/ip/ipifc.c index 4fed051e7b3abc1c4332d6ee06e985bd2d5b8a0e..f17e42e18984fffa57112473ae13b153f5fe156e 100644 --- a/ip/ipifc.c +++ b/ip/ipifc.c @@ -285,6 +285,25 @@ ipifcclose(Conv *c) unlock(c); } +/* + * change an interface's mtu + */ +char* +ipifcsetmtu(Ipifc *ifc, char **argv, int argc) +{ + int mtu; + + if(argc < 2) + return Ebadarg; + if(ifc->m == nil) + return Ebadarg; + mtu = strtoul(argv[1], 0, 0); + if(mtu < ifc->m->minmtu || mtu > ifc->m->maxmtu) + return Ebadarg; + ifc->maxmtu = mtu; + return nil; +} + /* * add an address to an interface. */ @@ -566,6 +585,8 @@ ipifcctl(Conv* c, char**argv, int argc) return ipifcjoinmulti(ifc, argv, argc); else if(strcmp(argv[0], "leavemulti") == 0) return ipifcleavemulti(ifc, argv, argc); + else if(strcmp(argv[0], "mtu") == 0) + return ipifcsetmtu(ifc, argv, argc); else if(strcmp(argv[0], "iprouting") == 0){ i = 1; if(argc > 1) diff --git a/ip/pktmedium.c b/ip/pktmedium.c index 4da21e2e2d537b4241bba4f037da259a4845d1fc..6dc1a2ba336232551b66c3324efa10ba8193829b 100644 --- a/ip/pktmedium.c +++ b/ip/pktmedium.c @@ -18,8 +18,8 @@ Medium pktmedium = { "pkt", 14, - 60, - 1514, + 40, + 4*1024, 6, pktbind, pktunbind,