From 77a4e3caeb77027cc4fce9764220ece6c548ca80 Mon Sep 17 00:00:00 2001 From: Bill Joy Date: Wed, 6 Oct 1982 02:51:26 -0800 Subject: [PATCH] m_get inits m_off; remove TCPTRUEOOB SCCS-vsn: sys/deprecated/netimp/if_imp.c 4.38 SCCS-vsn: sys/deprecated/netimp/if_imphost.c 4.14 SCCS-vsn: sys/netinet/ip_input.c 1.50 SCCS-vsn: sys/netinet/tcp_input.c 1.75 SCCS-vsn: sys/netinet/tcp_output.c 4.45 SCCS-vsn: sys/netinet/tcp_subr.c 4.29 SCCS-vsn: sys/netinet/tcp_timer.c 4.25 SCCS-vsn: sys/netinet/tcp_usrreq.c 1.64 --- usr/src/sys/deprecated/netimp/if_imp.c | 4 +- usr/src/sys/deprecated/netimp/if_imphost.c | 3 +- usr/src/sys/netinet/ip_input.c | 3 +- usr/src/sys/netinet/tcp_input.c | 61 +--------------------- usr/src/sys/netinet/tcp_output.c | 52 ++---------------- usr/src/sys/netinet/tcp_subr.c | 3 +- usr/src/sys/netinet/tcp_timer.c | 15 +----- usr/src/sys/netinet/tcp_usrreq.c | 17 +----- 8 files changed, 12 insertions(+), 146 deletions(-) diff --git a/usr/src/sys/deprecated/netimp/if_imp.c b/usr/src/sys/deprecated/netimp/if_imp.c index 261c989f92..927f1f37f2 100644 --- a/usr/src/sys/deprecated/netimp/if_imp.c +++ b/usr/src/sys/deprecated/netimp/if_imp.c @@ -1,4 +1,4 @@ -/* if_imp.c 4.37 82/06/20 */ +/* if_imp.c 4.38 82/10/05 */ #include "imp.h" #if NIMP > 0 @@ -451,7 +451,6 @@ impoutput(ifp, m0, dst) goto drop; } m->m_next = m0; - m->m_off = MMINOFF; m->m_len = sizeof(struct imp_leader); } else { m->m_off -= sizeof(struct imp_leader); @@ -569,7 +568,6 @@ impnoops(sc) for (i = 0; i < IMP_DROPCNT + 1; i++ ) { if ((m = m_getclr(M_DONTWAIT)) == 0) return; - m->m_off = MMINOFF; m->m_len = sizeof(struct control_leader); cp = mtod(m, struct control_leader *); cp->dl_format = IMP_NFF; diff --git a/usr/src/sys/deprecated/netimp/if_imphost.c b/usr/src/sys/deprecated/netimp/if_imphost.c index 9388b537e2..8d37594fb2 100644 --- a/usr/src/sys/deprecated/netimp/if_imphost.c +++ b/usr/src/sys/deprecated/netimp/if_imphost.c @@ -1,4 +1,4 @@ -/* if_imphost.c 4.13 82/06/20 */ +/* if_imphost.c 4.14 82/10/05 */ #include "imp.h" #if NIMP > 0 @@ -86,7 +86,6 @@ hostenter(addr) return (0); } *mprev = m; - m->m_off = MMINOFF; hp0 = &mtod(m, struct hmbuf *)->hm_hosts[hash]; } mtod(dtom(hp0), struct hmbuf *)->hm_count++; diff --git a/usr/src/sys/netinet/ip_input.c b/usr/src/sys/netinet/ip_input.c index a3850b3089..bb78cf004d 100644 --- a/usr/src/sys/netinet/ip_input.c +++ b/usr/src/sys/netinet/ip_input.c @@ -1,4 +1,4 @@ -/* ip_input.c 1.49 82/09/12 */ +/* ip_input.c 1.50 82/10/05 */ #include "../h/param.h" #include "../h/systm.h" @@ -233,7 +233,6 @@ ip_reass(ip, fp) if (fp == 0) { if ((t = m_get(M_WAIT)) == NULL) goto dropfrag; - t->m_off = MMINOFF; fp = mtod(t, struct ipq *); insque(fp, &ipq); fp->ipq_ttl = IPFRAGTTL; diff --git a/usr/src/sys/netinet/tcp_input.c b/usr/src/sys/netinet/tcp_input.c index b173e14448..34476e6d78 100644 --- a/usr/src/sys/netinet/tcp_input.c +++ b/usr/src/sys/netinet/tcp_input.c @@ -1,4 +1,4 @@ -/* tcp_input.c 1.74 82/09/26 */ +/* tcp_input.c 1.75 82/10/05 */ #include "../h/param.h" #include "../h/systm.h" @@ -104,7 +104,6 @@ tcp_input(m0) om = m_get(M_DONTWAIT); if (om == 0) goto drop; - om->m_off = MMINOFF; om->m_len = off - sizeof (struct tcphdr); { caddr_t op = mtod(m, caddr_t) + sizeof (struct tcpiphdr); bcopy(op, mtod(om, caddr_t), (unsigned)om->m_len); @@ -207,7 +206,6 @@ tcp_input(m0) if (m == 0) goto drop; - m->m_off = MMINOFF; m->m_len = sizeof (struct sockaddr_in); if (tiflags & TH_RST) goto drop; @@ -600,10 +598,7 @@ step6: (tp->rcv_up - tp->rcv_nxt) - 1; if (so->so_oobmark == 0) so->so_state |= SS_RCVATMARK; -#ifdef TCPTRUEOOB - if ((tp->t_flags & TF_DOOOB) == 0) -#endif - sohasoutofband(so); + sohasoutofband(so); tp->t_oobflags &= ~TCPOOB_HAVEDATA; } /* @@ -766,58 +761,6 @@ tcp_dooptions(tp, om) tp->t_maxseg = ntohs((u_short)tp->t_maxseg); #endif break; - -#ifdef TCPTRUEOOB - case TCPOPT_WILLOOB: - tp->t_flags |= TF_DOOOB; -printf("tp %x dooob\n", tp); - break; - - case TCPOPT_OOBDATA: { - int seq; - register struct socket *so = tp->t_inpcb->inp_socket; - tcp_seq mark; - - if (optlen != 8) - continue; - seq = cp[2]; - if (seq < tp->t_iobseq) - seq += 256; -printf("oobdata cp[2] %d iobseq %d seq %d\n", cp[2], tp->t_iobseq, seq); - if (seq - tp->t_iobseq > 128) { -printf("bad seq\n"); - tp->t_oobflags |= TCPOOB_OWEACK; - break; - } - tp->t_iobseq = cp[2]; - tp->t_iobc = cp[3]; - mark = *(tcp_seq *)(cp + 4); -#if vax || pdp11 - mark = ntohl(mark); -#endif - so->so_oobmark = so->so_rcv.sb_cc + (mark-tp->rcv_nxt); - if (so->so_oobmark == 0) - so->so_state |= SS_RCVATMARK; -printf("take oob data %x input iobseq now %x\n", tp->t_iobc, tp->t_iobseq); - sohasoutofband(so); - break; - } - - case TCPOPT_OOBACK: { - int seq; - - if (optlen != 4) - continue; - if (tp->t_oobseq != cp[2]) { -printf("wrong ack\n"); - break; - } -printf("take oob ack %x and cancel rexmt\n", cp[2]); - tp->t_oobflags &= ~TCPOOB_NEEDACK; - tp->t_timer[TCPT_OOBREXMT] = 0; - break; - } -#endif TCPTRUEOOB } } (void) m_free(om); diff --git a/usr/src/sys/netinet/tcp_output.c b/usr/src/sys/netinet/tcp_output.c index 95813f5d3f..3fc990ba0f 100644 --- a/usr/src/sys/netinet/tcp_output.c +++ b/usr/src/sys/netinet/tcp_output.c @@ -1,4 +1,4 @@ -/* tcp_output.c 4.44 82/08/02 */ +/* tcp_output.c 4.45 82/10/05 */ #include "../h/param.h" #include "../h/systm.h" @@ -25,15 +25,9 @@ char *tcpstates[]; /* XXX */ /* - * Initial options: indicate max segment length 1/2 of space - * allocated for receive; if TCPTRUEOOB is defined, indicate - * willingness to do true out-of-band. + * Initial options. */ -#ifndef TCPTRUEOOB u_char tcp_initopt[4] = { TCPOPT_MAXSEG, 4, 0x0, 0x0, }; -#else -u_char tcp_initopt[6] = { TCPOPT_MAXSEG, 4, 0x0, 0x0, TCPOPT_WILLOOB, 2 }; -#endif /* * Tcp output routine: figure out what should be sent and send it. @@ -97,13 +91,6 @@ again: if (tp->t_flags&TF_ACKNOW) goto send; -#ifdef TCPTRUEOOB - /* - * Send if an out of band data or ack should be transmitted. - */ - if (tp->t_oobflags&(TCPOOB_OWEACK|TCPOOB_NEEDACK))) - goto send; -#endif /* * Calculate available window in i, and also amount @@ -188,7 +175,7 @@ send: goto noopt; opt = tcp_initopt; optlen = sizeof (tcp_initopt); - *(u_short *)(opt + 2) = so->so_rcv.sb_hiwat / 2; + *(u_short *)(opt + 2) = MIN(so->so_rcv.sb_hiwat / 2, 1024); #if vax *(u_short *)(opt + 2) = htons(*(u_short *)(opt + 2)); #endif @@ -198,12 +185,7 @@ send: opt = mtod(tp->t_tcpopt, u_char *); optlen = tp->t_tcpopt->m_len; } -#ifndef TCPTRUEOOB - if (opt) -#else - if (opt || (tp->t_oobflags&(TCPOOB_OWEACK|TCPOOB_NEEDACK))) -#endif - { + if (opt) { m0 = m->m_next; m->m_next = m_get(M_DONTWAIT); if (m->m_next == 0) { @@ -213,35 +195,9 @@ send: } m->m_next->m_next = m0; m0 = m->m_next; - m0->m_off = MMINOFF; m0->m_len = optlen; bcopy((caddr_t)opt, mtod(m0, caddr_t), optlen); opt = (u_char *)(mtod(m0, caddr_t) + optlen); -#ifdef TCPTRUEOOB - if (tp->t_oobflags&TCPOOB_OWEACK) { -printf("tp %x send OOBACK for %x\n", tp->t_iobseq); - *opt++ = TCPOPT_OOBACK; - *opt++ = 3; - *opt++ = tp->t_iobseq; - m0->m_len += 3; - tp->t_oobflags &= ~TCPOOB_OWEACK; - /* sender should rexmt oob to force ack repeat */ - } - if (tp->t_oobflags&TCPOOB_NEEDACK) { -printf("tp %x send OOBDATA seq %x data %x\n", tp->t_oobseq, tp->t_oobc); - *opt++ = TCPOPT_OOBDATA; - *opt++ = 8; - *opt++ = tp->t_oobseq; - *opt++ = tp->t_oobc; - *(tcp_seq *)opt = tp->t_oobmark - tp->snd_nxt; -#ifdef vax - *(tcp_seq *)opt = htonl((unsigned)*(tcp_seq *)opt); -#endif - m0->m_len += 8; - TCPT_RANGESET(tp->t_timer[TCPT_OOBREXMT], - tcp_beta * tp->t_srtt, TCPTV_MIN, TCPTV_MAX); - } -#endif while (m0->m_len & 0x3) { *opt++ = TCPOPT_EOL; m0->m_len++; diff --git a/usr/src/sys/netinet/tcp_subr.c b/usr/src/sys/netinet/tcp_subr.c index a868b3cbef..4629c6fd29 100644 --- a/usr/src/sys/netinet/tcp_subr.c +++ b/usr/src/sys/netinet/tcp_subr.c @@ -1,4 +1,4 @@ -/* tcp_subr.c 4.28 82/06/26 */ +/* tcp_subr.c 4.29 82/10/05 */ #include "../h/param.h" #include "../h/systm.h" @@ -104,7 +104,6 @@ tcp_respond(tp, ti, ack, seq, flags) m = m_get(M_DONTWAIT); if (m == 0) return; - m->m_off = MMINOFF; m->m_len = sizeof (struct tcpiphdr) + 1; *mtod(m, struct tcpiphdr *) = *ti; ti = mtod(m, struct tcpiphdr *); diff --git a/usr/src/sys/netinet/tcp_timer.c b/usr/src/sys/netinet/tcp_timer.c index ad650caae6..19cbf04da9 100644 --- a/usr/src/sys/netinet/tcp_timer.c +++ b/usr/src/sys/netinet/tcp_timer.c @@ -1,4 +1,4 @@ -/* tcp_timer.c 4.24 82/06/26 */ +/* tcp_timer.c 4.25 82/10/05 */ #include "../h/param.h" #include "../h/systm.h" @@ -192,18 +192,5 @@ printf("rexmt set to %d\n", tp->t_timer[TCPT_REXMT]); dropit: tcp_drop(tp, ETIMEDOUT); return; - -#ifdef TCPTRUEOOB - /* - * Out-of-band data retransmit timer. - */ - case TCPT_OOBREXMT: - if (tp->t_flags & TF_NOOPT) - return; - (void) tcp_output(tp); - TCPT_RANGESET(tp->t_timer[TCPT_OOBREXMT], - 2 * tp->t_srtt, TCPTV_MIN, TCPTV_MAX); - return; -#endif } } diff --git a/usr/src/sys/netinet/tcp_usrreq.c b/usr/src/sys/netinet/tcp_usrreq.c index 580a85af98..51eb21a08e 100644 --- a/usr/src/sys/netinet/tcp_usrreq.c +++ b/usr/src/sys/netinet/tcp_usrreq.c @@ -1,4 +1,4 @@ -/* tcp_usrreq.c 1.63 82/10/05 */ +/* tcp_usrreq.c 1.64 82/10/05 */ #include "../h/param.h" #include "../h/systm.h" @@ -238,27 +238,12 @@ tcp_usrreq(so, req, m, nam, opt) break; case PRU_SENDOOB: -#ifdef TCPTRUEOOB - if (tp->t_flags & TF_DOOOB) { - tp->t_oobseq++; - tp->t_oobc = *mtod(m, caddr_t); - tp->t_oobmark = tp->snd_una + so->so_snd.sb_cc; - tp->t_oobflags |= TCPOOB_NEEDACK; - /* what to do ...? */ - if (error = tcp_output(tp)) - break; - } -#endif if (sbspace(&so->so_snd) < -512) { error = ENOBUFS; break; } tp->snd_up = tp->snd_una + so->so_snd.sb_cc + 1; sbappend(&so->so_snd, m); -#ifdef notdef - if (tp->t_flags & TF_PUSH) - tp->snd_end = tp->snd_una + so->so_snd.sb_cc; -#endif tp->t_force = 1; error = tcp_output(tp); tp->t_force = 0; -- 2.20.1