1/*- 2 * Copyright (c) 2007-2008 3 * Swinburne University of Technology, Melbourne, Australia. 4 * Copyright (c) 2009-2010 Lawrence Stewart <lstewart@freebsd.org> 5 * Copyright (c) 2010 The FreeBSD Foundation 6 * All rights reserved. 7 * 8 * This software was developed at the Centre for Advanced Internet --- 21 unchanged lines hidden (view full) --- 30 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * |
38 * $FreeBSD: head/sys/netinet/tcp_cc.h 294535 2016-01-21 22:34:51Z glebius $ |
39 */ 40 41/* 42 * This software was first released in 2007 by James Healy and Lawrence Stewart 43 * whilst working on the NewTCP research project at Swinburne University of 44 * Technology's Centre for Advanced Internet Architectures, Melbourne, 45 * Australia, which was made possible in part by a grant from the Cisco 46 * University Research Program Fund at Community Foundation Silicon Valley. 47 * More details are available at: 48 * http://caia.swin.edu.au/urp/newtcp/ 49 */ 50 |
51#ifndef _NETINET_TCP_CC_H_ 52#define _NETINET_TCP_CC_H_ |
53 |
54#if !defined(_KERNEL) 55#error "no user-servicable parts inside" 56#endif |
57 58/* Global CC vars. */ 59extern STAILQ_HEAD(cc_head, cc_algo) cc_list; 60extern const int tcprexmtthresh; 61extern struct cc_algo newreno_cc_algo; 62 63/* Per-netstack bits. */ 64VNET_DECLARE(struct cc_algo *, default_cc_ptr); --- 102 unchanged lines hidden (view full) --- 167#define CC_LIST_LOCK_INIT() rw_init(&cc_list_lock, "cc_list") 168#define CC_LIST_LOCK_DESTROY() rw_destroy(&cc_list_lock) 169#define CC_LIST_RLOCK() rw_rlock(&cc_list_lock) 170#define CC_LIST_RUNLOCK() rw_runlock(&cc_list_lock) 171#define CC_LIST_WLOCK() rw_wlock(&cc_list_lock) 172#define CC_LIST_WUNLOCK() rw_wunlock(&cc_list_lock) 173#define CC_LIST_LOCK_ASSERT() rw_assert(&cc_list_lock, RA_LOCKED) 174 |
175#endif /* _NETINET_TCP_CC_H_ */ |