1193323Sed/* $NetBSD$ */ 2193323Sed/* $KAME: qop_rio.h,v 1.2 2000/10/18 09:15:20 kjc Exp $ */ 3193323Sed/* 4193323Sed * Copyright (C) 1999-2000 5193323Sed * Sony Computer Science Laboratories, Inc. All rights reserved. 6193323Sed * 7193323Sed * Redistribution and use in source and binary forms, with or without 8193323Sed * modification, are permitted provided that the following conditions 9193323Sed * are met: 10193323Sed * 1. Redistributions of source code must retain the above copyright 11193323Sed * notice, this list of conditions and the following disclaimer. 12193323Sed * 2. Redistributions in binary form must reproduce the above copyright 13193323Sed * notice, this list of conditions and the following disclaimer in the 14193323Sed * documentation and/or other materials provided with the distribution. 15193323Sed * 16193323Sed * THIS SOFTWARE IS PROVIDED BY SONY CSL AND CONTRIBUTORS ``AS IS'' AND 17193323Sed * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18193323Sed * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19193323Sed * ARE DISCLAIMED. IN NO EVENT SHALL SONY CSL OR CONTRIBUTORS BE LIABLE 20193323Sed * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21193323Sed * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22193323Sed * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23193323Sed * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24193323Sed * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25193323Sed * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26193323Sed * SUCH DAMAGE. 27193323Sed */ 28193323Sed 29193323Sed/* 30193323Sed * rio private ifinfo structure 31193323Sed */ 32193323Sedstruct rio_ifinfo { 33193323Sed struct redparams red_params[RIO_NDROPPREC]; 34193323Sed int weight; /* weight for EWMA */ 35193323Sed int qlimit; /* max queue length */ 36193323Sed int pkttime; /* average packet time in usec */ 37193323Sed int flags; /* see below */ 38193323Sed}; 39193323Sed 40193323Sedint rio_interface_parser(const char *ifname, int argc, char **argv); 41193323Sedint qcmd_rio_add_if(const char *ifname, u_int bandwidth, int weight, 42193323Sed int lo_inv_pmax, int lo_th_min, int lo_th_max, 43193323Sed int mid_inv_pmax, int mid_th_min, int mid_th_max, 44193323Sed int hi_inv_pmax, int hi_th_min, int hi_th_max, 45193323Sed int qlimit, int pkttime, int flags); 46193323Sedint qop_rio_add_if(struct ifinfo **rp, const char *ifname, 47193323Sed u_int bandwidth, int weight, struct redparams *red_params, 48193323Sed int qlimit, int pkttime, int flags); 49193323Sed