Date: Thu, 13 Aug 2009 16:08:35 +0000 (UTC) From: Lawrence Stewart <lstewart@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r196195 - projects/tcp_ffcaia2008_8.x/sys/netinet Message-ID: <200908131608.n7DG8ZVm006311@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: lstewart Date: Thu Aug 13 16:08:35 2009 New Revision: 196195 URL: http://svn.freebsd.org/changeset/base/196195 Log: Remove a whole lot of cruft that was required to allow the SIFTR code to compile and run on FreeBSD 6, 7 and 8. Any MFC of SIFTR will require changes to the code that replicate the relevant chunks of what this commit removes. Modified: projects/tcp_ffcaia2008_8.x/sys/netinet/siftr.c Modified: projects/tcp_ffcaia2008_8.x/sys/netinet/siftr.c ============================================================================== --- projects/tcp_ffcaia2008_8.x/sys/netinet/siftr.c Thu Aug 13 16:01:19 2009 (r196194) +++ projects/tcp_ffcaia2008_8.x/sys/netinet/siftr.c Thu Aug 13 16:08:35 2009 (r196195) @@ -61,6 +61,7 @@ #include <sys/param.h> #include <sys/errno.h> +#include <sys/hash.h> #include <sys/kernel.h> #include <sys/kthread.h> #include <sys/lock.h> @@ -74,9 +75,7 @@ #include <sys/sbuf.h> #include <sys/alq.h> #include <sys/proc.h> -#if (__FreeBSD_version >= 800044) #include <sys/vimage.h> -#endif #include <net/if.h> #include <net/pfil.h> @@ -88,24 +87,13 @@ #include <netinet/in_pcb.h> #include <netinet/in_var.h> -#if (__FreeBSD_version >= 800044) -#include <netinet/vinet.h> -#endif - #ifdef SIFTR_IPV6 #include <netinet/ip6.h> #include <netinet6/in6_pcb.h> - -#if (__FreeBSD_version >= 800044) -#include <netinet6/vinet6.h> -#endif - #endif /* SIFTR_IPV6 */ #include <machine/in_cksum.h> -#include "siftr_hash.h" - #define MODVERSION "1.2.2" #define HOOK 0 @@ -309,15 +297,7 @@ static struct mtx siftr_pkt_mgr_mtx; static struct thread *siftr_pkt_manager_thr = NULL; -#if (__FreeBSD_version < 800000) -static struct proc *siftr_pkt_manager_proc = NULL; -#endif - -#if (__FreeBSD_version >= 800044) #define _siftrtcbinfo &V_tcbinfo -#else -#define _siftrtcbinfo &tcbinfo -#endif @@ -444,11 +424,7 @@ siftr_process_pkt(struct pkt_node * pkt_ /* Construct an IPv6 log message. */ sprintf(siftr_log_msg, -#if (__FreeBSD_version >= 700000) "%c,0x%08x,%zd.%06ld,%x:%x:%x:%x:%x:%x:%x:%x,%u,%x:%x:%x:%x:%x:%x:%x:%x,%u,%ld,%ld,%ld,%ld,%ld,%u,%u,%u,%u,%u,%u,%u,%d,%u,%u,%u,%u,%u\n", -#else - "%c,0x%08x,%ld.%06ld,%x:%x:%x:%x:%x:%x:%x:%x,%u,%x:%x:%x:%x:%x:%x:%x:%x,%u,%ld,%ld,%ld,%ld,%ld,%u,%u,%u,%u,%u,%u,%u,%d,%u,%u,%u,%u,%u\n", -#endif direction[pkt_node->direction], pkt_node->hash, pkt_node->tval.tv_sec, @@ -503,11 +479,7 @@ siftr_process_pkt(struct pkt_node * pkt_ /* Construct an IPv4 log message. */ sprintf(siftr_log_msg, -#if (__FreeBSD_version >= 700000) "%c,0x%08x,%zd.%06ld,%u.%u.%u.%u,%u,%u.%u.%u.%u,%u,%ld,%ld,%ld,%ld,%ld,%u,%u,%u,%u,%u,%u,%u,%d,%u,%u,%u,%u,%u\n", -#else - "%c,0x%08x,%ld.%06ld,%u.%u.%u.%u,%u,%u.%u.%u.%u,%u,%ld,%ld,%ld,%ld,%ld,%u,%u,%u,%u,%u,%u,%u,%d,%u,%u,%u,%u,%u\n", -#endif direction[pkt_node->direction], pkt_node->hash, pkt_node->tval.tv_sec, @@ -632,17 +604,8 @@ siftr_pkt_manager_thread(void *arg) mtx_unlock(&siftr_pkt_mgr_mtx); -#if (__FreeBSD_version >= 800000) /* calls wakeup on this thread's struct thread ptr */ kthread_exit(); -#else -#if (__FreeBSD_version < 700000) - /* no wakeup given in 6.x so have to do it ourself */ - wakeup(siftr_pkt_manager_proc); -#endif - /* calls wakeup on this thread's struct proc ptr on 7.x */ - kthread_exit(0); -#endif } static uint32_t @@ -768,9 +731,7 @@ siftr_chkpkt( void *arg, /* Find the corresponding inpcb for this pkt */ /* We need the tcbinfo lock */ -#if (__FreeBSD_version >= 700000) INP_INFO_UNLOCK_ASSERT(_siftrtcbinfo); -#endif INP_INFO_RLOCK(_siftrtcbinfo); if (dir == PFIL_IN) @@ -806,11 +767,7 @@ siftr_chkpkt( void *arg, /* Acquire the inpcb lock */ INP_UNLOCK_ASSERT(inp); -#if (__FreeBSD_version >= 701000) INP_RLOCK(inp); -#else - INP_LOCK(inp); -#endif INP_INFO_RUNLOCK(_siftrtcbinfo); inp_locally_locked = 1; @@ -838,11 +795,7 @@ siftr_chkpkt( void *arg, * packet sent during the shutdown phase of a TCP connection), * or we're in the timewait state, bail */ -#if (INP_TIMEWAIT == 0x8) - if (!tp || (inp->inp_vflag & INP_TIMEWAIT)) { -#else if (!tp || (inp->inp_flags & INP_TIMEWAIT)) { -#endif if(dir == PFIL_IN) siftr_num_inbound_skipped_pkts_tcb++; else @@ -873,11 +826,7 @@ siftr_chkpkt( void *arg, pkt_node->conn_state = tp->t_state; pkt_node->max_seg_size = tp->t_maxseg; pkt_node->smoothed_rtt = tp->t_srtt; -#if (__FreeBSD_version >= 700000) pkt_node->sack_enabled = tp->t_flags & TF_SACK_PERMIT; -#else - pkt_node->sack_enabled = tp->sack_enable; -#endif pkt_node->flags = tp->t_flags; pkt_node->rxt_length = tp->t_rxtcur; pkt_node->snd_buf_hiwater = inp->inp_socket->so_snd.sb_hiwat; @@ -888,11 +837,7 @@ siftr_chkpkt( void *arg, /* We've finished accessing the tcb so release the lock */ if (inp_locally_locked) -#if (__FreeBSD_version >= 701000) INP_RUNLOCK(inp); -#else - INP_UNLOCK(inp); -#endif pkt_node->direction = dir; @@ -985,11 +930,7 @@ siftr_chkpkt( void *arg, inp_unlock: if (inp_locally_locked) -#if (__FreeBSD_version >= 701000) INP_RUNLOCK(inp); -#else - INP_UNLOCK(inp); -#endif ret: /* Returning 0 ensures pfil will not discard the pkt */ @@ -1091,9 +1032,7 @@ siftr_chkpkt6( void *arg, /* Find the the corresponding inpcb for this pkt */ /* We need the tcbinfo lock */ -#if (__FreeBSD_version >= 700000) INP_INFO_UNLOCK_ASSERT(_siftrtcbinfo); -#endif INP_INFO_RLOCK(_siftrtcbinfo); if (dir == PFIL_IN) @@ -1127,11 +1066,7 @@ siftr_chkpkt6( void *arg, } /* Acquire the inpcb lock */ -#if (__FreeBSD_version >= 701000) INP_RLOCK(inp); -#else - INP_LOCK(inp); -#endif INP_INFO_RUNLOCK(_siftrtcbinfo); inp_locally_locked = 1; } @@ -1156,11 +1091,7 @@ siftr_chkpkt6( void *arg, * packet sent during the shutdown phase of a TCP connection), * or we're in the timewait state, bail */ -#if (INP_TIMEWAIT == 0x8) - if (!tp || (inp->inp_vflag & INP_TIMEWAIT)) { -#else if (!tp || (inp->inp_flags & INP_TIMEWAIT)) { -#endif if(dir == PFIL_IN) siftr_num_inbound_skipped_pkts_tcb++; else @@ -1192,11 +1123,7 @@ siftr_chkpkt6( void *arg, pkt_node->conn_state = tp->t_state; pkt_node->max_seg_size = tp->t_maxseg; pkt_node->smoothed_rtt = tp->t_srtt; -#if (__FreeBSD_version >= 700000) pkt_node->sack_enabled = tp->t_flags & TF_SACK_PERMIT; -#else - pkt_node->sack_enabled = tp->sack_enable; -#endif pkt_node->flags = tp->t_flags; pkt_node->rxt_length = tp->t_rxtcur; pkt_node->snd_buf_hiwater = inp->inp_socket->so_snd.sb_hiwat; @@ -1207,11 +1134,7 @@ siftr_chkpkt6( void *arg, /* We've finished accessing the tcb so release the lock */ if (inp_locally_locked) -#if (__FreeBSD_version >= 701000) INP_RUNLOCK(inp); -#else - INP_UNLOCK(inp); -#endif pkt_node->direction = dir; @@ -1231,11 +1154,7 @@ siftr_chkpkt6( void *arg, inp_unlock6: if (inp_locally_locked) -#if (__FreeBSD_version >= 701000) INP_RUNLOCK(inp); -#else - INP_UNLOCK(inp); -#endif ret6: /* Returning 0 ensures pfil will not discard the pkt */ @@ -1363,7 +1282,6 @@ siftr_manage_ops(uint8_t action) siftr_exit_pkt_manager_thread = 0; -#if (__FreeBSD_version >= 800000) ret = kthread_add( &siftr_pkt_manager_thread, NULL, NULL, @@ -1372,27 +1290,13 @@ siftr_manage_ops(uint8_t action) 0, "siftr_pkt_manager_thr" ); -#else - ret = kthread_create( &siftr_pkt_manager_thread, - NULL, - &siftr_pkt_manager_proc, - RFNOWAIT, - 0, - "siftr_pkt_manager_thr" - ); - siftr_pkt_manager_thr = FIRST_THREAD_IN_PROC(siftr_pkt_manager_proc); -#endif siftr_pfil(HOOK); microtime(&tval); sbuf_printf(s, -#if (__FreeBSD_version >= 700000) "enable_time_secs=%zd\tenable_time_usecs=%06ld\tsiftrver=%s\thz=%u\ttcp_rtt_scale=%u\tsysname=%s\tsysver=%u\tipmode=%u\n", -#else - "enable_time_secs=%ld\tenable_time_usecs=%06ld\tsiftrver=%s\thz=%u\ttcp_rtt_scale=%u\tsysname=%s\tsysver=%u\tipmode=%u\n", -#endif tval.tv_sec, tval.tv_usec, MODVERSION, @@ -1430,22 +1334,12 @@ siftr_manage_ops(uint8_t action) wakeup(&wait_for_pkt); /* Wait for the pkt_manager thread to exit */ -#if (__FreeBSD_version >= 800000) msleep( siftr_pkt_manager_thr, &siftr_pkt_mgr_mtx, PWAIT, "thrwait", 0 ); -#else - msleep( siftr_pkt_manager_proc, - &siftr_pkt_mgr_mtx, - PWAIT, - "thrwait", - 0 - ); - siftr_pkt_manager_proc = NULL; -#endif siftr_pkt_manager_thr = NULL; mtx_unlock(&siftr_pkt_mgr_mtx); @@ -1453,11 +1347,7 @@ siftr_manage_ops(uint8_t action) microtime(&tval); sbuf_printf(s, -#if (__FreeBSD_version >= 700000) "disable_time_secs=%zd\tdisable_time_usecs=%06ld\tnum_inbound_tcp_pkts=%u\tnum_outbound_tcp_pkts=%u\ttotal_tcp_pkts=%u\tnum_inbound_skipped_pkts_malloc=%u\tnum_outbound_skipped_pkts_malloc=%u\tnum_inbound_skipped_pkts_mtx=%u\tnum_outbound_skipped_pkts_mtx=%u\tnum_inbound_skipped_pkts_tcb=%u\tnum_outbound_skipped_pkts_tcb=%u\tnum_inbound_skipped_pkts_icb=%u\tnum_outbound_skipped_pkts_icb=%u\ttotal_skipped_tcp_pkts=%u\tflow_list=", -#else - "disable_time_secs=%ld\tdisable_time_usecs=%06ld\tnum_inbound_tcp_pkts=%u\tnum_outbound_tcp_pkts=%u\ttotal_tcp_pkts=%u\tnum_inbound_skipped_pkts_malloc=%u\tnum_outbound_skipped_pkts_malloc=%u\tnum_inbound_skipped_pkts_mtx=%u\tnum_outbound_skipped_pkts_mtx=%u\tnum_inbound_skipped_pkts_tcb=%u\tnum_outbound_skipped_pkts_tcb=%u\tnum_inbound_skipped_pkts_icb=%u\tnum_outbound_skipped_pkts_icb=%u\ttotal_skipped_tcp_pkts=%u\tflow_list=", -#endif tval.tv_sec, tval.tv_usec, siftr_num_inbound_tcp_pkts,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908131608.n7DG8ZVm006311>