diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2023-11-18 17:59:56 +0000 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2023-11-18 17:59:56 +0000 |
commit | 3f52f47b9b698045b3948a9321264390b268b3d8 (patch) | |
tree | c941cd1fbbe17c0961d920a724e8901e7afcb20d /sys/src | |
parent | 14f0eae74a9a9f5c5caebbecb11b136a12e65a22 (diff) |
ip/ipconfig: allow "del" verb in addition to "remove"
Diffstat (limited to 'sys/src')
-rw-r--r-- | sys/src/cmd/ip/ipconfig/ipconfig.h | 4 | ||||
-rw-r--r-- | sys/src/cmd/ip/ipconfig/ipv6.c | 2 | ||||
-rw-r--r-- | sys/src/cmd/ip/ipconfig/main.c | 36 |
3 files changed, 24 insertions, 18 deletions
diff --git a/sys/src/cmd/ip/ipconfig/ipconfig.h b/sys/src/cmd/ip/ipconfig/ipconfig.h index ef3c597c0..151a2335f 100644 --- a/sys/src/cmd/ip/ipconfig/ipconfig.h +++ b/sys/src/cmd/ip/ipconfig/ipconfig.h @@ -3,7 +3,7 @@ enum { /* commands */ Vadd, - Vremove, + Vdel, Vunbind, Vaddpref6, Vra6, @@ -123,7 +123,7 @@ int ip4cfg(void); void ipunconfig(void); void adddefroute(uchar*, uchar*, uchar*, uchar*); -void removedefroute(uchar*, uchar*, uchar*, uchar*); +void deldefroute(uchar*, uchar*, uchar*, uchar*); int myip(Ipifc*, uchar*); int isether(void); diff --git a/sys/src/cmd/ip/ipconfig/ipv6.c b/sys/src/cmd/ip/ipconfig/ipv6.c index a622e3877..e64acd073 100644 --- a/sys/src/cmd/ip/ipconfig/ipv6.c +++ b/sys/src/cmd/ip/ipconfig/ipv6.c @@ -662,7 +662,7 @@ recvrahost(uchar buf[], int pktlen) DEBUG("purging RA from %I on %s; pfx %I %M", r->src, conf.dev, r->laddr, r->mask); if(!noconfig && validip(r->gaddr)) - removedefroute(r->gaddr, conf.lladdr, r->laddr, r->mask); + deldefroute(r->gaddr, conf.lladdr, r->laddr, r->mask); *rr = r->next; free(r); continue; diff --git a/sys/src/cmd/ip/ipconfig/main.c b/sys/src/cmd/ip/ipconfig/main.c index 256485032..4ea68d1a7 100644 --- a/sys/src/cmd/ip/ipconfig/main.c +++ b/sys/src/cmd/ip/ipconfig/main.c @@ -45,7 +45,7 @@ static void controldevice(void); extern void pppbinddev(void); static void doadd(void); -static void doremove(void); +static void dodel(void); static void dounbind(void); static void ndbconfig(void); @@ -171,7 +171,7 @@ parseverb(char *name) { static char *verbs[] = { [Vadd] "add", - [Vremove] "remove", + [Vdel] "del", [Vunbind] "unbind", [Vether] "ether", [Vgbe] "gbe", @@ -188,6 +188,10 @@ parseverb(char *name) for(i = 0; i < nelem(verbs); i++) if(verbs[i] != nil && strcmp(name, verbs[i]) == 0) return i; + + if(strcmp(name, "remove")==0) + return Vdel; + return -1; } @@ -248,7 +252,7 @@ parseargs(int argc, char **argv) case Vpkt: sysfatal("medium %s already specified", conf.type); case Vadd: - case Vremove: + case Vdel: case Vunbind: case Vaddpref6: case Vra6: @@ -262,7 +266,7 @@ parseargs(int argc, char **argv) /* get verb-dependent arguments */ switch (action) { case Vadd: - case Vremove: + case Vdel: case Vunbind: parsenorm(argc, argv); break; @@ -462,12 +466,12 @@ main(int argc, char **argv) findmyifc(); case Vunbind: break; - case Vremove: + case Vdel: /* * interface gone, just remove * default route and ndb entries. */ - doremove(); + dodel(); exits(nil); } if(myifc == nil) @@ -493,8 +497,8 @@ main(int argc, char **argv) mkclientid(); doipv6(action); break; - case Vremove: - doremove(); + case Vdel: + dodel(); break; case Vunbind: dounbind(); @@ -549,20 +553,21 @@ doadd(void) } static void -doremove(void) +dodel(void) { if(!validip(conf.laddr)) - sysfatal("remove requires an address"); + sysfatal("del requires an address"); - DEBUG("removing address %I %M on %s", conf.laddr, conf.mask, conf.dev); + DEBUG("deleting address %I %M on %s", conf.laddr, conf.mask, conf.dev); if(noconfig) return; if(validip(conf.gaddr)) - removedefroute(conf.gaddr, conf.laddr, conf.laddr, conf.mask); + deldefroute(conf.gaddr, conf.laddr, conf.laddr, conf.mask); + /* use "remove" verb instead of "del" for older kernels */ if(conf.cfd >= 0 && fprint(conf.cfd, "remove %I %M", conf.laddr, conf.mask) < 0) - warning("can't remove %I %M: %r", conf.laddr, conf.mask); + warning("can't delete %I %M: %r", conf.laddr, conf.mask); /* remove ndb entries matching our ip address */ putndb(0); @@ -691,7 +696,7 @@ ipunconfig(void) if(!validip(conf.mask)) ipmove(conf.mask, defmask(conf.laddr)); - doremove(); + dodel(); ipmove(conf.laddr, IPnoaddr); ipmove(conf.raddr, IPnoaddr); @@ -870,8 +875,9 @@ adddefroute(uchar *gaddr, uchar *ia, uchar *src, uchar *smask) } void -removedefroute(uchar *gaddr, uchar *ia, uchar *src, uchar *smask) +deldefroute(uchar *gaddr, uchar *ia, uchar *src, uchar *smask) { + /* use "remove" verb instead of "del" for older kernels */ defroutectl("remove", gaddr, ia, src, smask); } |