From owner-freebsd-bugs Mon May 12 14:10:03 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id OAA05177 for bugs-outgoing; Mon, 12 May 1997 14:10:03 -0700 (PDT) Received: (from gnats@localhost) by hub.freebsd.org (8.8.5/8.8.5) id OAA05171; Mon, 12 May 1997 14:10:01 -0700 (PDT) Resent-Date: Mon, 12 May 1997 14:10:01 -0700 (PDT) Resent-Message-Id: <199705122110.OAA05171@hub.freebsd.org> Resent-From: gnats (GNATS Management) Resent-To: freebsd-bugs Resent-Reply-To: FreeBSD-gnats@FreeBSD.ORG, luigi@iet.unipi.it Received: from prova.iet.unipi.it (prova1.iet.unipi.it [131.114.9.11]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id OAA05120 for ; Mon, 12 May 1997 14:09:29 -0700 (PDT) Received: (from luigi@localhost) by prova.iet.unipi.it (8.8.5/8.8.5) id XAA00425; Mon, 12 May 1997 23:09:59 +0200 (CEST) Message-Id: <199705122109.XAA00425@prova.iet.unipi.it> Date: Mon, 12 May 1997 23:09:59 +0200 (CEST) From: luigi@iet.unipi.it Reply-To: luigi@iet.unipi.it To: FreeBSD-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: 3.2 Subject: kern/3584: small cleanup to tcp_input.c Sender: owner-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >Number: 3584 >Category: kern >Synopsis: cleanup TCP_REASS macro in tcp_input.c >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Class: change-request >Submitter-Id: current-users >Arrival-Date: Mon May 12 14:10:01 PDT 1997 >Last-Modified: >Originator: Luigi Rizzo >Organization: DEIT >Release: FreeBSD 2.2.1-RELEASE i386 >Environment: netinet code, 2.1, 2.2 and 3.0 >Description: The TCP_REASS macro is defined two times, depending on the value of TCP_ACK_HACK. Since the macro is quite long, I think this definition is preferable (and consistent with the convention for multiline macros in style(9) ). Note BTW that the TUBA_INCLUDE stuff are still there, but obsolete. Perhaps it is time to remove them ? >How-To-Repeat: -- >Fix: diff -u ../netinet.221R/tcp_input.c tcp_input.c --- ../netinet.221R/tcp_input.c Tue Nov 12 00:40:57 1996 +++ tcp_input.c Mon May 12 22:54:33 1997 @@ -105,41 +105,25 @@ * when segments are out of order (so fast retransmit can work). */ #ifdef TCP_ACK_HACK -#define TCP_REASS(tp, ti, m, so, flags) { \ - if ((ti)->ti_seq == (tp)->rcv_nxt && \ - (tp)->seg_next == (struct tcpiphdr *)(tp) && \ - (tp)->t_state == TCPS_ESTABLISHED) { \ - if (ti->ti_flags & TH_PUSH) \ - tp->t_flags |= TF_ACKNOW; \ - else \ - tp->t_flags |= TF_DELACK; \ - (tp)->rcv_nxt += (ti)->ti_len; \ - flags = (ti)->ti_flags & TH_FIN; \ - tcpstat.tcps_rcvpack++;\ - tcpstat.tcps_rcvbyte += (ti)->ti_len;\ - sbappend(&(so)->so_rcv, (m)); \ - sorwakeup(so); \ - } else { \ - (flags) = tcp_reass((tp), (ti), (m)); \ - tp->t_flags |= TF_ACKNOW; \ - } \ -} +#define TCP_ACK_FLAG ((ti->ti_flags & TH_PUSH) ? TF_ACKNOW : TF_DELACK) #else -#define TCP_REASS(tp, ti, m, so, flags) { \ - if ((ti)->ti_seq == (tp)->rcv_nxt && \ - (tp)->seg_next == (struct tcpiphdr *)(tp) && \ - (tp)->t_state == TCPS_ESTABLISHED) { \ - tp->t_flags |= TF_DELACK; \ - (tp)->rcv_nxt += (ti)->ti_len; \ - flags = (ti)->ti_flags & TH_FIN; \ - tcpstat.tcps_rcvpack++;\ - tcpstat.tcps_rcvbyte += (ti)->ti_len;\ - sbappend(&(so)->so_rcv, (m)); \ - sorwakeup(so); \ - } else { \ - (flags) = tcp_reass((tp), (ti), (m)); \ - tp->t_flags |= TF_ACKNOW; \ - } \ +#define TCP_ACK_FLAG TF_DELACK +#endif +#define TCP_REASS(tp, ti, m, so, flags) { \ + if ((ti)->ti_seq == (tp)->rcv_nxt && \ + (tp)->seg_next == (struct tcpiphdr *)(tp) && \ + (tp)->t_state == TCPS_ESTABLISHED) { \ + tp->t_flags |= TCP_ACK_FLAG; \ + (tp)->rcv_nxt += (ti)->ti_len; \ + flags = (ti)->ti_flags & TH_FIN; \ + tcpstat.tcps_rcvpack++; \ + tcpstat.tcps_rcvbyte += (ti)->ti_len; \ + sbappend(&(so)->so_rcv, (m)); \ + sorwakeup(so); \ + } else { \ + (flags) = tcp_reass((tp), (ti), (m)); \ + tp->t_flags |= TF_ACKNOW; \ + } \ } #endif #ifndef TUBA_INCLUDE >Audit-Trail: >Unformatted: