diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-10-23 00:31:42 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2016-10-23 00:31:42 +0200 |
commit | 055f8370432d2c128ce8fd28b059320181d8f3ef (patch) | |
tree | 0508e40bd051cd4877dc5fa4de31d60ed5b17e57 /sys/src/9/ip | |
parent | 75c6ab45e02640959260fa98449180e9408141bc (diff) |
ip: simplify code as packblock() and concatblock() will never error
Diffstat (limited to 'sys/src/9/ip')
-rw-r--r-- | sys/src/9/ip/gre.c | 12 | ||||
-rw-r--r-- | sys/src/9/ip/il.c | 9 | ||||
-rw-r--r-- | sys/src/9/ip/ipmux.c | 5 | ||||
-rw-r--r-- | sys/src/9/ip/rudp.c | 9 | ||||
-rw-r--r-- | sys/src/9/ip/tcp.c | 5 | ||||
-rw-r--r-- | sys/src/9/ip/udp.c | 11 |
6 files changed, 13 insertions, 38 deletions
diff --git a/sys/src/9/ip/gre.c b/sys/src/9/ip/gre.c index dd7ce5b96..ff1430734 100644 --- a/sys/src/9/ip/gre.c +++ b/sys/src/9/ip/gre.c @@ -647,17 +647,7 @@ greiput(Proto *proto, Ipifc *, Block *bp) return; } - /* - * Can't delimit packet so pull it all into one block. - */ - if(qlen(c->rq) > GREqlen) - freeb(bp); - else{ - bp = concatblock(bp); - if(bp == 0) - panic("greiput"); - qpass(c->rq, bp); - } + qpass(c->rq, bp); } int diff --git a/sys/src/9/ip/il.c b/sys/src/9/ip/il.c index 89ec60bd0..0368da2e2 100644 --- a/sys/src/9/ip/il.c +++ b/sys/src/9/ip/il.c @@ -923,17 +923,12 @@ ilpullup(Conv *s) bp->list = nil; dlen = nhgets(oh->illen)-IL_HDRSIZE; bp = trimblock(bp, IL_IPSIZE+IL_HDRSIZE, dlen); + /* * Upper levels don't know about multiple-block * messages so copy all into one (yick). */ - bp = concatblock(bp); - if(bp == 0) - panic("ilpullup"); - bp = packblock(bp); - if(bp == 0) - panic("ilpullup2"); - qpass(s->rq, bp); + qpass(s->rq, packblock(concatblock(bp))); } qunlock(&ic->outo); } diff --git a/sys/src/9/ip/ipmux.c b/sys/src/9/ip/ipmux.c index ef45ea0ac..2eeca4153 100644 --- a/sys/src/9/ip/ipmux.c +++ b/sys/src/9/ip/ipmux.c @@ -745,10 +745,7 @@ yes: /* tack on interface address */ bp = padblock(bp, IPaddrlen); ipmove(bp->rp, ifc->lifc->local); - bp = concatblock(bp); - if(bp != nil) - if(qpass(c->rq, bp) < 0) - print("Q"); + qpass(c->rq, concatblock(bp)); return; } diff --git a/sys/src/9/ip/rudp.c b/sys/src/9/ip/rudp.c index ff17c257d..739126f44 100644 --- a/sys/src/9/ip/rudp.c +++ b/sys/src/9/ip/rudp.c @@ -574,17 +574,16 @@ rudpiput(Proto *rudp, Ipifc *ifc, Block *bp) } break; } - if(bp->next) - bp = concatblock(bp); if(qfull(c->rq)) { netlog(f, Logrudp, "rudp: qfull %I.%d -> %I.%d\n", raddr, rport, laddr, lport); freeblist(bp); - } - else + } else { + if(bp->next) + bp = concatblock(bp); qpass(c->rq, bp); - + } qunlock(ucb); } diff --git a/sys/src/9/ip/tcp.c b/sys/src/9/ip/tcp.c index 2fb8acd85..4147f36cf 100644 --- a/sys/src/9/ip/tcp.c +++ b/sys/src/9/ip/tcp.c @@ -2437,10 +2437,7 @@ reset: * receive queue */ if(bp) { - bp = packblock(bp); - if(bp == nil) - panic("tcp packblock"); - qpassnolim(s->rq, bp); + qpassnolim(s->rq, packblock(bp)); bp = nil; } tcb->rcv.nxt += length; diff --git a/sys/src/9/ip/udp.c b/sys/src/9/ip/udp.c index b897d1e4b..a10ce02f5 100644 --- a/sys/src/9/ip/udp.c +++ b/sys/src/9/ip/udp.c @@ -495,18 +495,15 @@ udpiput(Proto *udp, Ipifc *ifc, Block *bp) break; } - if(bp->next) - bp = concatblock(bp); - if(qfull(c->rq)){ - qunlock(c); netlog(f, Logudp, "udp: qfull %I.%d -> %I.%d\n", raddr, rport, laddr, lport); freeblist(bp); - return; + } else { + if(bp->next) + bp = concatblock(bp); + qpass(c->rq, bp); } - - qpass(c->rq, bp); qunlock(c); } |