M ip/ipmux.c => ip/ipmux.c +7 -1
@@ 724,7 724,13 @@ yes:
runlock(f);
if(c != nil){
- qpass(c->rq, bp);
+ /* tack on interface address */
+ bp = padblock(bp, IPaddrlen);
+ ipmove(bp->rp, ia);
+ bp = concatblock(bp);
+ if(bp != nil)
+ if (qpass(c->rq, bp) < 0)
+ print("Q");
return;
}
M ip/iproute.c => ip/iproute.c +3 -2
@@ 743,9 743,10 @@ routeflush(Fs *f, Route *r, char *tag)
if(routeflush(f, r->right, tag))
return 1;
if((r->type & Rifc) == 0){
- if(tag == nil || strncmp(tag, r->tag, sizeof(r->tag)) == 0)
+ if(tag == nil || strncmp(tag, r->tag, sizeof(r->tag)) == 0){
delroute(f, r, 0);
- return 1;
+ return 1;
+ }
}
return 0;
}