m_get inits m_off; remove TCPTRUEOOB
authorBill Joy <root@ucbvax.Berkeley.EDU>
Wed, 6 Oct 1982 10:51:26 +0000 (02:51 -0800)
committerBill Joy <root@ucbvax.Berkeley.EDU>
Wed, 6 Oct 1982 10:51:26 +0000 (02:51 -0800)
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
usr/src/sys/deprecated/netimp/if_imphost.c
usr/src/sys/netinet/ip_input.c
usr/src/sys/netinet/tcp_input.c
usr/src/sys/netinet/tcp_output.c
usr/src/sys/netinet/tcp_subr.c
usr/src/sys/netinet/tcp_timer.c
usr/src/sys/netinet/tcp_usrreq.c

index 261c989..927f1f3 100644 (file)
@@ -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
 
 #include "imp.h"
 #if NIMP > 0
@@ -451,7 +451,6 @@ impoutput(ifp, m0, dst)
                        goto drop;
                }
                m->m_next = m0;
                        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);
                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;
        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;
                m->m_len = sizeof(struct control_leader);
                cp = mtod(m, struct control_leader *);
                cp->dl_format = IMP_NFF;
index 9388b53..8d37594 100644 (file)
@@ -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
 
 #include "imp.h"
 #if NIMP > 0
@@ -86,7 +86,6 @@ hostenter(addr)
                        return (0);
                }
                *mprev = m;
                        return (0);
                }
                *mprev = m;
-               m->m_off = MMINOFF;
                hp0 = &mtod(m, struct hmbuf *)->hm_hosts[hash];
        }
        mtod(dtom(hp0), struct hmbuf *)->hm_count++;
                hp0 = &mtod(m, struct hmbuf *)->hm_hosts[hash];
        }
        mtod(dtom(hp0), struct hmbuf *)->hm_count++;
index a3850b3..bb78cf0 100644 (file)
@@ -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"
 
 #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;
        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;
                fp = mtod(t, struct ipq *);
                insque(fp, &ipq);
                fp->ipq_ttl = IPFRAGTTL;
index b173e14..34476e6 100644 (file)
@@ -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"
 
 #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_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);
                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;
 
                if (m == 0)
                        goto drop;
-               m->m_off = MMINOFF;
                m->m_len = sizeof (struct sockaddr_in);
                if (tiflags & TH_RST)
                        goto drop;
                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;
                            (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;
                }
                /*
                        tp->t_oobflags &= ~TCPOOB_HAVEDATA;
                }
                /*
@@ -766,58 +761,6 @@ tcp_dooptions(tp, om)
                        tp->t_maxseg = ntohs((u_short)tp->t_maxseg);
 #endif
                        break;
                        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);
                }
        }
        (void) m_free(om);
index 95813f5..3fc990b 100644 (file)
@@ -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"
 
 #include "../h/param.h"
 #include "../h/systm.h"
 char *tcpstates[]; /* XXX */
 
 /*
 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, };
 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.
 
 /*
  * 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;
 
        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
 
        /*
         * Calculate available window in i, and also amount
@@ -188,7 +175,7 @@ send:
                        goto noopt;
                opt = tcp_initopt;
                optlen = sizeof (tcp_initopt);
                        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
 #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;
        }
                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) {
                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;
                }
                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);
                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++;
                while (m0->m_len & 0x3) {
                        *opt++ = TCPOPT_EOL;
                        m0->m_len++;
index a868b3c..4629c6f 100644 (file)
@@ -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"
 
 #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_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 *);
                m->m_len = sizeof (struct tcpiphdr) + 1;
                *mtod(m, struct tcpiphdr *) = *ti;
                ti = mtod(m, struct tcpiphdr *);
index ad650ca..19cbf04 100644 (file)
@@ -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"
 
 #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;
        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
        }
 }
        }
 }
index 580a85a..51eb21a 100644 (file)
@@ -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"
 
 #include "../h/param.h"
 #include "../h/systm.h"
@@ -238,27 +238,12 @@ tcp_usrreq(so, req, m, nam, opt)
                break;
 
        case PRU_SENDOOB:
                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);
                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;
                tp->t_force = 1;
                error = tcp_output(tp);
                tp->t_force = 0;