From 41e3140e053cf3e92add38e167e16f4972879d16 Mon Sep 17 00:00:00 2001 From: Planet-Lab Support Date: Wed, 22 Feb 2006 21:38:29 +0000 Subject: [PATCH 1/1] This commit was manufactured by cvs2svn to create branch 'planetlab-3_3-branch'. --- ip.8 | 1809 +++++++++++++++++++++++++++++++++++++++ ip/ip | Bin 153676 -> 0 bytes ip/ip.o | Bin 6928 -> 0 bytes ip/ipaddress.o | Bin 28616 -> 0 bytes ip/iplink.o | Bin 11376 -> 0 bytes ip/ipmaddr.o | Bin 9832 -> 0 bytes ip/ipmonitor.o | Bin 5208 -> 0 bytes ip/ipmroute.o | Bin 6872 -> 0 bytes ip/ipneigh.o | Bin 15680 -> 0 bytes ip/ipprefix.o | Bin 3272 -> 0 bytes ip/iproute.o | Bin 44480 -> 0 bytes ip/iprule.o | Bin 11912 -> 0 bytes ip/iptunnel.o | Bin 17440 -> 0 bytes ip/ipxfrm.o | Bin 26728 -> 0 bytes ip/rtm_map.o | Bin 4088 -> 0 bytes ip/rtmon | Bin 30290 -> 0 bytes ip/rtmon.o | Bin 5720 -> 0 bytes ip/xfrm_policy.o | Bin 21080 -> 0 bytes ip/xfrm_state.o | Bin 21336 -> 0 bytes iproute.spec | 227 +++++ lib/dnet_ntop.o | Bin 1920 -> 0 bytes lib/dnet_pton.o | Bin 1736 -> 0 bytes lib/inet_proto.o | Bin 2616 -> 0 bytes lib/ipx_ntop.o | Bin 1696 -> 0 bytes lib/ipx_pton.o | Bin 2008 -> 0 bytes lib/libnetlink.a | Bin 16776 -> 0 bytes lib/libnetlink.o | Bin 11928 -> 0 bytes lib/libutil.a | Bin 56136 -> 0 bytes lib/ll_addr.o | Bin 2624 -> 0 bytes lib/ll_map.o | Bin 4216 -> 0 bytes lib/ll_proto.o | Bin 4120 -> 0 bytes lib/ll_types.o | Bin 4592 -> 0 bytes lib/rt_names.o | Bin 21104 -> 0 bytes lib/utils.o | Bin 12208 -> 0 bytes misc/arpd | Bin 41062 -> 0 bytes misc/ifstat | Bin 33086 -> 0 bytes misc/lnstat | Bin 19999 -> 0 bytes misc/lnstat.o | Bin 11104 -> 0 bytes misc/lnstat_util.o | Bin 6688 -> 0 bytes misc/nstat | Bin 22421 -> 0 bytes misc/rtacct | Bin 37528 -> 0 bytes misc/ss | Bin 75189 -> 0 bytes misc/ss.o | Bin 68184 -> 0 bytes misc/ssfilter.c | 1581 ---------------------------------- misc/ssfilter.o | Bin 10032 -> 0 bytes netem/experimental.dist | 513 ----------- netem/maketable | Bin 10667 -> 0 bytes netem/normal | Bin 8450 -> 0 bytes netem/normal.dist | 513 ----------- netem/pareto | Bin 7772 -> 0 bytes netem/pareto.dist | 513 ----------- netem/paretonormal | Bin 8891 -> 0 bytes netem/paretonormal.dist | 513 ----------- tc-cbq-details.8 | 425 +++++++++ tc-cbq.8 | 353 ++++++++ tc-htb.8 | 150 ++++ tc-pbfifo.8 | 72 ++ tc-pfifo_fast.8 | 59 ++ tc-prio.8 | 187 ++++ tc-red.8 | 131 +++ tc-sfq.8 | 107 +++ tc-tbf.8 | 138 +++ tc.8 | 348 ++++++++ tc/f_fw.o | Bin 5408 -> 0 bytes tc/f_route.o | Bin 6952 -> 0 bytes tc/f_rsvp.o | Bin 12128 -> 0 bytes tc/f_tcindex.o | Bin 5432 -> 0 bytes tc/f_u32.o | Bin 23608 -> 0 bytes tc/libtc.a | Bin 11328 -> 0 bytes tc/m_action.o | Bin 14408 -> 0 bytes tc/m_estimator.o | Bin 3552 -> 0 bytes tc/m_gact.o | Bin 6128 -> 0 bytes tc/m_ipt.o | Bin 13552 -> 0 bytes tc/m_mirred.o | Bin 9336 -> 0 bytes tc/m_pedit.o | Bin 13000 -> 0 bytes tc/m_police.o | Bin 12456 -> 0 bytes tc/p_icmp.o | Bin 1416 -> 0 bytes tc/p_ip.o | Bin 3576 -> 0 bytes tc/p_tcp.o | Bin 1408 -> 0 bytes tc/p_udp.o | Bin 1408 -> 0 bytes tc/q_cbq.o | Bin 16232 -> 0 bytes tc/q_dsmark.o | Bin 5312 -> 0 bytes tc/q_fifo.o | Bin 3608 -> 0 bytes tc/q_gred.o | Bin 9664 -> 0 bytes tc/q_hfsc.o | Bin 10408 -> 0 bytes tc/q_htb.o | Bin 11496 -> 0 bytes tc/q_ingress.o | Bin 2472 -> 0 bytes tc/q_netem.so | Bin 12731 -> 0 bytes tc/q_prio.o | Bin 4000 -> 0 bytes tc/q_red.o | Bin 7304 -> 0 bytes tc/q_sfq.o | Bin 4056 -> 0 bytes tc/q_tbf.o | Bin 9552 -> 0 bytes tc/tc | Bin 189642 -> 0 bytes tc/tc.o | Bin 10544 -> 0 bytes tc/tc_cbq.o | Bin 2728 -> 0 bytes tc/tc_class.o | Bin 11568 -> 0 bytes tc/tc_core.o | Bin 3080 -> 0 bytes tc/tc_estimator.o | Bin 1992 -> 0 bytes tc/tc_filter.o | Bin 13720 -> 0 bytes tc/tc_qdisc.o | Bin 11424 -> 0 bytes tc/tc_red.o | Bin 2976 -> 0 bytes tc/tc_util.o | Bin 16896 -> 0 bytes 102 files changed, 4006 insertions(+), 3633 deletions(-) create mode 100644 ip.8 delete mode 100755 ip/ip delete mode 100644 ip/ip.o delete mode 100644 ip/ipaddress.o delete mode 100644 ip/iplink.o delete mode 100644 ip/ipmaddr.o delete mode 100644 ip/ipmonitor.o delete mode 100644 ip/ipmroute.o delete mode 100644 ip/ipneigh.o delete mode 100644 ip/ipprefix.o delete mode 100644 ip/iproute.o delete mode 100644 ip/iprule.o delete mode 100644 ip/iptunnel.o delete mode 100644 ip/ipxfrm.o delete mode 100644 ip/rtm_map.o delete mode 100755 ip/rtmon delete mode 100644 ip/rtmon.o delete mode 100644 ip/xfrm_policy.o delete mode 100644 ip/xfrm_state.o create mode 100644 iproute.spec delete mode 100644 lib/dnet_ntop.o delete mode 100644 lib/dnet_pton.o delete mode 100644 lib/inet_proto.o delete mode 100644 lib/ipx_ntop.o delete mode 100644 lib/ipx_pton.o delete mode 100644 lib/libnetlink.a delete mode 100644 lib/libnetlink.o delete mode 100644 lib/libutil.a delete mode 100644 lib/ll_addr.o delete mode 100644 lib/ll_map.o delete mode 100644 lib/ll_proto.o delete mode 100644 lib/ll_types.o delete mode 100644 lib/rt_names.o delete mode 100644 lib/utils.o delete mode 100755 misc/arpd delete mode 100755 misc/ifstat delete mode 100755 misc/lnstat delete mode 100644 misc/lnstat.o delete mode 100644 misc/lnstat_util.o delete mode 100755 misc/nstat delete mode 100755 misc/rtacct delete mode 100755 misc/ss delete mode 100644 misc/ss.o delete mode 100644 misc/ssfilter.c delete mode 100644 misc/ssfilter.o delete mode 100644 netem/experimental.dist delete mode 100755 netem/maketable delete mode 100755 netem/normal delete mode 100644 netem/normal.dist delete mode 100755 netem/pareto delete mode 100644 netem/pareto.dist delete mode 100755 netem/paretonormal delete mode 100644 netem/paretonormal.dist create mode 100644 tc-cbq-details.8 create mode 100644 tc-cbq.8 create mode 100644 tc-htb.8 create mode 100644 tc-pbfifo.8 create mode 100644 tc-pfifo_fast.8 create mode 100644 tc-prio.8 create mode 100644 tc-red.8 create mode 100644 tc-sfq.8 create mode 100644 tc-tbf.8 create mode 100644 tc.8 delete mode 100644 tc/f_fw.o delete mode 100644 tc/f_route.o delete mode 100644 tc/f_rsvp.o delete mode 100644 tc/f_tcindex.o delete mode 100644 tc/f_u32.o delete mode 100644 tc/libtc.a delete mode 100644 tc/m_action.o delete mode 100644 tc/m_estimator.o delete mode 100644 tc/m_gact.o delete mode 100644 tc/m_ipt.o delete mode 100644 tc/m_mirred.o delete mode 100644 tc/m_pedit.o delete mode 100644 tc/m_police.o delete mode 100644 tc/p_icmp.o delete mode 100644 tc/p_ip.o delete mode 100644 tc/p_tcp.o delete mode 100644 tc/p_udp.o delete mode 100644 tc/q_cbq.o delete mode 100644 tc/q_dsmark.o delete mode 100644 tc/q_fifo.o delete mode 100644 tc/q_gred.o delete mode 100644 tc/q_hfsc.o delete mode 100644 tc/q_htb.o delete mode 100644 tc/q_ingress.o delete mode 100755 tc/q_netem.so delete mode 100644 tc/q_prio.o delete mode 100644 tc/q_red.o delete mode 100644 tc/q_sfq.o delete mode 100644 tc/q_tbf.o delete mode 100755 tc/tc delete mode 100644 tc/tc.o delete mode 100644 tc/tc_cbq.o delete mode 100644 tc/tc_class.o delete mode 100644 tc/tc_core.o delete mode 100644 tc/tc_estimator.o delete mode 100644 tc/tc_filter.o delete mode 100644 tc/tc_qdisc.o delete mode 100644 tc/tc_red.o delete mode 100644 tc/tc_util.o diff --git a/ip.8 b/ip.8 new file mode 100644 index 0000000..50e4419 --- /dev/null +++ b/ip.8 @@ -0,0 +1,1809 @@ +.TH IP 8 "17 January 2002" "iproute2" "Linux" +.SH NAME +ip \- show / manipulate routing, devices, policy routing and tunnels +.SH SYNOPSIS + +.ad l +.in +8 +.ti -8 +.B ip +.RI "[ " OPTIONS " ] " OBJECT " { " COMMAND " | " +.BR help " }" +.sp + +.ti -8 +.IR OBJECT " := { " +.BR link " | " addr " | " route " | " rule " | " neigh " | " tunnel " | "\ +maddr " | " mroute " | " monitor " }" +.sp + +.ti -8 +.IR OPTIONS " := { " +\fB\-V\fR[\fIersion\fR] | +\fB\-s\fR[\fItatistics\fR] | +\fB\-r\fR[\fIesolve\fR] | +\fB\-f\fR[\fIamily\fR] { +.BR inet " | " inet6 " | " ipx " | " dnet " | " link " } | " +\fB\-o\fR[\fIneline\fR] } + +.ti -8 +.BI "ip link set " DEVICE +.RB "{ " up " | " down " | " arp " { " on " | " off " } |" +.br +.BR promisc " { " on " | " off " } |" +.br +.BR allmulti " { " on " | " off " } |" +.br +.BR dynamic " { " on " | " off " } |" +.br +.BR multicast " { " on " | " off " } |" +.br +.B txqueuelen +.IR PACKETS " |" +.br +.B name +.IR NEWNAME " |" +.br +.B address +.IR LLADDR " |" +.B broadcast +.IR LLADDR " |" +.br +.B mtu +.IR MTU " }" + +.ti -8 +.B ip link show +.RI "[ " DEVICE " ]" + +.ti -8 +.BR "ip addr" " { " add " | " del " } " +.IB IFADDR " dev " STRING + +.ti -8 +.BR "ip addr" " { " show " | " flush " } [ " dev +.IR STRING " ] [ " +.B scope +.IR SCOPE-ID " ] [ " +.B to +.IR PREFIX " ] [ " FLAG-LIST " ] [ " +.B label +.IR PATTERN " ]" + +.ti -8 +.IR IFADDR " := " PREFIX " | " ADDR +.B peer +.IR PREFIX " [ " +.B broadcast +.IR ADDR " ] [ " +.B anycast +.IR ADDR " ] [ " +.B label +.IR STRING " ] [ " +.B scope +.IR SCOPE-ID " ]" + +.ti -8 +.IR SCOPE-ID " := " +.RB "[ " host " | " link " | " global " | " +.IR NUMBER " ]" + +.ti -8 +.IR FLAG-LIST " := [ " FLAG-LIST " ] " FLAG + +.ti -8 +.IR FLAG " := " +.RB "[ " permanent " | " dynamic " | " secondary " | " primary " | "\ +tentative " | " deprecated " ]" + +.ti -8 +.BR "ip route" " { " +.BR list " | " flush " } " +.I SELECTOR + +.ti -8 +.B ip route get +.IR ADDRESS " [ " +.BI from " ADDRESS " iif " STRING" +.RB " ] [ " oif +.IR STRING " ] [ " +.B tos +.IR TOS " ]" + +.ti -8 +.BR "ip route" " { " add " | " del " | " change " | " append " | "\ +replace " | " monitor " } " +.I ROUTE + +.ti -8 +.IR SELECTOR " := " +.RB "[ " root +.IR PREFIX " ] [ " +.B match +.IR PREFIX " ] [ " +.B exact +.IR PREFIX " ] [ " +.B table +.IR TABLE_ID " ] [ " +.B proto +.IR RTPROTO " ] [ " +.B type +.IR TYPE " ] [ " +.B scope +.IR SCOPE " ]" + +.ti -8 +.IR ROUTE " := " NODE_SPEC " [ " INFO_SPEC " ]" + +.ti -8 +.IR NODE_SPEC " := [ " TYPE " ] " PREFIX " [" +.B tos +.IR TOS " ] [ " +.B table +.IR TABLE_ID " ] [ " +.B proto +.IR RTPROTO " ] [ " +.B scope +.IR SCOPE " ] [ " +.B metric +.IR METRIC " ]" + +.ti -8 +.IR INFO_SPEC " := " "NH OPTIONS FLAGS" " [" +.B nexthop +.IR NH " ] ..." + +.ti -8 +.IR NH " := [ " +.B via +.IR ADDRESS " ] [ " +.B dev +.IR STRING " ] [ " +.B weight +.IR NUMBER " ] " NHFLAGS + +.ti -8 +.IR OPTIONS " := " FLAGS " [ " +.B mtu +.IR NUMBER " ] [ " +.B advmss +.IR NUMBER " ] [ " +.B rtt +.IR NUMBER " ] [ " +.B rttvar +.IR NUMBER " ] [ " +.B window +.IR NUMBER " ] [ " +.B cwnd +.IR NUMBER " ] [ " +.B ssthresh +.IR REALM " ] [ " +.B realms +.IR REALM " ]" + +.ti -8 +.IR TYPE " := [ " +.BR unicast " | " local " | " broadcast " | " multicast " | "\ +throw " | " unreachable " | " prohibit " | " blackhole " | " nat " ]" + +.ti -8 +.IR TABLE_ID " := [ " +.BR local "| " main " | " default " | " all " |" +.IR NUMBER " ]" + +.ti -8 +.IR SCOPE " := [ " +.BR host " | " link " | " global " |" +.IR NUMBER " ]" + +.ti -8 +.IR FLAGS " := [ " +.BR equalize " ]" + +.ti -8 +.IR NHFLAGS " := [ " +.BR onlink " | " pervasive " ]" + +.ti -8 +.IR RTPROTO " := [ " +.BR kernel " | " boot " | " static " |" +.IR NUMBER " ]" + +.ti -8 +.B ip rule +.RB " [ " list " | " add " | " del " ]" +.I SELECTOR ACTION + +.ti -8 +.IR SELECTOR " := [ " +.B from +.IR PREFIX " ] [ " +.B to +.IR PREFIX " ] [ " +.B tos +.IR TOS " ] [ " +.B fwmark +.IR FWMARK " ] [ " +.B dev +.IR STRING " ] [ " +.B pref +.IR NUMBER " ]" + +.ti -8 +.IR ACTION " := [ " +.B table +.IR TABLE_ID " ] [ " +.B nat +.IR ADDRESS " ] [ " +.BR prohibit " | " reject " | " unreachable " ] [ " realms +.RI "[" SRCREALM "/]" DSTREALM " ]" + +.ti -8 +.IR TABLE_ID " := [ " +.BR local " | " main " | " default " |" +.IR NUMBER " ]" + +.ti -8 +.BR "ip neigh" " { " add " | " del " | " change " | " replace " } { " +.IR ADDR " [ " +.B lladdr +.IR LLADDR " ] [ " +.BR nud " { " permanent " | " noarp " | " stale " | " reachable " } ] | " proxy +.IR ADDR " } [ " +.B dev +.IR DEV " ]" + +.ti -8 +.BR "ip neigh" " { " show " | " flush " } [ " to +.IR PREFIX " ] [ " +.B dev +.IR DEV " ] [ " +.B nud +.IR STATE " ]" + +.ti -8 +.BR "ip tunnel" " { " add " | " change " | " del " | " show " }" +.RI "[ " NAME " ]" +.br +.RB "[ " mode " { " ipip " | " gre " | " sit " } ]" +.br +.RB "[ " remote +.IR ADDR " ] [ " +.B local +.IR ADDR " ]" +.br +.RB "[ [" i "|" o "]" seq " ] [ [" i "|" o "]" key +.IR KEY " ] [ " +.RB "[" i "|" o "]" csum " ] ]" +.br +.RB "[ " ttl +.IR TTL " ] [ " +.B tos +.IR TOS " ] [ " +.RB "[" no "]" pmtudisc " ]" +.br +.RB "[ " dev +.IR PHYS_DEV " ]" + +.ti -8 +.IR ADDR " := { " IP_ADDRESS " |" +.BR any " }" + +.ti -8 +.IR TOS " := { " NUMBER " |" +.BR inherit " }" + +.ti -8 +.IR TTL " := { " 1 ".." 255 " | " +.BR inherit " }" + +.ti -8 +.IR KEY " := { " DOTTED_QUAD " | " NUMBER " }" + +.ti -8 +.BR "ip maddr" " [ " add " | " del " ]" +.IB MULTIADDR " dev " STRING + +.ti -8 +.BR "ip maddr show" " [ " dev +.IR STRING " ]" + +.ti -8 +.BR "ip mroute show" " [" +.IR PREFIX " ] [ " +.B from +.IR PREFIX " ] [ " +.B iif +.IR DEVICE " ]" + +.ti -8 +.BR "ip monitor" " [ " all " |" +.IR LISTofOBJECTS " ]" +.in -8 +.ad b + +.SH OPTIONS + +.TP +.BR "\-V" , " -Version" +print the version of the +.B ip +utility and exit. + +.TP +.BR "\-s" , " \-stats", " \-statistics" +output more information. If the option +appears twice or more, the amount of information increases. +As a rule, the information is statistics or some time values. + +.TP +.BR "\-f" , " \-family" +followed by protocol family identifier: +.BR "inet" , " inet6" +or +.B link +,enforce the protocol family to use. If the option is not present, +the protocol family is guessed from other arguments. If the rest +of the command line does not give enough information to guess the +family, +.B ip +falls back to the default one, usually +.B inet +or +.BR "any" . +.B link +is a special family identifier meaning that no networking protocol +is involved. + +.TP +.B \-4 +shortcut for +.BR "-family inet" . + +.TP +.B \-6 +shortcut for +.BR "\-family inet6" . + +.TP +.B \-0 +shortcut for +.BR "\-family link" . + +.TP +.BR "\-o" , " \-oneline" +output each record on a single line, replacing line feeds +with the +.B '\' +character. This is convenient when you want to count records +with +.BR wc (1) + or to +.BR grep (1) +the output. + +.TP +.BR "\-r" , " \-resolve" +use the system's name resolver to print DNS names instead of +host addresses. + +.SH IP - COMMAND SYNTAX + +.SS +.I OBJECT + +.TP +.B link +- network device. + +.TP +.B address +- protocol (IP or IPv6) address on a device. +.TP +.B neighbour +- ARP or NDISC cache entry. + +.TP +.B route +- routing table entry. + +.TP +.B rule +- rule in routing policy database. + +.TP +.B maddress +- multicast address. + +.TP +.B mroute +- multicast routing cache entry. + +.TP +.B tunnel +- tunnel over IP. + +.PP +The names of all objects may be written in full or +abbreviated form, f.e. +.B address +is abbreviated as +.B addr +or just +.B a. + +.SS +.I COMMAND + +Specifies the action to perform on the object. +The set of possible actions depends on the object type. +As a rule, it is possible to +.BR "add" , " delete" +and +.B show +(or +.B list +) objects, but some objects do not allow all of these operations +or have some additional commands. The +.B help +command is available for all objects. It prints +out a list of available commands and argument syntax conventions. +.sp +If no command is given, some default command is assumed. +Usually it is +.B list +or, if the objects of this class cannot be listed, +.BR "help" . + +.SH ip link - network device configuration + +.B link +is a network device and the corresponding commands +display and change the state of devices. + +.SS ip link set - change device attributes + +.TP +.BI dev " NAME " (default) +.I NAME +specifies network device to operate on. + +.TP +.BR up " and " down +change the state of the device to +.B UP +or +.BR "DOWN" . + +.TP +.BR "arp on " or " arp off" +change the +.B NOARP +flag on the device. + +.TP +.BR "multicast on " or " multicast off" +change the +.B MULTICAST +flag on the device. + +.TP +.BR "dynamic on " or " dynamic off" +change the +.B DYNAMIC +flag on the device. + +.TP +.BI name " NAME" +change the name of the device. This operation is not +recommended if the device is running or has some addresses +already configured. + +.TP +.BI txqueuelen " NUMBER" +.TP +.BI txqlen " NUMBER" +change the transmit queue length of the device. + +.TP +.BI mtu " NUMBER" +change the +.I MTU +of the device. + +.TP +.BI address " LLADDRESS" +change the station address of the interface. + +.TP +.BI broadcast " LLADDRESS" +.TP +.BI brd " LLADDRESS" +.TP +.BI peer " LLADDRESS" +change the link layer broadcast address or the peer address when +the interface is +.IR "POINTOPOINT" . + +.PP +.B Warning: +If multiple parameter changes are requested, +.B ip +aborts immediately after any of the changes have failed. +This is the only case when +.B ip +can move the system to an unpredictable state. The solution +is to avoid changing several parameters with one +.B ip link set +call. + +.SS ip link show - display device attributes + +.TP +.BI dev " NAME " (default) +.I NAME +specifies the network device to show. +If this argument is omitted all devices are listed. + +.TP +.B up +only display running interfaces. + +.SH ip address - protocol address management. + +The +.B address +is a protocol (IP or IPv6) address attached +to a network device. Each device must have at least one address +to use the corresponding protocol. It is possible to have several +different addresses attached to one device. These addresses are not +discriminated, so that the term +.B alias +is not quite appropriate for them and we do not use it in this document. +.sp +The +.B ip addr +command displays addresses and their properties, adds new addresses +and deletes old ones. + +.SS ip address add - add new protocol address. + +.TP +.BI dev " NAME" +the name of the device to add the address to. + +.TP +.BI local " ADDRESS " (default) +the address of the interface. The format of the address depends +on the protocol. It is a dotted quad for IP and a sequence of +hexadecimal halfwords separated by colons for IPv6. The +.I ADDRESS +may be followed by a slash and a decimal number which encodes +the network prefix length. + +.TP +.BI peer " ADDRESS" +the address of the remote endpoint for pointopoint interfaces. +Again, the +.I ADDRESS +may be followed by a slash and a decimal number, encoding the network +prefix length. If a peer address is specified, the local address +cannot have a prefix length. The network prefix is associated +with the peer rather than with the local address. + +.TP +.BI broadcast " ADDRESS" +the broadcast address on the interface. +.sp +It is possible to use the special symbols +.B '+' +and +.B '-' +instead of the broadcast address. In this case, the broadcast address +is derived by setting/resetting the host bits of the interface prefix. + +.TP +.BI label " NAME" +Each address may be tagged with a label string. +In order to preserve compatibility with Linux-2.0 net aliases, +this string must coincide with the name of the device or must be prefixed +with the device name followed by colon. + +.TP +.BI scope " SCOPE_VALUE" +the scope of the area where this address is valid. +The available scopes are listed in file +.BR "/etc/iproute2/rt_scopes" . +Predefined scope values are: + +.in +8 +.B global +- the address is globally valid. +.sp +.B site +- (IPv6 only) the address is site local, i.e. it is +valid inside this site. +.sp +.B link +- the address is link local, i.e. it is valid only on this device. +.sp +.B host +- the address is valid only inside this host. +.in -8 + +.SS ip address delete - delete protocol address +.B Arguments: +coincide with the arguments of +.B ip addr add. +The device name is a required argument. The rest are optional. +If no arguments are given, the first address is deleted. + +.SS ip address show - look at protocol addresses + +.TP +.BI dev " NAME " (default) +name of device. + +.TP +.BI scope " SCOPE_VAL" +only list addresses with this scope. + +.TP +.BI to " PREFIX" +only list addresses matching this prefix. + +.TP +.BI label " PATTERN" +only list addresses with labels matching the +.IR "PATTERN" . +.I PATTERN +is a usual shell style pattern. + +.TP +.BR dynamic " and " permanent +(IPv6 only) only list addresses installed due to stateless +address configuration or only list permanent (not dynamic) +addresses. + +.TP +.B tentative +(IPv6 only) only list addresses which did not pass duplicate +address detection. + +.TP +.B deprecated +(IPv6 only) only list deprecated addresses. + +.TP +.BR primary " and " secondary +only list primary (or secondary) addresses. + +.SS ip address flush - flush protocol addresses +This command flushes the protocol addresses selected by some criteria. + +.PP +This command has the same arguments as +.B show. +The difference is that it does not run when no arguments are given. + +.PP +.B Warning: +This command (and other +.B flush +commands described below) is pretty dangerous. If you make a mistake, +it will not forgive it, but will cruelly purge all the addresses. + +.PP +With the +.B -statistics +option, the command becomes verbose. It prints out the number of deleted +addresses and the number of rounds made to flush the address list. If +this option is given twice, +.B ip addr flush +also dumps all the deleted addresses in the format described in the +previous subsection. + +.SH ip neighbour - neighbour/arp tables management. + +.B neighbour +objects establish bindings between protocol addresses and +link layer addresses for hosts sharing the same link. +Neighbour entries are organized into tables. The IPv4 neighbour table +is known by another name - the ARP table. + +.P +The corresponding commands display neighbour bindings +and their properties, add new neighbour entries and delete old ones. + +.SS ip neighbour add - add a new neighbour entry +.SS ip neighbour change - change an existing entry +.SS ip neighbour replace - add a new entry or change an existing one + +These commands create new neighbour records or update existing ones. + +.TP +.BI to " ADDRESS " (default) +the protocol address of the neighbour. It is either an IPv4 or IPv6 address. + +.TP +.BI dev " NAME" +the interface to which this neighbour is attached. + +.TP +.BI lladdr " LLADDRESS" +the link layer address of the neighbour. +.I LLADDRESS +can also be +.BR "null" . + +.TP +.BI nud " NUD_STATE" +the state of the neighbour entry. +.B nud +is an abbreviation for 'Neigh bour Unreachability Detection'. +The state can take one of the following values: + +.in +8 +.B permanent +- the neighbour entry is valid forever and can be only +be removed administratively. +.sp + +.B noarp +- the neighbour entry is valid. No attempts to validate +this entry will be made but it can be removed when its lifetime expires. +.sp + +.B reachable +- the neighbour entry is valid until the reachability +timeout expires. +.sp + +.B stale +- the neighbour entry is valid but suspicious. +This option to +.B ip neigh +does not change the neighbour state if it was valid and the address +is not changed by this command. +.in -8 + +.SS ip neighbour delete - delete a neighbour entry +This command invalidates a neighbour entry. + +.PP +The arguments are the same as with +.BR "ip neigh add" , +except that +.B lladdr +and +.B nud +are ignored. + +.PP +.B Warning: +Attempts to delete or manually change a +.B noarp +entry created by the kernel may result in unpredictable behaviour. +Particularly, the kernel may try to resolve this address even +on a +.B NOARP +interface or if the address is multicast or broadcast. + +.SS ip neighbour show - list neighbour entries + +This commands displays neighbour tables. + +.TP +.BI to " ADDRESS " (default) +the prefix selecting the neighbours to list. + +.TP +.BI dev " NAME" +only list the neighbours attached to this device. + +.TP +.B unused +only list neighbours which are not currently in use. + +.TP +.BI nud " NUD_STATE" +only list neighbour entries in this state. +.I NUD_STATE +takes values listed below or the special value +.B all +which means all states. This option may occur more than once. +If this option is absent, +.B ip +lists all entries except for +.B none +and +.BR "noarp" . + +.SS ip neighbour flush - flush neighbour entries +This command flushes neighbour tables, selecting +entries to flush by some criteria. + +.PP +This command has the same arguments as +.B show. +The differences are that it does not run when no arguments are given, +and that the default neighbour states to be flushed do not include +.B permanent +and +.BR "noarp" . + +.PP +With the +.B -statistics +option, the command becomes verbose. It prints out the number of +deleted neighbours and the number of rounds made to flush the +neighbour table. If the option is given +twice, +.B ip neigh flush +also dumps all the deleted neighbours. + +.SH ip route - routing table management +Manipulate route entries in the kernel routing tables keep +information about paths to other networked nodes. +.sp +.B Route types: + +.in +8 +.B unicast +- the route entry describes real paths to the destinations covered +by the route prefix. + +.sp +.B unreachable +- these destinations are unreachable. Packets are discarded and the +ICMP message +.I host unreachable +is generated. +The local senders get an +.I EHOSTUNREACH +error. + +.sp +.B blackhole +- these destinations are unreachable. Packets are discarded silently. +The local senders get an +.I EINVAL +error. + +.sp +.B prohibit +- these destinations are unreachable. Packets are discarded and the +ICMP message +.I communication administratively prohibited +is generated. The local senders get an +.I EACCES +error. + +.sp +.B local +- the destinations are assigned to this host. The packets are looped +back and delivered locally. + +.sp +.B broadcast +- the destinations are broadcast addresses. The packets are sent as +link broadcasts. + +.sp +.B throw +- a special control route used together with policy rules. If such a +route is selected, lookup in this table is terminated pretending that +no route was found. Without policy routing it is equivalent to the +absence of the route in the routing table. The packets are dropped +and the ICMP message +.I net unreachable +is generated. The local senders get an +.I ENETUNREACH +error. + +.sp +.B nat +- a special NAT route. Destinations covered by the prefix +are considered to be dummy (or external) addresses which require translation +to real (or internal) ones before forwarding. The addresses to translate to +are selected with the attribute +.BR "via" . + +.sp +.B anycast +.RI "- " "not implemented" +the destinations are +.I anycast +addresses assigned to this host. They are mainly equivalent +to +.B local +with one difference: such addresses are invalid when used +as the source address of any packet. + +.sp +.B multicast +- a special type used for multicast routing. It is not present in +normal routing tables. +.in -8 + +.P +.B Route tables: +Linux-2.x can pack routes into several routing +tables identified by a number in the range from 1 to 255 or by +name from the file +.B /etc/iproute2/rt_tables +. By default all normal routes are inserted into the +.B main +table (ID 254) and the kernel only uses this table when calculating routes. + +.sp +Actually, one other table always exists, which is invisible but +even more important. It is the +.B local +table (ID 255). This table +consists of routes for local and broadcast addresses. The kernel maintains +this table automatically and the administrator usually need not modify it +or even look at it. + +The multiple routing tables enter the game when +.I policy routing +is used. + +.SS ip route add - add new route +.SS ip route change - change route +.SS ip route replace - change or add new one + +.TP +.BI to " TYPE PREFIX " (default) +the destination prefix of the route. If +.I TYPE +is omitted, +.B ip +assumes type +.BR "unicast" . +Other values of +.I TYPE +are listed above. +.I PREFIX +is an IP or IPv6 address optionally followed by a slash and the +prefix length. If the length of the prefix is missing, +.B ip +assumes a full-length host route. There is also a special +.I PREFIX +.B default +- which is equivalent to IP +.B 0/0 +or to IPv6 +.BR "::/0" . + +.TP +.BI tos " TOS" +.TP +.BI dsfield " TOS" +the Type Of Service (TOS) key. This key has no associated mask and +the longest match is understood as: First, compare the TOS +of the route and of the packet. If they are not equal, then the packet +may still match a route with a zero TOS. +.I TOS +is either an 8 bit hexadecimal number or an identifier +from +.BR "/etc/iproute2/rt_dsfield" . + +.TP +.BI metric " NUMBER" +.TP +.BI preference " NUMBER" +the preference value of the route. +.I NUMBER +is an arbitrary 32bit number. + +.TP +.BI table " TABLEID" +the table to add this route to. +.I TABLEID +may be a number or a string from the file +.BR "/etc/iproute2/rt_tables" . +If this parameter is omitted, +.B ip +assumes the +.B main +table, with the exception of +.BR local " , " broadcast " and " nat +routes, which are put into the +.B local +table by default. + +.TP +.BI dev " NAME" +the output device name. + +.TP +.BI via " ADDRESS" +the address of the nexthop router. Actually, the sense of this field +depends on the route type. For normal +.B unicast +routes it is either the true next hop router or, if it is a direct +route installed in BSD compatibility mode, it can be a local address +of the interface. For NAT routes it is the first address of the block +of translated IP destinations. + +.TP +.BI src " ADDRESS" +the source address to prefer when sending to the destinations +covered by the route prefix. + +.TP +.BI realm " REALMID" +the realm to which this route is assigned. +.I REALMID +may be a number or a string from the file +.BR "/etc/iproute2/rt_realms" . + +.TP +.BI mtu " MTU" +.TP +.BI "mtu lock" " MTU" +the MTU along the path to the destination. If the modifier +.B lock +is not used, the MTU may be updated by the kernel due to +Path MTU Discovery. If the modifier +.B lock +is used, no path MTU discovery will be tried, all packets +will be sent without the DF bit in IPv4 case or fragmented +to MTU for IPv6. + +.TP +.BI window " NUMBER" +the maximal window for TCP to advertise to these destinations, +measured in bytes. It limits maximal data bursts that our TCP +peers are allowed to send to us. + +.TP +.BI rtt " NUMBER" +the initial RTT ('Round Trip Time') estimate. + +.TP +.BI rttvar " NUMBER " "(2.3.15+ only)" +the initial RTT variance estimate. + +.TP +.BI ssthresh " NUMBER " "(2.3.15+ only)" +an estimate for the initial slow start threshold. + +.TP +.BI cwnd " NUMBER " "(2.3.15+ only)" +the clamp for congestion window. It is ignored if the +.B lock +flag is not used. + +.TP +.BI advmss " NUMBER " "(2.3.15+ only)" +the MSS ('Maximal Segment Size') to advertise to these +destinations when establishing TCP connections. If it is not given, +Linux uses a default value calculated from the first hop device MTU. +(If the path to these destination is asymmetric, this guess may be wrong.) + +.TP +.BI reordering " NUMBER " "(2.3.15+ only)" +Maximal reordering on the path to this destination. +If it is not given, Linux uses the value selected with +.B sysctl +variable +.BR "net/ipv4/tcp_reordering" . + +.TP +.BI nexthop " NEXTHOP" +the nexthop of a multipath route. +.I NEXTHOP +is a complex value with its own syntax similar to the top level +argument lists: + +.in +8 +.BI via " ADDRESS" +- is the nexthop router. +.sp + +.BI dev " NAME" +- is the output device. +.sp + +.BI weight " NUMBER" +- is a weight for this element of a multipath +route reflecting its relative bandwidth or quality. +.in -8 + +.TP +.BI scope " SCOPE_VAL" +the scope of the destinations covered by the route prefix. +.I SCOPE_VAL +may be a number or a string from the file +.BR "/etc/iproute2/rt_scopes" . +If this parameter is omitted, +.B ip +assumes scope +.B global +for all gatewayed +.B unicast +routes, scope +.B link +for direct +.BR unicast " and " broadcast +routes and scope +.BR host " for " local +routes. + +.TP +.BI protocol " RTPROTO" +the routing protocol identifier of this route. +.I RTPROTO +may be a number or a string from the file +.BR "/etc/iproute2/rt_protos" . +If the routing protocol ID is not given, +.B ip assumes protocol +.B boot +(i.e. it assumes the route was added by someone who doesn't +understand what they are doing). Several protocol values have +a fixed interpretation. +Namely: + +.in +8 +.B redirect +- the route was installed due to an ICMP redirect. +.sp + +.B kernel +- the route was installed by the kernel during autoconfiguration. +.sp + +.B boot +- the route was installed during the bootup sequence. +If a routing daemon starts, it will purge all of them. +.sp + +.B static +- the route was installed by the administrator +to override dynamic routing. Routing daemon will respect them +and, probably, even advertise them to its peers. +.sp + +.B ra +- the route was installed by Router Discovery protocol. +.in -8 + +.sp +The rest of the values are not reserved and the administrator is free +to assign (or not to assign) protocol tags. + +.TP +.B onlink +pretend that the nexthop is directly attached to this link, +even if it does not match any interface prefix. + +.TP +.B equalize +allow packet by packet randomization on multipath routes. +Without this modifier, the route will be frozen to one selected +nexthop, so that load splitting will only occur on per-flow base. +.B equalize +only works if the kernel is patched. + +.SS ip route delete - delete route + +.B ip route del +has the same arguments as +.BR "ip route add" , +but their semantics are a bit different. + +Key values +.RB "(" to ", " tos ", " preference " and " table ")" +select the route to delete. If optional attributes are present, +.B ip +verifies that they coincide with the attributes of the route to delete. +If no route with the given key and attributes was found, +.B ip route del +fails. + +.SS ip route show - list routes +the command displays the contents of the routing tables or the route(s) +selected by some criteria. + +.TP +.BI to " SELECTOR " (default) +only select routes from the given range of destinations. +.I SELECTOR +consists of an optional modifier +.RB "(" root ", " match " or " exact ")" +and a prefix. +.BI root " PREFIX" +selects routes with prefixes not shorter than +.IR PREFIX "." +F.e. +.BI root " 0/0" +selects the entire routing table. +.BI match " PREFIX" +selects routes with prefixes not longer than +.IR PREFIX "." +F.e. +.BI match " 10.0/16" +selects +.IR 10.0/16 "," +.IR 10/8 " and " 0/0 , +but it does not select +.IR 10.1/16 " and " 10.0.0/24 . +And +.BI exact " PREFIX" +(or just +.IR PREFIX ")" +selects routes with this exact prefix. If neither of these options +are present, +.B ip +assumes +.BI root " 0/0" +i.e. it lists the entire table. + +.TP +.BI tos " TOS" +.BI dsfield " TOS" +only select routes with the given TOS. + +.TP +.BI table " TABLEID" +show the routes from this table(s). The default setting is to show +.BR table main "." +.I TABLEID +may either be the ID of a real table or one of the special values: +.sp +.in +8 +.B all +- list all of the tables. +.sp +.B cache +- dump the routing cache. +.in -8 + +.TP +.B cloned +.TP +.B cached +list cloned routes i.e. routes which were dynamically forked from +other routes because some route attribute (f.e. MTU) was updated. +Actually, it is equivalent to +.BR "table cache" "." + +.TP +.BI from " SELECTOR" +the same syntax as for +.BR to "," +but it binds the source address range rather than destinations. +Note that the +.B from +option only works with cloned routes. + +.TP +.BI protocol " RTPROTO" +only list routes of this protocol. + +.TP +.BI scope " SCOPE_VAL" +only list routes with this scope. + +.TP +.BI type " TYPE" +only list routes of this type. + +.TP +.BI dev " NAME" +only list routes going via this device. + +.TP +.BI via " PREFIX" +only list routes going via the nexthop routers selected by +.IR PREFIX "." + +.TP +.BI src " PREFIX" +only list routes with preferred source addresses selected +by +.IR PREFIX "." + +.TP +.BI realm " REALMID" +.TP +.BI realms " FROMREALM/TOREALM" +only list routes with these realms. + +.SS ip route flush - flush routing tables +this command flushes routes selected by some criteria. + +.sp +The arguments have the same syntax and semantics as the arguments of +.BR "ip route show" , +but routing tables are not listed but purged. The only difference is +the default action: +.B show +dumps all the IP main routing table but +.B flush +prints the helper page. + +.sp +With the +.B -statistics +option, the command becomes verbose. It prints out the number of +deleted routes and the number of rounds made to flush the routing +table. If the option is given +twice, +.B ip route flush +also dumps all the deleted routes in the format described in the +previous subsection. + +.SS ip route get - get a single route +this command gets a single route to a destination and prints its +contents exactly as the kernel sees it. + +.TP +.BI to " ADDRESS " (default) +the destination address. + +.TP +.BI from " ADDRESS" +the source address. + +.TP +.BI tos " TOS" +.TP +.BI dsfield " TOS" +the Type Of Service. + +.TP +.BI iif " NAME" +the device from which this packet is expected to arrive. + +.TP +.BI oif " NAME" +force the output device on which this packet will be routed. + +.TP +.B connected +if no source address +.RB "(option " from ")" +was given, relookup the route with the source set to the preferred +address received from the first lookup. +If policy routing is used, it may be a different route. + +.P +Note that this operation is not equivalent to +.BR "ip route show" . +.B show +shows existing routes. +.B get +resolves them and creates new clones if necessary. Essentially, +.B get +is equivalent to sending a packet along this path. +If the +.B iif +argument is not given, the kernel creates a route +to output packets towards the requested destination. +This is equivalent to pinging the destination +with a subsequent +.BR "ip route ls cache" , +however, no packets are actually sent. With the +.B iif +argument, the kernel pretends that a packet arrived from this interface +and searches for a path to forward the packet. + +.SH ip rule - routing policy database management + +.BR "Rule" s +in the routing policy database control the route selection algorithm. + +.P +Classic routing algorithms used in the Internet make routing decisions +based only on the destination address of packets (and in theory, +but not in practice, on the TOS field). + +.P +In some circumstances we want to route packets differently depending not only +on destination addresses, but also on other packet fields: source address, +IP protocol, transport protocol ports or even packet payload. +This task is called 'policy routing'. + +.P +To solve this task, the conventional destination based routing table, ordered +according to the longest match rule, is replaced with a 'routing policy +database' (or RPDB), which selects routes by executing some set of rules. + +.P +Each policy routing rule consists of a +.B selector +and an +.B action predicate. +The RPDB is scanned in the order of increasing priority. The selector +of each rule is applied to {source address, destination address, incoming +interface, tos, fwmark} and, if the selector matches the packet, +the action is performed. The action predicate may return with success. +In this case, it will either give a route or failure indication +and the RPDB lookup is terminated. Otherwise, the RPDB program +continues on the next rule. + +.P +Semantically, natural action is to select the nexthop and the output device. + +.P +At startup time the kernel configures the default RPDB consisting of three +rules: + +.TP +1. +Priority: 0, Selector: match anything, Action: lookup routing +table +.B local +(ID 255). +The +.B local +table is a special routing table containing +high priority control routes for local and broadcast addresses. +.sp +Rule 0 is special. It cannot be deleted or overridden. + +.TP +2. +Priority: 32766, Selector: match anything, Action: lookup routing +table +.B main +(ID 254). +The +.B main +table is the normal routing table containing all non-policy +routes. This rule may be deleted and/or overridden with other +ones by the administrator. + +.TP +3. +Priority: 32767, Selector: match anything, Action: lookup routing +table +.B default +(ID 253). +The +.B default +table is empty. It is reserved for some post-processing if no previous +default rules selected the packet. +This rule may also be deleted. + +.P +Each RPDB entry has additional +attributes. F.e. each rule has a pointer to some routing +table. NAT and masquerading rules have an attribute to select new IP +address to translate/masquerade. Besides that, rules have some +optional attributes, which routes have, namely +.BR "realms" . +These values do not override those contained in the routing tables. They +are only used if the route did not select any attributes. + +.sp +The RPDB may contain rules of the following types: + +.in +8 +.B unicast +- the rule prescribes to return the route found +in the routing table referenced by the rule. + +.B blackhole +- the rule prescribes to silently drop the packet. + +.B unreachable +- the rule prescribes to generate a 'Network is unreachable' error. + +.B prohibit +- the rule prescribes to generate 'Communication is administratively +prohibited' error. + +.B nat +- the rule prescribes to translate the source address +of the IP packet into some other value. +.in -8 + +.SS ip rule add - insert a new rule +.SS ip rule delete - delete a rule + +.TP +.BI type " TYPE " (default) +the type of this rule. The list of valid types was given in the previous +subsection. + +.TP +.BI from " PREFIX" +select the source prefix to match. + +.TP +.BI to " PREFIX" +select the destination prefix to match. + +.TP +.BI iif " NAME" +select the incoming device to match. If the interface is loopback, +the rule only matches packets originating from this host. This means +that you may create separate routing tables for forwarded and local +packets and, hence, completely segregate them. + +.TP +.BI tos " TOS" +.TP +.BI dsfield " TOS" +select the TOS value to match. + +.TP +.BI fwmark " MARK" +select the +.B fwmark +value to match. + +.TP +.BI priority " PREFERENCE" +the priority of this rule. Each rule should have an explicitly +set +.I unique +priority value. + +.TP +.BI table " TABLEID" +the routing table identifier to lookup if the rule selector matches. + +.TP +.BI realms " FROM/TO" +Realms to select if the rule matched and the routing table lookup +succeeded. Realm +.I TO +is only used if the route did not select any realm. + +.TP +.BI nat " ADDRESS" +The base of the IP address block to translate (for source addresses). +The +.I ADDRESS +may be either the start of the block of NAT addresses (selected by NAT +routes) or a local host address (or even zero). +In the last case the router does not translate the packets, but +masquerades them to this address. + +.B Warning: +Changes to the RPDB made with these commands do not become active +immediately. It is assumed that after a script finishes a batch of +updates, it flushes the routing cache with +.BR "ip route flush cache" . + +.SS ip rule show - list rules +This command has no arguments. + +.SH ip maddress - multicast addresses management + +.B maddress +objects are multicast addresses. + +.SS ip maddress show - list multicast addresses + +.TP +.BI dev " NAME " (default) +the device name. + +.SS ip maddress add - add a multicast address +.SS ip maddress delete - delete a multicast address +these commands attach/detach a static link layer multicast address +to listen on the interface. +Note that it is impossible to join protocol multicast groups +statically. This command only manages link layer addresses. + +.TP +.BI address " LLADDRESS " (default) +the link layer multicast address. + +.TP +.BI dev " NAME" +the device to join/leave this multicast address. + +.SH ip mroute - multicast routing cache management +.B mroute +objects are multicast routing cache entries created by a user level +mrouting daemon (f.e. +.B pimd +or +.B mrouted +). + +Due to the limitations of the current interface to the multicast routing +engine, it is impossible to change +.B mroute +objects administratively, so we may only display them. This limitation +will be removed in the future. + +.SS ip mroute show - list mroute cache entries + +.TP +.BI to " PREFIX " (default) +the prefix selecting the destination multicast addresses to list. + +.TP +.BI iif " NAME" +the interface on which multicast packets are received. + +.TP +.BI from " PREFIX" +the prefix selecting the IP source addresses of the multicast route. + +.SH ip tunnel - tunnel configuration +.B tunnel +objects are tunnels, encapsulating packets in IPv4 packets and then +sending them over the IP infrastructure. + +.SS ip tunnel add - add a new tunnel +.SS ip tunnel change - change an existing tunnel +.SS ip tunnel delete - destroy a tunnel + +.TP +.BI name " NAME " (default) +select the tunnel device name. + +.TP +.BI mode " MODE" +set the tunnel mode. Three modes are currently available: +.BR ipip ", " sit " and " gre "." + +.TP +.BI remote " ADDRESS" +set the remote endpoint of the tunnel. + +.TP +.BI local " ADDRESS" +set the fixed local address for tunneled packets. +It must be an address on another interface of this host. + +.TP +.BI ttl " N" +set a fixed TTL +.I N +on tunneled packets. +.I N +is a number in the range 1--255. 0 is a special value +meaning that packets inherit the TTL value. +The default value is: +.BR "inherit" . + +.TP +.BI tos " T" +.TP +.BI dsfield " T" +set a fixed TOS +.I T +on tunneled packets. +The default value is: +.BR "inherit" . + +.TP +.BI dev " NAME" +bind the tunnel to the device +.I NAME +so that tunneled packets will only be routed via this device and will +not be able to escape to another device when the route to endpoint +changes. + +.TP +.B nopmtudisc +disable Path MTU Discovery on this tunnel. +It is enabled by default. Note that a fixed ttl is incompatible +with this option: tunnelling with a fixed ttl always makes pmtu +discovery. + +.TP +.BI key " K" +.TP +.BI ikey " K" +.TP +.BI okey " K" +.RB ( " only GRE tunnels " ) +use keyed GRE with key +.IR K ". " K +is either a number or an IP address-like dotted quad. +The +.B key +parameter sets the key to use in both directions. +The +.BR ikey " and " okey +parameters set different keys for input and output. + +.TP +.BR csum ", " icsum ", " ocsum +.RB ( " only GRE tunnels " ) +generate/require checksums for tunneled packets. +The +.B ocsum +flag calculates checksums for outgoing packets. +The +.B icsum +flag requires that all input packets have the correct +checksum. The +.B csum +flag is equivalent to the combination +.BR "icsum ocsum" . + +.TP +.BR seq ", " iseq ", " oseq +.RB ( " only GRE tunnels " ) +serialize packets. +The +.B oseq +flag enables sequencing of outgoing packets. +The +.B iseq +flag requires that all input packets are serialized. +The +.B seq +flag is equivalent to the combination +.BR "iseq oseq" . +.B It isn't work. Don't use it. + +.SS ip tunnel show - list tunnels +This command has no arguments. + +.SH ip monitor and rtmon - state monitoring + +The +.B ip +utility can monitor the state of devices, addresses +and routes continuously. This option has a slightly different format. +Namely, the +.B monitor +command is the first in the command line and then the object list follows: + +.BR "ip monitor" " [ " all " |" +.IR LISTofOBJECTS " ]" + +.I OBJECT-LIST +is the list of object types that we want to monitor. +It may contain +.BR link ", " address " and " route "." +If no +.B file +argument is given, +.B ip +opens RTNETLINK, listens on it and dumps state changes in the format +described in previous sections. + +.P +If a file name is given, it does not listen on RTNETLINK, +but opens the file containing RTNETLINK messages saved in binary format +and dumps them. Such a history file can be generated with the +.B rtmon +utility. This utility has a command line syntax similar to +.BR "ip monitor" . +Ideally, +.B rtmon +should be started before the first network configuration command +is issued. F.e. if you insert: +.sp +.in +8 +rtmon file /var/log/rtmon.log +.in -8 +.sp +in a startup script, you will be able to view the full history +later. + +.P +Certainly, it is possible to start +.B rtmon +at any time. +It prepends the history with the state snapshot dumped at the moment +of starting. + +.SH HISTORY + +.B ip +was written by Alexey N. Kuznetsov and added in Linux 2.2. +.SH SEE ALSO +.BR tc (8) +.br +.RB "IP Command reference " ip-cref.ps +.br +.RB "IP tunnels " ip-cref.ps + +.SH AUTHOR + +Manpage maintained by Michail Litvak diff --git a/ip/ip b/ip/ip deleted file mode 100755 index 5ba7f4e098021fc7c776572b0e7252b685e7fa4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153676 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

;-+@#l`VbsyI2tg( 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 diff --git a/ip/ip.o b/ip/ip.o deleted file mode 100644 index 61cd6c43db4fd999e0f3ff5f9ce2fb8527f014f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6928 zcmb_g4Qw1o6@KSSTGwg3Nz;a;q+#liDk-_cc0wANrpnn4Iaf|x#de8s-0Ru5ms@;qgAYARHzEkcz*l`1ME1h}M?(jyR3C@K{aKdJK`FppI9q#@@T_gfhBJcoIpQmWJxZhdlg zJtD8-znAw%04|_~1%?Gd5U^f0o1M#M=Mw#izQoK@e{$wu7d{IBz1+YgrzcD0u9-{5 z^o}S%S8ypYwG=VFc@+SXvxD`<{3c`m;?zRSUvJEJM6k2QnD3}7m5u3rQGm18V@ByE z0B9+n9goB=pnv1r5i@=ZpYi>4q*V3|o^bTIIKLbOoI^L2%0A(*HsY&i*(+Qq&Hh!sQ0SGFE2yhF zIp;x6 z5U@40IDR7t#3Ecgd*kDaO7lnOG{E;n0M|dpR3x?auA8pv zJ}z~;XD+j)sttzrYd~`5EruA=8<)}aL7do@GSjV|hO1oOU3EFR90cqDV0M^dOK|PA zRVrI>^;Fc4jk#W+|bM$E9 zSSOhvIWu1*lMSOe(=~}Cv>hblByZUxWP+qK8JA2D*YT-|t)IunHmy@RGC`lVnQRFVNQx3Px@OxLp+i)OA^ZtqzhL5%pe&jmTgip!J7Tp7RSg0$#9SjZW28>1GbsBY;%xIHURV#spZ(D zX{XmjERXp1i0zEpdkA&UkS420VwkU{c;)u*8Tzt0OvCw-9?P<@0AphR_5(%&C&4OW znxFx!B1;%pMV2pY{X8}-*I*SfX0VDpMUd?R|UuCtMRbxl{}uFl5hskHz{Iy&0Ot|Q0#cay#GeeqV(+T6Ua zrMcxkvg^2+A;~o5cx-<>JG^%{K-@c1py?rqd(`D^PWD_gpN>;=j6yt7Ap3SO!5`Yx|x)g8YND(U~QSG50@d#Tu4EG5CQSmILEc{|YqzV=rs^Gk$O-1T5F+*E`jR5`#j<00!oIG5LJ)UIq7eBg+dknRD_m91V$}!$ITcj$ zC#5GO|5xthjAlW^Y8!JY@y`of-U|}%#x)>psL~sPe<=h{0l;k#sq7RR!9B?O-h!Ji7jp9{f%5Q6_S1pj#m{zeG?#}NE4A^1BX_`4xESjG4-^d3t*)SK+- z10Ty)NcDE7pi-9bf+dx6JnDg$b4F9VtSP!?)^uGnlM*G0M>D4DLUz=(s0rqnMWK+k zZ1AY-4(D7br0HS#iaBqK;vGS;u6Y z6f0%0h;mOsw&+?m&4Os8H|~Rr+}C)<;gPh2ABch=koyCVN%e}x`xpiJcm+%TP6gkj z;14P|?p4WuR^Vt~?opH%6#iy~e_7*8owqccefa`__ca`2Lb*vCQ5Zk&myg7FTSM@p z3XZmA{Ko|@{(r66`JS-zhQe3sSg zcyFLwSNN*^s3=Kf{(mF*>jbXn{|<$Z=i33X?wb_8dLHgpaNN5x&bXFQ zd7hXd{L=~_yE$RMOF2(Iq0D1i!SQa9^Ls|Yw<`GC3XXS<r%3<+ diff --git a/ip/ipaddress.o b/ip/ipaddress.o deleted file mode 100644 index 9d3fa3b6c0faf393f3b900fc2032722687e207a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28616 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 diff --git a/ip/ipmaddr.o b/ip/ipmaddr.o deleted file mode 100644 index fc862e5f5fdc7cd2bcdfbda5fbba8910cd65b0c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9832 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 diff --git a/ip/ipmonitor.o b/ip/ipmonitor.o deleted file mode 100644 index 9783beffb35fd568f1727f4a20af934326a0a71e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5208 zcmbW4Z)_Y#6~N!!xrv=Ww=EINI(l!tq5$Is)a(Zp~|AS zJ7bSGw?XQY?49||`!{cAXXZ}k@;joD2r!Ajr(mJCAgv_}?E$Yj0C89jk~5N+mK-hd zj^wD*Zs~Ar~95`@#g@f2S36u$L>V$byp6RobR&qZo^#hzPh?NIEwb=H7l&#iA-pBT@$ ziai^BJe3vB?^x1UEu4Spc}!Sx-cGlsvGwL%=~ujlh~HWiEgQ(C3@1W ze4~^QCHqSM<=YG?iqgF8aPzj~jUCaU)B&JGe<9f~cGh22l%{ZYc@!YuD9^(u zwn>ezftRS~px&~69V9~i1^{H9$MCuIHRkW+i_KiuKXY~0+SJ&DX{2AuI#cxt4P-+WR0Q3iuxTTSC zk?SpC;stvaBXnKOI#W-+3=oCqA{b^*{VnT@-URc`+uj_ddP_LHGy)(s?m}z&n&_Lf zuSky_$c$tTWDaHumxHyaeKzC0hFtpE%)2*TR~jElbZ4EvNY3lDe%|m{9|JUoY3A}(>cP@PmUoqBu<}3yYXjo~fF$}`Fs68#$Rtx6_BlfgbTPd6yjAElh zI5!xpw`!00t7oSBrtA7HJ3W_=+;rWvzYx6yF3zu^i!NKC!H~6Hsj(9EJmsH0h-E`( zz5_ISb5d%25;ZV4Z?5zM_D6q!L&N$Jy>e6+%fvM0!(^-2m)bJ6@NXIFpbYz?YE>*( zbk(XD;$xz$Y2pbnziaKJU7 zb-iMVN~KD4Kwo~oclr;AKxC|Y#nR3umIeS40B{c-L-{7=ij-Bz;nI+ly7JKPu;-{!T*tvcCRv;pcrzQKvJ(*B)N0%@Osmdi$@??td#Nfa5H>= zA_CSJfIHqi@y|Gb6CI2Fb}#P2hXEj<;z>&IpR;rjcUO$#?XCdO;}63Fl*eeF$%S@K z+r(N&eZF7&G>yN31*X!X@t5)8#oY&rzJ>yeix(F|T5a1LfJeFO4U$xO94$Q7^F(wT82h+YELgWrAlEw zA5g34sbCP3SOrDZEP~976og)k#jq?}#Zh8<*Ct{Zq*PGkvZ@^e|K?;`rAo~L!_u{a zVpPf)fcRbSW~FHbRadP-S+4q2Q%#HLK*m%HRJ~X!S2bdh0^TcRy#!Ta7!?EE62k!H zsG(W}zvu7M?Ev>ue)sti<+v9w2Y~nR0_(ai{Gy{m*E8dLIF4rw)#e{}1J? zZg>u$MCo~q!7@qSIDNi82RVK(=cmH) z`#AnM$N4;;pgfqT&FNze*u1{M@%uUcZO#wok3S1hzRT(J`Cka=v-{qq5dD?(DuMOq zfBI=Y p`#JqSPG9CY@8>H4KVP7JzRKzI-!)sm_*v4W?TJL~7-#o^{{h((A|C(% diff --git a/ip/ipmroute.o b/ip/ipmroute.o deleted file mode 100644 index 3783d575509c50f9245579add946c27191838c6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6872 zcmbtYeQXrR6@TZm!R6!50YVL>&DPmVYzZGWpaeOj^%;Z5&4nPaNhKhc<8BvUxv%c- zVWScQIv-?p9CiPwQYmTGR#76gRH9!FqApyqgOOUKHc2Z&iyEb>zzqlzQff89TfNyC z->`U9seK6V&ToJ7zUJ+l**mx~ys66L0WKc+5>!SNA)l$-x6|8p@WFf_`Rlc$xDb)E z_~$e}JcAmpQOvR|i{7cKI;^V0q24ny+)z*NHgfoSeH9~gwV58duV&NIZXo&^|CNttf^?|Hpl%# z?^5?q$cL&ij8VD08lV!1ZD2TTzRyBo77Jzn&`TZwQW}!my?A{^e!d!@yOgO8m%{Se zaH&&np-vF9Q?4VWPI*1ak5vf{SJRdic6^DZ04a+noIB({sI8S8q{1U8w-k^@;VI5#ELWT zoSnx#oo!hPiD}E?Wkn8;{2^LPoHcG;u$`f1CWd~e#aIHfd7 zmy|k7qd?Y2cP(r3C)1Wiid0cCEUyijcC=X5EZ!b@ec>(t&}PfBc(5$U$u?ZM(g_-B z*!=MH9R4cOwWNkVSW)be8yyo#;m`h|tJ9WsM#2Cpl}OAnW6pU1VvUhfSYC+>&`8Xi zYz>Hcg(|f!433gmr`#Ae?~vm9O2y<4$SXYuOPE>IYsLEecbJhNl4sW5Hd&;^<@?*7y8~)>E z44}B?w4e7Qd|+L)lYHagPw5RQ(t5Y=^W(Lxs0`&<(&uK~gvD z_?NIec)&AIw_tAVFx#wG0MP$jn%GUJua4fW1c3GYApnfB`wm}S*jFF&Ng-cjm#XoL=78nek`cQ)-(YG_5CR$x*LMJq1o3yey1tPXwXmw3<$=f zMihd(bsd6Q1_wxQ4X(R)*b4R>r7xmt(UbzgbjDDEU7LHGbt4+v3&B_>l~U4dasCg% zTwsc@XNzK=wE!MmZ3Mc~! z12iQX$FrXi-JMiG&197{sCyJc2VIXv(<($Fx}n8$S*Va=$&9YpGezxcB55dEB(CfO z-OysGEJHxeXsM_X>C51;EuGa8X+s5-UGW?j(T%8~gPP45F-W8pBNC0rwMZ&z#QGqz zEgYc=`!veXagdH>_k(W4GdTk&P0?YGVnni50?c!h;wUY@#w_$gkA8R4CnFk z^KzfS#~gD#hJ)YD>>d#K_)Wt3!w!BgXv8IE~IoJ)tm7xioxaNM(b zT)PE5*dKN>MM;4#=Klo;Kgak-UHGp#_`{6 z@EkyeZCJQ2;(ND*;m-P5Ch!{s{mlX{)=7xry#8NjW;Y3ZG2T}MzW83hF7O`~?4A^G zd`I~@z9HcFt@bGseGSaCh*1g;$Z<7&jb9tj@tm*;KKVf$NBd} YmJvA4&+jK4IR8$<^DPSJ^Yi0>06*?wU;qFB diff --git a/ip/ipneigh.o b/ip/ipneigh.o deleted file mode 100644 index 876eab67f4030ab835a39f981be7bf94e481be7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15680 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 C@)nZ- diff --git a/ip/iproute.o b/ip/iproute.o deleted file mode 100644 index 37f27793f03ac3ce28fa617d82a204f73cf1f97e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44480 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 diff --git a/ip/iprule.o b/ip/iprule.o deleted file mode 100644 index f880305ed0ac11f9c556c6e070ef3986b7617072..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11912 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 VIa}c3{jO*yaN*}GPCYy?{}0gnB{Bd2 diff --git a/ip/iptunnel.o b/ip/iptunnel.o deleted file mode 100644 index 4408086aca4f5d719085ed67f58e19a6a2f2ef16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17440 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 IoW3vkziM+yhX4Qo diff --git a/ip/rtm_map.o b/ip/rtm_map.o deleted file mode 100644 index 2daff0e7ecedf1165786bb6c981842cac223edb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4088 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 diff --git a/ip/xfrm_state.o b/ip/xfrm_state.o deleted file mode 100644 index 8fa15f78ac75e59408bb6470a917cd6f4ca53fbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21336 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 diff --git a/iproute.spec b/iproute.spec new file mode 100644 index 0000000..ae4eb4a --- /dev/null +++ b/iproute.spec @@ -0,0 +1,227 @@ +%define name iproute +%define version 2.6.11 +%define release 1%{?pldistro:.%{pldistro}}%{?date:.%{date}} + +Vendor: PlanetLab +Packager: PlanetLab Central +Distribution: PlanetLab 3.0 +URL: http://cvs.planet-lab.org/cvs/iptables + +Summary: Advanced IP routing and network device configuration tools. +Name: %{name} +Version: %{version} +Release: %{release} +Group: Applications/System +#Source: http://developer.osdl.org/dev/iproute2/download/iproute2-%{version}-050314.tar.gz +#URL: http://developer.osdl.org/dev/iproute2/ +Source: %{name}-%{version}.tar.gz +%define SOURCE1 ip.8 +%define SOURCE2 tc.8 +%define SOURCE3 tc-cbq.8 +%define SOURCE4 tc-cbq-details.8 +%define SOURCE5 tc-htb.8 +%define SOURCE6 tc-pbfifo.8 +%define SOURCE7 tc-pfifo_fast.8 +%define SOURCE8 tc-prio.8 +%define SOURCE9 tc-red.8 +%define SOURCE10 tc-sfq.8 +%define SOURCE11 tc-tbf.8 +License: GNU GPL +BuildRoot: %{_tmppath}/%{name}-%{version}-root +BuildPrereq: tetex-latex tetex-dvips psutils linuxdoc-tools db4-devel bison + +%description +The iproute package contains networking utilities (ip and rtmon, for +example) which are designed to use the advanced networking +capabilities of the Linux 2.4.x and 2.6.x kernel. + +%prep +%setup -q + +%build +make +make -C doc + +%install +#rm -rf $RPM_BUILD_ROOT +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT + +mkdir -p $RPM_BUILD_ROOT/sbin \ + $RPM_BUILD_ROOT%{_sbindir} \ + $RPM_BUILD_ROOT%{_mandir}/man8 \ + $RPM_BUILD_ROOT/etc/iproute2 \ + $RPM_BUILD_ROOT%{_libdir}/tc + +install -m 755 ip/ip ip/ifcfg ip/rtmon tc/tc $RPM_BUILD_ROOT/sbin +install -m 755 misc/ss misc/nstat misc/rtacct misc/lnstat misc/arpd $RPM_BUILD_ROOT%{_sbindir} +install -m 755 tc/q_netem.so $RPM_BUILD_ROOT%{_libdir}/tc +install -m 644 netem/normal.dist netem/pareto.dist netem/paretonormal.dist $RPM_BUILD_ROOT%{_libdir}/tc +install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/%{_mandir}/man8 +install -m 644 %{SOURCE2} $RPM_BUILD_ROOT/%{_mandir}/man8 +install -m 644 %{SOURCE3} $RPM_BUILD_ROOT/%{_mandir}/man8 +install -m 644 %{SOURCE4} $RPM_BUILD_ROOT/%{_mandir}/man8 +install -m 644 %{SOURCE5} $RPM_BUILD_ROOT/%{_mandir}/man8 +install -m 644 %{SOURCE6} $RPM_BUILD_ROOT/%{_mandir}/man8 +install -m 644 %{SOURCE7} $RPM_BUILD_ROOT/%{_mandir}/man8 +install -m 644 %{SOURCE8} $RPM_BUILD_ROOT/%{_mandir}/man8 +install -m 644 %{SOURCE9} $RPM_BUILD_ROOT/%{_mandir}/man8 +install -m 644 %{SOURCE10} $RPM_BUILD_ROOT/%{_mandir}/man8 +install -m 644 %{SOURCE11} $RPM_BUILD_ROOT/%{_mandir}/man8 + +cp -f etc/iproute2/* $RPM_BUILD_ROOT/etc/iproute2 +rm -rf $RPM_BUILD_ROOT/%{_libdir}/debug/* + +%clean +#rm -rf $RPM_BUILD_ROOT +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +%dir /etc/iproute2 +%doc README.decnet README.iproute2+tc RELNOTES +%doc doc/*.ps examples +/sbin/* +%{_mandir}/man8/* +%attr(644,root,root) %config(noreplace) /etc/iproute2/* +%{_sbindir}/* +%{_libdir}/tc/* + +%changelog +* Tue Mar 15 2005 Radek Vokal 2.6.11-1 +- update to iproute-2.6.11 + +* Fri Mar 04 2005 Radek Vokal 2.6.10-2 +- gcc4 rebuilt + +* Wed Feb 16 2005 Radek Vokal 2.6.10-1 +- update to iproute-2.6.10 + +* Thu Dec 23 2004 Radek Vokal 2.6.9-6 +- added arpd into sbin + +* Mon Nov 29 2004 Radek Vokal 2.6.9-5 +- debug info removed from makefile and from spec (#140891) + +* Tue Nov 16 2004 Radek Vokal 2.6.9-4 +- source file updated from snapshot version +- endian patch adding + +* Sat Sep 18 2004 Joshua Blanton 2.6.9-3 +- added installation of netem module for tc + +* Mon Sep 06 2004 Radek Vokal 2.6.9-2 +- fixed possible buffer owerflow, path by Steve Grubb + +* Wed Sep 01 2004 Radek Vokal 2.6.9-1 +- updated to iproute-2.6.9, spec file change, patches cleared + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Wed May 26 2004 Phil Knirsch 2.4.7-16 +- Took tons of manpages from debian, much more complete (#123952). + +* Thu May 06 2004 Phil Knirsch 2.4.7-15 +- rebuilt + +* Thu May 06 2004 Phil Knirsch 2.4.7-13.2 +- Built security errata version for FC1. + +* Wed Apr 21 2004 Phil Knirsch 2.4.7-14 +- Fixed -f option for ss (#118355). +- Small description fix (#110997). +- Added initialization of some vars (#74961). +- Added patch to initialize "default" rule as well (#60693). + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Wed Nov 05 2003 Phil Knirsch 2.4.7-12 +- Security errata for netlink (CAN-2003-0856). + +* Thu Oct 23 2003 Phil Knirsch +- Updated to latest version. Used by other distros, so seems stable. ;-) +- Quite a few patches needed updating in that turn. +- Added ss (#107363) and several other new nifty tools. + +* Tue Jun 17 2003 Phil Knirsch +- rebuilt + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Thu Jan 16 2003 Phil Knirsch 2.4.7-7 +- Added htb3-tc patch from http://luxik.cdi.cz/~devik/qos/htb/ (#75486). + +* Fri Oct 11 2002 Bill Nottingham 2.4.7-6 +- remove flags patch at author's request + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Wed Jun 19 2002 Phil Knirsch 2.4.7-4 +- Don't forcibly strip binaries + +* Mon May 27 2002 Phil Knirsch 2.4.7-3 +- Fixed missing diffserv and atm support in config (#57278). +- Fixed inconsistent numeric base problem for command line (#65473). + +* Tue May 14 2002 Phil Knirsch 2.4.7-2 +- Added patch to fix crosscompiling by Adrian Linkins. + +* Fri Mar 15 2002 Phil Knirsch 2.4.7-1 +- Update to latest stable release 2.4.7-now-ss010824. +- Added simple man page for ip. + +* Wed Aug 8 2001 Bill Nottingham +- allow setting of allmulti & promisc flags (#48669) + +* Mon Jul 02 2001 Than Ngo +- fix build problem in beehive if kernel-sources is not installed + +* Fri May 25 2001 Helge Deller +- updated to iproute2-2.2.4-now-ss001007.tar.gz +- bzip2 source tar file +- "License" replaces "Copyright" +- added "BuildPrereq: tetex-latex tetex-dvips psutils" +- rebuilt for 7.2 + +* Tue May 1 2001 Bill Nottingham +- use the system headers - the included ones are broken +- ETH_P_ECHO went away + +* Sat Jan 6 2001 Jeff Johnson +- test for specific KERNEL_INCLUDE directories. + +* Thu Oct 12 2000 Than Ngo +- rebuild for 7.1 + +* Thu Oct 12 2000 Than Ngo +- add default configuration files for iproute (Bug #10549, #18887) + +* Tue Jul 25 2000 Jakub Jelinek +- fix include-glibc/ to cope with glibc 2.2 new resolver headers + +* Thu Jul 13 2000 Prospector +- automatic rebuild + +* Sun Jun 18 2000 Than Ngo +- rebuilt in the new build environment +- use RPM macros +- handle RPM_OPT_FLAGS + +* Sat Jun 03 2000 Than Ngo +- fix iproute to build with new glibc + +* Fri May 26 2000 Ngo Than +- update to 2.2.4-now-ss000305 +- add configuration files + +* Mon Sep 13 1999 Bill Nottingham +- strip binaries + +* Mon Aug 16 1999 Cristian Gafton +- first build diff --git a/lib/dnet_ntop.o b/lib/dnet_ntop.o deleted file mode 100644 index 8cb237dc587479059d25e1b4dbb9ca02e24218d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1920 zcmbtU-)qxQ6h3J-yI-353kRE!hawxekZfZ*1zB9{veAtp>_Hfmtj%TO+DaQ?!a${~ z?lKE|75@YuCioyz(ALR1K?DmvjJ-_op#vXQ_Ru{@BR9EOyR>7V-$QcG&H2vx&N=ty zk&_}!K;S`_?a1b^j{ zuNZ(lA#iWwuB^%QNogsK3n;VGgc8?X`dMYE!=o(CdK&yoAy2E4_}sQ8UZ&W)z#>jBBdJ>r=m zo-b0eIAWy72DTU7#Kx<6mbh+saSjy=H`l%OAdDDkpR_eLux;{9BDXMQ7zRpy(c4q9 z_<@k*H_V8UUUcIPZe`tzzoD-6)sQ7_7ZnQ*`bCTWpx&3}u!<_9o^9jHJGuPVUZdj&=$pZi#^cz95%Q8lv zvWYtXDgHUNVR&fh8s9lQKH0_h3VlKk-y@2Bk|M97+@irnz-G`}<51l_RvV8hmLLpq}V8Ct(xC#k=_M*So{J%Wd@>=Z=d^qn|{ zPxMv7$v+KH)jNU=&3~toTq75WS4%2S57aK@H`Chf{@HzLJR*N9?O*3H`Huq8RR;y@ z(mTLbb-@B#vlFC0&QoXmlZjS?1uEVF_MrMQP6EK03O)9J=K?_0T{97iXnG)`NAC;4 q@)`mGEf$MJ1GCYfs^5)9%zH&ZWkH+oV=gMQlLPJuD?fyCiL?QlvlVuQ^B%u?M9Pw&@NLlZ_-(+G0Uv zsj!qnj{Pq@wx`lsA@(MM7cY9O;z98uMHqRzvu4?B5%jyvn{VFC``(*3^K|<5OiYr% zhXkY0nzfLLwd`@%9EUDQ0&OY)sokF3A>qyScdXa`lC_VM%U4p{%EV450Py{Z)XP2T zEp?RCZjbA=^uc*^Kxu>0265)KZ^S8UKZ*S{ZSyYT{24Po2qEJ6H_r%*8%G;hfV(OGa+b6(Y)V zL5vbeE8SfkiH0a5@|VRLVno=;4F&jpVdu}PFJiU~FgrOpqGo3EbA9TdKBNz*1KI3Q zE}OfdX6~AcDlwSH_Ydo|IM@fE*HhDK=L4X*z4v`i0`#=(>dp>C-4{_5x)1EA>RK#eghF`##I0S diff --git a/lib/inet_proto.o b/lib/inet_proto.o deleted file mode 100644 index d7d93e16ee71d5b68cce4d5a976f4c0d034082ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2616 zcmbtWU1$_n6h50-o7L)Ot3m^9VGGlmP&3SKMEhe)LbSPQmsqrUQNuEsoi)MT*=6>I zCLpx1M7T^t1z&vd!AGI*whe^_VnO=QHy;GiyqThf7AgpeDd*0;yC;(jedtHX-1+Wz z&OPVcbMNfeCrh99q*9=ff={6P*2T@9?s!BFM_?c90Vd9y>m^Y!{}RtjqGmp0qGoQe z_LG5+K1SJu_-9ny{Sk-!*akk>(kc_b@-Y_LD>(r81xfK1{*UIvd6;nTmc%3ZS`zCl zJa1-LSTl2_uwwR?!kU?9?b`!u6Yf)SZv`z&;!$B$>L34JtyZse{-(|_@tn1vWWpiT zE&aK0fQgrKO(|bm6@T#e`feHR4g2`+uWYt_$?RR(gK>%nQqgzoOSAW<&CSitrPaO@ zzp?i1jJR`ddM#RliHA}pvs#lfem@+^v2d7Vx2uy~_<0UJoSPPR*3c&cCpG4p&7i>> zL+?}~=AfELL24nlw>NV|ZH@^5Z)zg|xT?mVeQUILeUY^(FQoEppzTSu&7zG&M=3U=XGe&DoM$uoyX{LoRW>JASASgpl6 zcV@t9@gRE6>QUg;9E*Dk9IT4N9k6CvEwF+HzM#Bd6(ACMv*l{w)IG5L2KTJ-$*G|h zcif9$xs7_=^EnCqe*tsE(!CP%67@2`@mSMiXHvWY0BK4nG&9lQnzDaYt)pn@SGso< zZ)ih>OUh2`HR5X>29TP#z3vCOhXnEX3u^r$(IB)v#!aEip`Ry}J-G%XZYaSlHCC}w zV4dSRNgWMl0NA%f{<{;_U+;~g{*DHpkn2vsWz+EYmODtp*p@{EW5-HheYWp# zR>sohbzi5jejGpPJ%d;LTh+fI7~qtjhmVaO_P1)i7vqz?L? z9R=vbKyf;OKbye2%Kr`JMBmRrf_^c9|0aQlIp5=D`AxB0@Lk89^{gVyMT23@*qSL2 zgR)zn~Tu$o57sVtJJ_L`Z({_n`l>_f1jG;HQ)JW;aR}l zf1$pChgAM}9nd|r6pwoBC9NMz&`%IO^*>4YKH_IOfo~K4>WE1!6Fv5zj^}&Ace@(k z2gU2Wbl?6=^!tgQ2ZTRB__Vqounzc}K(G6@;^Y1g5j~CPFyUz(^!Ed&={?0%Jet>i F`Y&8KSF->B diff --git a/lib/ipx_ntop.o b/lib/ipx_ntop.o deleted file mode 100644 index 03effc229ae8069f980f48dc614bc69f9f20376c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1696 zcmbu9&r1|x7{|Zs?B-g_&J+eh9pJZVyGxNUgIF6V4T;_S7_j#XR^Stka3!@iX zA`u88IFIJ4$zY35cEv#?(1z^zNbUOst9`i2YHykSMX{Zzy!->eHd(Rdj}6zFHS|=R zBzfr_fYG|1ioa|ni&Z@puP2_B`?|EY*<#V9J6y{@p@_KjQFo3GuX8!)IadtJ$_xmp12ZWn+EA`42Q zHU5}4`3!)Qe2+NA^+QSJQH!4Jcqr*f)sE(pX>ODo9zLgb=Ef$v)E=!@>sGtd>E28_ z)30`3F{e~!Sf2iDpEh0S=>oLsV$m`tp;fJl_ni?^#hf!V%UrOaO&OK}ZL(U0r!{Bt z(-os=LMxRmQ_GD_oUK|$;Wo5FxmYwymM`c3L3Miq911w`W~|u{fg%LX2>?;C@Ntbh z6m2`qjpo80<=6cC@mY4~<1R=5L|B=ssJ>SRU`>xlX_{>}GBJvkxLUJNjc>SVI zsz1haC4`>(99HVHFlC7Cr4St<&QpGVf^Lt7^p5z%4X^tThr}YYVDE@QDi*+3?}H<} zcF{jkf7=1^)4YE)AAW-Q9|YM&@y!X_mk#hE?VBPGDRjbV=6I0-B+$dUA8EJxCJ6w? zeEEp?=QyzMuDQ(4FXT&Bd0s2*ipb~9N~KiJ&y@>?HCrwL?!6@F-%yW#J01#eU{Fu* J01^D3e*s>UzGDCY diff --git a/lib/ipx_pton.o b/lib/ipx_pton.o deleted file mode 100644 index e6064cc98947a64ddd9a1f4bd9683a9861008087..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2008 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 OWna|cGcH`z+y4LyuAAln diff --git a/lib/ll_proto.o b/lib/ll_proto.o deleted file mode 100644 index 491146cea570c4c4819096e4946b517bddcb5b11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4120 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 diff --git a/lib/rt_names.o b/lib/rt_names.o deleted file mode 100644 index acab8ccbe695e054f14b1e3329e57ee38c873541..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21104 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 diff --git a/misc/arpd b/misc/arpd deleted file mode 100755 index cb898a9fba2b760be23c973ad351ebf699d13012..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41062 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 Hp6mYuHPPXV diff --git a/misc/lnstat b/misc/lnstat deleted file mode 100755 index c59931a90587f955be55bf44f045a57b94e92822..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19999 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 diff --git a/misc/lnstat.o b/misc/lnstat.o deleted file mode 100644 index b272d8789126f144d4024ebdbeae86fa9f1f2166..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11104 zcmeHNeQ+DcbzcayO{fY%rAo`TY;$&wHI)(&z&I&IvlL;1(!qvg*`hu?mQ6#41A!0( zFn0%0Y#2!nNLx1-q?}gMN!m;u=MRlL(@Z^0KUBw-AxjjZHqNB(#PN(PE1l^i;yBE> z`HjD9W5@5q@?P*PVJJ;?< z+}jbhk##V|`h{Zu0RVgc5&l{~jW^D~%@z2g*dKz+3xkZYGeGh&-B zlz-6{|Dw(QMZe=;^hy7sxPQ^F`4|0Ot0J(%US5wuwJy7{&E*zzxy8i(vAC1im#}Uo z_9n(t*3ZsBBlqr6p8U~)b&RF#A-S29ht@I1nn`(pU;Cghlx9+v*7{?ik+K@$`Dbot zEafy#-+{fAwk}*(tg}BoRZS?(d3iS<9f_CWW^pXuaQpoQAWB<5NLuf@-qo%-=0xqv zw%WCUnLexG$V;HmiuEPR`u20~Fafu(JbS}&{u}!0vr7G>>rT?Txi+rsgL0o@CFR({ zo8kFC4=`4nllubU`O^W$lqb(aP~et5`dH#%;<3cziHUQ30DB{Lp%I?H+i@JlYP#b% zzJj=7HN*289LGsD-Nrx%EXFU!UyEPmP5y{=?(`f`bN_s?^u;gT%RL!meE zkTpDCzUerwmSQ#E?sxsOKLXsfUu+9M{m@OvvA*M#*V{%EYshUz{k}llv2Fu3WKyhV z^}_O<-2Tw=XB@|gUv>GGGi!!Z>g9yf^eS2N{{|yt`A0V#rYVV@q^$XI-3>kVUn zO8pl_T~g|s9#-mY4W+*6yWmaAz1KUH`Uzztq^9F=N!pLME7tv;X=_p1$k^Dzo7Ily z_V#wh80SnlXPu?3H}t>UX|tURjq1syW)z z&{gW)m*8rTcBSplbSA8Zb=FGCUGYY$*4*IrfjTaCEB0t-+PYyMl)DtWJ>F2P?<~h9cB#}v))pkJR9ody>6%FF6*GYNwGG_Z^spTPHwkNc@rw9g2Q~GC!F)C z+66w8gMD(Mc0F`#r((UGww(0lUwWQwJ!ibQ%8{risdBjf31GV=8M|)H1l2T|)=5jgZ>=ntnkhHFR>Fmwm=GR|Yv~{_9r~TbIm@ z&c*P_SK^Jag_ZEh#=QzJJLeSJn~i)n{dg_iZ~bj( z&9T=Zo-v+{yz!H^d!Wb|Q`Duj^{$(O-IQ~aG3G2O^)`2cEB1j-Tj}DNL$UXaq^+xI z>xUfhxb$zNtsl5Xapc-_@{sEdH2U78EQLS!Gno6Wr)Yd->r%LO<+|gf)t|uZ18>2Z zblpq+Df@3_w_EC8cCYFBRHxV2g@$5{cAEVOduO|1vxSRk>v@=q)%HYl%$ACxXQ$mJFF*R;YHmr{CtXUKAl{>I_0AKqJbR1soKP-GUI0Y? z!Y#_DZc%RBqI`yzAJ%lEP%bgGTrHU_Tb-`3T%oA3yjHBRLdn$h!Xwpb zZgDI3v7RdH>FKFPd#c79b8m~)Ikvr^6|>S4J;vQqwKP>K&y?0PHd?OC>V?U?DfNzS zmil9{d!$3Nl9JIg#jLbnE1H@#RLtbc`lL28S*lK#OH)R)tWOTZvWzh{o-Y_uMK4e4 znQ5tDNI6~8B%_=&XEM4b6$`3XGPJBzEoC)b+Ocb|v}1SraR2(5f|-{R_w9Kwy?1;p z{fM;dL1};D;fE8u#vh5U2kKB{pA?DkUI>MD>xGiJ8qIP}+U=R-UVy$TMIvr*Nki^s zm{;OYQmHz9NYkM%cAv2x>Sd)!1p3zug_70jic~BZCTL|2X9~s4p`s>1#~WLwv{?iC zEhj}HfJj5|cQ~}i%$NnkEU1R7D4AucYG~+KD3X^V5g0Y0kQ*zwm8Lbr$V`G#C{mCj z5%fqJDwNE_!=XKzx#}el-VN~GlA)>PQWo51p~#dJiGWYiR3H3AqtQ^ZU{s2kS*ctq z&Pr~XQPI>wuApVt{F#v=5qGRgr9Sw9iu+;gO1ZKwX&E&y>jsKVb3j*(HkN^uD z>D+Kf`yx-Qu#|I`b6ozA;}3Ln)?m{##D7ulg8dO=?7oi9KUz1|(e;JkSci09NAKrv ztGA^(Vu_A{9UY6e)$Vxec3xx0=;)x-yJOeh&C(~L_eA^M921Yle_!f-Sj$RE#`N&W zr=mIa6Pp=}8ne@8<`9b-rtV$yc&BT{Ow`nln9RG)X3PwW9x@CT)ywbzb>h+Z`yU6m zwx_}$wERR4(lLvc%BB|Gv1@O{Fd>;n)$;VTRx-K!|675LCWI8jf#RJdF!ohgaT6iO z4X*qaW2}voqg?6o?z-Tx0M^vp4$|>r1{-UzAN17LB;?&nyuVT0jWLnm^|8;~B^YCG za9ywuHbnby8~~VTU*hTIh!7ajKAdWRi~YnW5Ul@00mtUxbFA;!Lmid?Wh%D7Mb-r(^&;BN7}{)4($ANvp1OJG8@|4xTz;RqVyg7r}{ zKK5fUFc@Pot_b}HU4r$|eudi?B@Y!^h!75T{1)|Ld{7bVZ)`DkK)%H7TeNZuTdiUT zlIIC=kq=CmcR(q&AEt>oc0sQFx_e>oc$ZZX{r3~lYh(ZEv?>q!umoFr0{-zqBuMZB zS;y<+0O6tYKgf7;Cjv29NBqI}101geh~0KRkAIWn5`R8GxPq(EeZK_Vk@rCfGM?N7 z2{JzUh59Ce|$X{Yk1&R9LaOT)b|6U&)^7w~YfF0)@kMBpwJFR$j`rwdfTIs`n zrxgzKvK2n-gTp**rT-^B_@DXUr+o0Q`QU%=gTv8LD}T=W;Q!=;J)7lfal&2mmoi0WK%E>C zxLeKXOtDy2nNi|?7^Ys-z;3o&HC=ZM)UQ^u8B=3MQPV1jeNJfVq6# z@dRfUyR{DZ)Qsrp5tPkGJ}obtRT@WgmN`ySD!JTSjN#BsI4ag5IsoaZMT7vuaM z!Kpv(ydLske*F-~MV?Irr#v4Mc-%uz##k@Wr|sH8aLO}GcwoLf!Tla3`jqE>f>WMH z2oKDQclh(;M4$3#1gAV@f`6FIqr(LMRe~=O9NyhH@804#&I>&M`Z>p8nGEec%G=up zf#>;wu8Tqh2mPnH{w9vY1-}2G-H&q|`1w-Ym3sspoL>(Rec*qF^Q%Ok`jaO(^~c~i zT&O=M1pU9_{B@!aOFs0!NpM&zBmOOd{|3P?3H;yS{Qp7pA;%)myBvqu!2S>4ad+@W zLNV+OQU5NEV?QE)l;~6b?HosbT<=d3ecG;~!0&$gfkSwr59bKz&oP2io_T`P`24ZJ zkN$s^=tCTk|8IQs&u|>uh3ol?K0MzhIE~LWf>Zy4d@~O5r~bi2Y!vc;xf68%;PcMJ|x{v;5zIXyZsXzS$hcy`bpXRv8{}9o?i|9X2 zaQYs}5}exA3H~v{bA;eD4#x;i{ro(~vA_PA_t!HVNB>d2MtEra&k&rhOV1OW`tv%$ zX?rgd96qXHJR>}Tpg)*TJ}KZR!yJeHf+HT}DG;3cbDZEb51bJA`6H|I8;sk(a>FMH z4~@fL5S*?D&|i4X^C{vAp1&cEc5&T}I6r<`T?Zi!Hb7v%34%D}M3ArWE8^})UXni$ zhkZN9_xTm^kMn02ApGL_Am~FMEb}~$?Lhn?C?xMy5l4SToW=(zkO%%T3q;h%eUOOb zeoMq@oGHKJ!;kwQkq6IRL>$+xB97l(MI6oJN5sB56_|xj_W>=pN=2O zkNYE0|9Kz&(>^%9$3!07pNaT)e0cC&T-2xInfi~P>_vS%Ulj3cK6YKj7X5|$DUqiW zfEM~)J~*BiBF~+W%*cKU@l71ZeI(*IUj_vJpYwSN|DgjS>MH_{^BVsx5A`o|o&$nD z+Qt1S>d$fgypMjx2S4J2<31Jn(e4Q!ef$n5>VMHk|0@DM!To=5E*Q z?vYpu5OltX(Rsm?idJoYAWDCXz@TuF@42(>HMF?~MbWt^wV^BNrS44i zq}FH1nV#h2I{e6|t<4D49$(XfP^#mv_7ynycbpsbMzPym$D#3#cQRuG`?k0E3at+n z*O4Pi?lWB<(uXp&*X5Nh2pxmbYMqRf@5gRhj%RAWr1)Mhj8MuOOHN`khDlnEP-ez` zU5>XPlsrwlsnxq>Fs~2Uf5N%4{&PY zZT!eSh#*bAzGqWvV`@|C-c)u(2lw=$p5*Cun0&*6#N=bDV`4#U;4_2}u3d(!hhhWY z&~`;?K?sK{;23sm^wZHSWA{lIc<60hdksRxZc&a?HML563q&0ocoZSD7uErjBgcL{ z?RmA=ARg@2FpY9TV*cP-YNfXylhhiV+fNhh4vqk)W7@u?dfGVx1bkhpJ$V3s^&;4v z7-x2=NnCr9`an+5%u+0Q8mwM5?Rm$q^E{7H=r|@PDCKyT4s=FvI2FMiX*m*m%$xSS zq2t%WfS+wC?-YuSn?2=Qb=C@Tp>mI zYh3xXtz#lXPG!iu4=%#F5ruq|sqGl`byn-nmEK6l#Ey?}ZKE8)wW1tP)|FabZdGbU zS;CclZ6mWoFN7L~Sg^V-*vI4~wM>1;kSXxs4ZMg)bO2ZDn2b7o`Y>JuD=?P;b^!4g3Z`BxzyVRA$tOV5ie^Mjx%!sG}ZtHQcNHSvUDQuSB;6X){T zFfbW!h=VV8^1#GFwtgF40jsGyyOO6{ ziw(R_UG|FzSL@EtcW%ERQl9LpPGa}23-zILKPHD^(#W*u(Mcn*fhS;6?Uk8xL99rH zcr+@7OhYPmPkCOozJ0SoR$y`>Lk{zh%TMuO6!Ik$D0oZ8g&mG-jvT?{y)-#-Y?P{r z4crdZ>^ro4)}gBDd0z5BfR^(iLBmV<4t@i=)QePQDinMCRfJGibuw0cibmzLuQ{7d zm(QR4@)R{k3nVu16Y$A>1!@DkyXAN@Li#WYQU2IYI6-EXdKgYiUI%_A$YIDs`3z{R z)?<%;0b!9(@K_i4iH`ph`jClX=t3@DJp(C?Rewge{0{+sVl{IFtgiXf8_q`-sSs_-Sgg5$j8Y#c@MjT@4()t zE|Y^k-})P_l@P8@mj5`j$A=p3pLLj=+`G!(78!CFS3Zs4v1S>3=7j*8>|#vzV{$}s z%OSkPFOduxQ^*InddQJ(t$NOC?7j#Y=H*qbJ8k~yUOo!r5k7!x%`&d+iwK33u003w zB`4DzllEIUH>!}Y;AmD{c_ib$B+o=vtvlCvqriIhf3nK&WggiFho3@Zd19xuU?H;5 zvOdeqEi*J{neC_!vYc#A&Gl+o+M5}i!O>!S)k3sj@$&L2X|WCKN9As_Y)M-+%g~Ba z-qdX4T1VXY%(hSEcXtpF3jBIbgfsb7@w`CoZwhc3DnPo=7HlVL zYpRv&^-Tx>%g{wE?hp!XkDoU`GQ=K7Hz9;BXJa78S-UeDf4r$H+S(bFI-_la^W5gg z!s%%Hu5;E#S9V9oBbE6+5lV6+n*)+$dQ;K(+GuMfysPP!=nD}@Bkz}lVB_+XO~ zZQT`K8}syeyCd4}HVuXW0=w@DythQ&t%G5=sXN+^5RLDQz`LZ$ z?{r4v-O<*^!Vsk7Hg`dc>1cb3Mi;Nl-*t}913Nddm_SNC?E9Stzq_g5kjK2h`}Ztw zt~{oqE5XJcQU48!5b9pLc9qoDeOu2GX+`4t#BynQd;9gt_T-IH+Z|e7!m8urOK(W% zxfM$gO4$7+N8OAPwqyC<)(;S(I=}1uB(uMq8(_li`?uGu@RH(R z$P=_1=kq`><3uJreh#l^^Vv3-5ov+ne3}!P@cCSR8j%0{F7+98MuhxBO8I=A|9hGJ zMyb!7cw6TcEEocOb{2{>0Cja(E5_)EGac zc`o}0FYxE58ys%v1`6<+(HGuagm8eC@SL82e~nd-P>jYs>kYprK*ES^IzbjOemhGR zKkt_@{Aq^s^ZiE*msoQ6dG70PJS}_)(+WFV!ZgcgOBkJ9WC}uOoiQM{2jCk5@O%Ic z^>hIWq0gB+{C=zk@CO6%Cj;=`2H?*G;C~3fUkJco4#43h+;}#Fj0WI;3BbpBe%QM6 z`}t@9A6~z6*@gVhh5si2hffP7Eos?;kyR~A?MG^{Xy&r2k3wA<$0z5@r9PzhSp~zZGVdFa9H+kk=~;#7UBdAub~J*1k)ILp3k5x|2jJrZF8Xsa0PkSuD4cBKDcQwv z_`uVM`)LXI#RA?RpywfhFX}lU;NKJUq}e`(;Y$QOC*bfFnDIxz;R(U<2Lte`fWsZb z`M(lycq4LrH^X^;_|5jbz=z*Ioc}KY|Gt2qY|z7VEi;7>?-c@nrGUemm+QY@z{Pr~ z3b?rL&j`4v=Xn9YQqX@9yNbb|s|5UNhC?32Td+;wUoG%E1zgl~dxIYMjRkV2z!&x0 zBk&<-P;(&nHQ+D@q}G5hW%zFd{bJodEASz%yBL2@0RND{2YDy--3J{ zuVn?m>*@w(cNxPW|L|Lb^Sc}Ps~JBVz<*A_+XOwM0uF!8as3|(xVRsu1YE4=4)%Ko z{1o}w0G$7C0>=={;c_2qaGbw$;E#V0j`MdQyfZ|czXK08;QSp(6$pCxJ7Enw54nDR LFZVX!{Qmtf_YT`k diff --git a/misc/nstat b/misc/nstat deleted file mode 100755 index acc6870b818a5072a16438a1c97940c8a5e8f71d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22421 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 WY*hD+u~>i&NMfb)K9Toq+y4fD`vTSg diff --git a/misc/rtacct b/misc/rtacct deleted file mode 100755 index 5edd2217b414c1f8d8b9525435ab5f328711b89d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37528 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 BjgUx4JtSqWe70`@X+F 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 -#include -#include -#include -#include "ssfilter.h" - -typedef struct ssfilter * ssfilter_t; - -#define YYSTYPE ssfilter_t - -static struct ssfilter * alloc_node(int type, void *pred) -{ - struct ssfilter *n = malloc(sizeof(*n)); - if (n == NULL) - abort(); - n->type = type; - n->pred = pred; - n->post = NULL; - return n; -} - -static char **yy_argv; -static int yy_argc; -static FILE *yy_fp; -static ssfilter_t *yy_ret; - -static int yylex(void); - -static void yyerror(char *s) -{ - fprintf(stderr, "ss: bison bellows (while parsing filter): \"%s!\"", s); -} - - - -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif - -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 -#endif - -#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -typedef int YYSTYPE; -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 -#endif - - - -/* Copy the second part of user declarations. */ - - -/* Line 214 of yacc.c. */ -#line 146 "ssfilter.c" - -#if ! defined (yyoverflow) || YYERROR_VERBOSE - -# ifndef YYFREE -# define YYFREE free -# endif -# ifndef YYMALLOC -# define YYMALLOC malloc -# endif - -/* The parser invokes alloca or malloc; define the necessary symbols. */ - -# ifdef YYSTACK_USE_ALLOCA -# if YYSTACK_USE_ALLOCA -# define YYSTACK_ALLOC alloca -# endif -# else -# if defined (alloca) || defined (_ALLOCA_H) -# define YYSTACK_ALLOC alloca -# else -# ifdef __GNUC__ -# define YYSTACK_ALLOC __builtin_alloca -# endif -# endif -# endif - -# ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) -# else -# if defined (__STDC__) || defined (__cplusplus) -# include /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t -# endif -# define YYSTACK_ALLOC YYMALLOC -# define YYSTACK_FREE YYFREE -# endif -#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ - - -#if (! defined (yyoverflow) \ - && (! defined (__cplusplus) \ - || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) - -/* A type that is properly aligned for any stack member. */ -union yyalloc -{ - short yyss; - YYSTYPE yyvs; - }; - -/* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) - -/* The size of an array large to enough to hold all stacks, each with - N elements. */ -# define YYSTACK_BYTES(N) \ - ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAXIMUM) - -/* Copy COUNT objects from FROM to TO. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if defined (__GNUC__) && 1 < __GNUC__ -# define YYCOPY(To, From, Count) \ - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -# else -# define YYCOPY(To, From, Count) \ - do \ - { \ - register YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ - } \ - while (0) -# endif -# endif - -/* Relocate STACK from its old location to the new one. The - local variables YYSIZE and YYSTACKSIZE give the old and new number of - elements in the stack, and YYPTR gives the new location of the - stack. Advance YYPTR to a properly aligned location for the next - stack. */ -# define YYSTACK_RELOCATE(Stack) \ - do \ - { \ - YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack, Stack, yysize); \ - Stack = &yyptr->Stack; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - yyptr += yynewbytes / sizeof (*yyptr); \ - } \ - while (0) - -#endif - -#if defined (__STDC__) || defined (__cplusplus) - typedef signed char yysigned_char; -#else - typedef short yysigned_char; -#endif - -/* YYFINAL -- State number of the termination state. */ -#define YYFINAL 3 -/* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 90 - -/* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 20 -/* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 4 -/* YYNRULES -- Number of rules. */ -#define YYNRULES 24 -/* YYNRULES -- Number of states. */ -#define YYNSTATES 46 - -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ -#define YYUNDEFTOK 2 -#define YYMAXUTOK 266 - -#define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) - -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ -static const unsigned char yytranslate[] = -{ - 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 14, 2, 2, 2, 2, 13, 2, - 18, 19, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 16, 17, 15, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 12, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11 -}; - -#if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const unsigned char yyprhs[] = -{ - 0, 0, 3, 6, 8, 9, 12, 15, 19, 23, - 27, 31, 35, 39, 43, 47, 51, 55, 59, 63, - 65, 69, 72, 76, 79 -}; - -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const yysigned_char yyrhs[] = -{ - 21, 0, -1, 22, 23, -1, 22, -1, -1, 4, - 3, -1, 5, 3, -1, 6, 9, 3, -1, 6, - 8, 3, -1, 6, 15, 3, -1, 6, 16, 3, - -1, 6, 17, 3, -1, 6, 10, 3, -1, 7, - 9, 3, -1, 7, 8, 3, -1, 7, 15, 3, - -1, 7, 16, 3, -1, 7, 17, 3, -1, 7, - 10, 3, -1, 11, -1, 23, 12, 23, -1, 23, - 23, -1, 23, 13, 23, -1, 14, 23, -1, 18, - 23, 19, -1 -}; - -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ -static const unsigned char yyrline[] = -{ - 0, 44, 44, 49, 51, 53, 57, 61, 65, 69, - 73, 77, 81, 86, 90, 94, 98, 102, 106, 111, - 115, 120, 125, 131, 135 -}; -#endif - -#if YYDEBUG || YYERROR_VERBOSE -/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at YYNTOKENS, nonterminals. */ -static const char *const yytname[] = -{ - "$end", "error", "$undefined", "HOSTCOND", "DCOND", "SCOND", "DPORT", - "SPORT", "LEQ", "GEQ", "NEQ", "AUTOBOUND", "'|'", "'&'", "'!'", "'>'", - "'<'", "'='", "'('", "')'", "$accept", "applet", "null", "expr", 0 -}; -#endif - -# ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to - token YYLEX-NUM. */ -static const unsigned short yytoknum[] = -{ - 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 124, 38, 33, 62, 60, 61, 40, 41 -}; -# endif - -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const unsigned char yyr1[] = -{ - 0, 20, 21, 21, 22, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23 -}; - -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const unsigned char yyr2[] = -{ - 0, 2, 2, 1, 0, 2, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, - 3, 2, 3, 2, 3 -}; - -/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state - STATE-NUM when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ -static const unsigned char yydefact[] = -{ - 4, 0, 3, 1, 0, 0, 0, 0, 19, 0, - 0, 2, 5, 6, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, - 21, 8, 7, 12, 9, 10, 11, 14, 13, 18, - 15, 16, 17, 24, 20, 22 -}; - -/* YYDEFGOTO[NTERM-NUM]. */ -static const yysigned_char yydefgoto[] = -{ - -1, 1, 2, 30 -}; - -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -#define YYPACT_NINF -3 -static const yysigned_char yypact[] = -{ - -3, 1, 47, -3, 6, 11, 69, 73, -3, 47, - 47, 17, -3, -3, 12, 13, 16, 22, 29, 30, - 31, 37, 38, 39, 41, 44, 62, -1, 47, 47, - 17, -3, -3, -3, -3, -3, -3, -3, -3, -3, - -3, -3, -3, -3, 32, 47 -}; - -/* YYPGOTO[NTERM-NUM]. */ -static const yysigned_char yypgoto[] = -{ - -3, -3, -3, -2 -}; - -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If zero, do what YYDEFACT says. - If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -1 -static const yysigned_char yytable[] = -{ - 11, 3, 0, 4, 5, 6, 7, 26, 27, 12, - 8, 28, 29, 9, 13, 31, 32, 10, 43, 33, - 0, 4, 5, 6, 7, 34, 44, 45, 8, 28, - 29, 9, 35, 36, 37, 10, 4, 5, 6, 7, - 38, 39, 40, 8, 41, 29, 9, 42, 0, 0, - 10, 4, 5, 6, 7, 0, 0, 0, 8, 0, - 0, 9, 0, 0, 0, 10, 4, 5, 6, 7, - 0, 0, 0, 8, 0, 0, -1, 14, 15, 16, - 10, 20, 21, 22, 17, 18, 19, 0, 23, 24, - 25 -}; - -static const yysigned_char yycheck[] = -{ - 2, 0, -1, 4, 5, 6, 7, 9, 10, 3, - 11, 12, 13, 14, 3, 3, 3, 18, 19, 3, - -1, 4, 5, 6, 7, 3, 28, 29, 11, 12, - 13, 14, 3, 3, 3, 18, 4, 5, 6, 7, - 3, 3, 3, 11, 3, 13, 14, 3, -1, -1, - 18, 4, 5, 6, 7, -1, -1, -1, 11, -1, - -1, 14, -1, -1, -1, 18, 4, 5, 6, 7, - -1, -1, -1, 11, -1, -1, 14, 8, 9, 10, - 18, 8, 9, 10, 15, 16, 17, -1, 15, 16, - 17 -}; - -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ -static const unsigned char yystos[] = -{ - 0, 21, 22, 0, 4, 5, 6, 7, 11, 14, - 18, 23, 3, 3, 8, 9, 10, 15, 16, 17, - 8, 9, 10, 15, 16, 17, 23, 23, 12, 13, - 23, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 19, 23, 23 -}; - -#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) -# define YYSIZE_T __SIZE_TYPE__ -#endif -#if ! defined (YYSIZE_T) && defined (size_t) -# define YYSIZE_T size_t -#endif -#if ! defined (YYSIZE_T) -# if defined (__STDC__) || defined (__cplusplus) -# include /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t -# endif -#endif -#if ! defined (YYSIZE_T) -# define YYSIZE_T unsigned int -#endif - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 - -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrorlab - - -/* Like YYERROR except do call yyerror. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ - -#define YYFAIL goto yyerrlab - -#define YYRECOVERING() (!!yyerrstatus) - -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - yytoken = YYTRANSLATE (yychar); \ - YYPOPSTACK; \ - goto yybackup; \ - } \ - else \ - { \ - yyerror ("syntax error: cannot back up");\ - YYERROR; \ - } \ -while (0) - -#define YYTERROR 1 -#define YYERRCODE 256 - -/* YYLLOC_DEFAULT -- Compute the default location (before the actions - are run). */ - -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - ((Current).first_line = (Rhs)[1].first_line, \ - (Current).first_column = (Rhs)[1].first_column, \ - (Current).last_line = (Rhs)[N].last_line, \ - (Current).last_column = (Rhs)[N].last_column) -#endif - -/* YYLEX -- calling `yylex' with the right arguments. */ - -#ifdef YYLEX_PARAM -# define YYLEX yylex (YYLEX_PARAM) -#else -# define YYLEX yylex () -#endif - -/* Enable debugging if requested. */ -#if YYDEBUG - -# ifndef YYFPRINTF -# include /* INFRINGES ON USER NAME SPACE */ -# define YYFPRINTF fprintf -# endif - -# define YYDPRINTF(Args) \ -do { \ - if (yydebug) \ - YYFPRINTF Args; \ -} while (0) - -# define YYDSYMPRINT(Args) \ -do { \ - if (yydebug) \ - yysymprint Args; \ -} while (0) - -# define YYDSYMPRINTF(Title, Token, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yysymprint (stderr, \ - Token, Value); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (0) - -/*------------------------------------------------------------------. -| yy_stack_print -- Print the state stack from its BOTTOM up to its | -| TOP (included). | -`------------------------------------------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yy_stack_print (short *bottom, short *top) -#else -static void -yy_stack_print (bottom, top) - short *bottom; - short *top; -#endif -{ - YYFPRINTF (stderr, "Stack now"); - for (/* Nothing. */; bottom <= top; ++bottom) - YYFPRINTF (stderr, " %d", *bottom); - YYFPRINTF (stderr, "\n"); -} - -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (yydebug) \ - yy_stack_print ((Bottom), (Top)); \ -} while (0) - - -/*------------------------------------------------. -| Report that the YYRULE is going to be reduced. | -`------------------------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yy_reduce_print (int yyrule) -#else -static void -yy_reduce_print (yyrule) - int yyrule; -#endif -{ - int yyi; - unsigned int yylno = yyrline[yyrule]; - YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", - yyrule - 1, yylno); - /* Print the symbols being reduced, and their result. */ - for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) - YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); - YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); -} - -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug) \ - yy_reduce_print (Rule); \ -} while (0) - -/* Nonzero means print parse trace. It is left uninitialized so that - multiple parsers can coexist. */ -int yydebug; -#else /* !YYDEBUG */ -# define YYDPRINTF(Args) -# define YYDSYMPRINT(Args) -# define YYDSYMPRINTF(Title, Token, Value, Location) -# define YY_STACK_PRINT(Bottom, Top) -# define YY_REDUCE_PRINT(Rule) -#endif /* !YYDEBUG */ - - -/* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH -# define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only - if the built-in stack extension method is used). - - Do not make this value too large; the results are undefined if - SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) - evaluated with infinite-precision integer arithmetic. */ - -#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0 -# undef YYMAXDEPTH -#endif - -#ifndef YYMAXDEPTH -# define YYMAXDEPTH 10000 -#endif - - - -#if YYERROR_VERBOSE - -# ifndef yystrlen -# if defined (__GLIBC__) && defined (_STRING_H) -# define yystrlen strlen -# else -/* Return the length of YYSTR. */ -static YYSIZE_T -# if defined (__STDC__) || defined (__cplusplus) -yystrlen (const char *yystr) -# else -yystrlen (yystr) - const char *yystr; -# endif -{ - register const char *yys = yystr; - - while (*yys++ != '\0') - continue; - - return yys - yystr - 1; -} -# endif -# endif - -# ifndef yystpcpy -# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) -# define yystpcpy stpcpy -# else -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in - YYDEST. */ -static char * -# if defined (__STDC__) || defined (__cplusplus) -yystpcpy (char *yydest, const char *yysrc) -# else -yystpcpy (yydest, yysrc) - char *yydest; - const char *yysrc; -# endif -{ - register char *yyd = yydest; - register const char *yys = yysrc; - - while ((*yyd++ = *yys++) != '\0') - continue; - - return yyd - 1; -} -# endif -# endif - -#endif /* !YYERROR_VERBOSE */ - - - -#if YYDEBUG -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) -#else -static void -yysymprint (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE *yyvaluep; -#endif -{ - /* Pacify ``unused variable'' warnings. */ - (void) yyvaluep; - - if (yytype < YYNTOKENS) - { - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); -# ifdef YYPRINT - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# endif - } - else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); - - switch (yytype) - { - default: - break; - } - YYFPRINTF (yyoutput, ")"); -} - -#endif /* ! YYDEBUG */ -/*-----------------------------------------------. -| Release the memory associated to this symbol. | -`-----------------------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yydestruct (int yytype, YYSTYPE *yyvaluep) -#else -static void -yydestruct (yytype, yyvaluep) - int yytype; - YYSTYPE *yyvaluep; -#endif -{ - /* Pacify ``unused variable'' warnings. */ - (void) yyvaluep; - - switch (yytype) - { - - default: - break; - } -} - - -/* Prevent warnings from -Wmissing-prototypes. */ - -#ifdef YYPARSE_PARAM -# if defined (__STDC__) || defined (__cplusplus) -int yyparse (void *YYPARSE_PARAM); -# else -int yyparse (); -# endif -#else /* ! YYPARSE_PARAM */ -#if defined (__STDC__) || defined (__cplusplus) -int yyparse (void); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ - - - -/* The lookahead symbol. */ -int yychar; - -/* The semantic value of the lookahead symbol. */ -YYSTYPE yylval; - -/* Number of syntax errors so far. */ -int yynerrs; - - - -/*----------. -| yyparse. | -`----------*/ - -#ifdef YYPARSE_PARAM -# if defined (__STDC__) || defined (__cplusplus) -int yyparse (void *YYPARSE_PARAM) -# else -int yyparse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -# endif -#else /* ! YYPARSE_PARAM */ -#if defined (__STDC__) || defined (__cplusplus) -int -yyparse (void) -#else -int -yyparse () - -#endif -#endif -{ - - register int yystate; - register int yyn; - int yyresult; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; - /* Lookahead token as an internal (translated) token number. */ - int yytoken = 0; - - /* Three stacks and their tools: - `yyss': related to states, - `yyvs': related to semantic values, - `yyls': related to locations. - - Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ - - /* The state stack. */ - short yyssa[YYINITDEPTH]; - short *yyss = yyssa; - register short *yyssp; - - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs = yyvsa; - register YYSTYPE *yyvsp; - - - -#define YYPOPSTACK (yyvsp--, yyssp--) - - YYSIZE_T yystacksize = YYINITDEPTH; - - /* The variables used to return semantic value and location from the - action routines. */ - YYSTYPE yyval; - - - /* When reducing, the number of symbols on the RHS of the reduced - rule. */ - int yylen; - - YYDPRINTF ((stderr, "Starting parse\n")); - - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - - yyssp = yyss; - yyvsp = yyvs; - - goto yysetstate; - -/*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | -`------------------------------------------------------------*/ - yynewstate: - /* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. - */ - yyssp++; - - yysetstate: - *yyssp = yystate; - - if (yyss + yystacksize - 1 <= yyssp) - { - /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; - -#ifdef yyoverflow - { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; - - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if yyoverflow is a macro. */ - yyoverflow ("parser stack overflow", - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), - - &yystacksize); - - yyss = yyss1; - yyvs = yyvs1; - } -#else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyoverflowlab; -# else - /* Extend the stack our own way. */ - if (YYMAXDEPTH <= yystacksize) - goto yyoverflowlab; - yystacksize *= 2; - if (YYMAXDEPTH < yystacksize) - yystacksize = YYMAXDEPTH; - - { - short *yyss1 = yyss; - union yyalloc *yyptr = - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); - if (! yyptr) - goto yyoverflowlab; - YYSTACK_RELOCATE (yyss); - YYSTACK_RELOCATE (yyvs); - -# undef YYSTACK_RELOCATE - if (yyss1 != yyssa) - YYSTACK_FREE (yyss1); - } -# endif -#endif /* no yyoverflow */ - - yyssp = yyss + yysize - 1; - yyvsp = yyvs + yysize - 1; - - - YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); - - if (yyss + yystacksize - 1 <= yyssp) - YYABORT; - } - - YYDPRINTF ((stderr, "Entering state %d\n", yystate)); - - goto yybackup; - -/*-----------. -| yybackup. | -`-----------*/ -yybackup: - -/* Do appropriate processing given the current state. */ -/* Read a lookahead token if we need one and don't already have one. */ -/* yyresume: */ - - /* First try to decide what to do without reference to lookahead token. */ - - yyn = yypact[yystate]; - if (yyn == YYPACT_NINF) - goto yydefault; - - /* Not known => get a lookahead token if don't already have one. */ - - /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ - if (yychar == YYEMPTY) - { - YYDPRINTF ((stderr, "Reading a token: ")); - yychar = YYLEX; - } - - if (yychar <= YYEOF) - { - yychar = yytoken = YYEOF; - YYDPRINTF ((stderr, "Now at end of input.\n")); - } - else - { - yytoken = YYTRANSLATE (yychar); - YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); - } - - /* If the proper action on seeing token YYTOKEN is to reduce or to - detect an error, take that action. */ - yyn += yytoken; - if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) - goto yydefault; - yyn = yytable[yyn]; - if (yyn <= 0) - { - if (yyn == 0 || yyn == YYTABLE_NINF) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - - if (yyn == YYFINAL) - YYACCEPT; - - /* Shift the lookahead token. */ - YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); - - /* Discard the token being shifted unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - - *++yyvsp = yylval; - - - /* Count tokens shifted since error; after three, turn off error - status. */ - if (yyerrstatus) - yyerrstatus--; - - yystate = yyn; - goto yynewstate; - - -/*-----------------------------------------------------------. -| yydefault -- do the default action for the current state. | -`-----------------------------------------------------------*/ -yydefault: - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - goto yyreduce; - - -/*-----------------------------. -| yyreduce -- Do a reduction. | -`-----------------------------*/ -yyreduce: - /* yyn is the number of a rule to reduce with. */ - yylen = yyr2[yyn]; - - /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. - - Otherwise, the following line sets YYVAL to garbage. - This behavior is undocumented and Bison - users should not rely upon it. Assigning to YYVAL - unconditionally makes the parser a bit smaller, and it avoids a - GCC warning that YYVAL may be used uninitialized. */ - yyval = yyvsp[1-yylen]; - - - YY_REDUCE_PRINT (yyn); - switch (yyn) - { - case 2: -#line 45 "ssfilter.y" - { - *yy_ret = yyvsp[0]; - yyval = yyvsp[0]; - ;} - break; - - case 4: -#line 51 "ssfilter.y" - { yyval = NULL; ;} - break; - - case 5: -#line 54 "ssfilter.y" - { - yyval = alloc_node(SSF_DCOND, yyvsp[0]); - ;} - break; - - case 6: -#line 58 "ssfilter.y" - { - yyval = alloc_node(SSF_SCOND, yyvsp[0]); - ;} - break; - - case 7: -#line 62 "ssfilter.y" - { - yyval = alloc_node(SSF_D_GE, yyvsp[0]); - ;} - break; - - case 8: -#line 66 "ssfilter.y" - { - yyval = alloc_node(SSF_D_LE, yyvsp[0]); - ;} - break; - - case 9: -#line 70 "ssfilter.y" - { - yyval = alloc_node(SSF_NOT, alloc_node(SSF_D_LE, yyvsp[0])); - ;} - break; - - case 10: -#line 74 "ssfilter.y" - { - yyval = alloc_node(SSF_NOT, alloc_node(SSF_D_GE, yyvsp[0])); - ;} - break; - - case 11: -#line 78 "ssfilter.y" - { - yyval = alloc_node(SSF_DCOND, yyvsp[0]); - ;} - break; - - case 12: -#line 82 "ssfilter.y" - { - yyval = alloc_node(SSF_NOT, alloc_node(SSF_DCOND, yyvsp[0])); - ;} - break; - - case 13: -#line 87 "ssfilter.y" - { - yyval = alloc_node(SSF_S_GE, yyvsp[0]); - ;} - break; - - case 14: -#line 91 "ssfilter.y" - { - yyval = alloc_node(SSF_S_LE, yyvsp[0]); - ;} - break; - - case 15: -#line 95 "ssfilter.y" - { - yyval = alloc_node(SSF_NOT, alloc_node(SSF_S_LE, yyvsp[0])); - ;} - break; - - case 16: -#line 99 "ssfilter.y" - { - yyval = alloc_node(SSF_NOT, alloc_node(SSF_S_GE, yyvsp[0])); - ;} - break; - - case 17: -#line 103 "ssfilter.y" - { - yyval = alloc_node(SSF_SCOND, yyvsp[0]); - ;} - break; - - case 18: -#line 107 "ssfilter.y" - { - yyval = alloc_node(SSF_NOT, alloc_node(SSF_SCOND, yyvsp[0])); - ;} - break; - - case 19: -#line 112 "ssfilter.y" - { - yyval = alloc_node(SSF_S_AUTO, NULL); - ;} - break; - - case 20: -#line 116 "ssfilter.y" - { - yyval = alloc_node(SSF_OR, yyvsp[-2]); - yyval->post = yyvsp[0]; - ;} - break; - - case 21: -#line 121 "ssfilter.y" - { - yyval = alloc_node(SSF_AND, yyvsp[-1]); - yyval->post = yyvsp[0]; - ;} - break; - - case 22: -#line 127 "ssfilter.y" - { - yyval = alloc_node(SSF_AND, yyvsp[-2]); - yyval->post = yyvsp[0]; - ;} - break; - - case 23: -#line 132 "ssfilter.y" - { - yyval = alloc_node(SSF_NOT, yyvsp[0]); - ;} - break; - - case 24: -#line 136 "ssfilter.y" - { - yyval = yyvsp[-1]; - ;} - break; - - - } - -/* Line 1000 of yacc.c. */ -#line 1219 "ssfilter.c" - - yyvsp -= yylen; - yyssp -= yylen; - - - YY_STACK_PRINT (yyss, yyssp); - - *++yyvsp = yyval; - - - /* Now `shift' the result of the reduction. Determine what state - that goes to, based on the state we popped back to and the rule - number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTOKENS]; - - goto yynewstate; - - -/*------------------------------------. -| yyerrlab -- here on detecting error | -`------------------------------------*/ -yyerrlab: - /* If not already recovering from an error, report this error. */ - if (!yyerrstatus) - { - ++yynerrs; -#if YYERROR_VERBOSE - yyn = yypact[yystate]; - - if (YYPACT_NINF < yyn && yyn < YYLAST) - { - YYSIZE_T yysize = 0; - int yytype = YYTRANSLATE (yychar); - const char* yyprefix; - char *yymsg; - int yyx; - - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yycount = 0; - - yyprefix = ", expecting "; - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) - { - yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); - yycount += 1; - if (yycount == 5) - { - yysize = 0; - break; - } - } - yysize += (sizeof ("syntax error, unexpected ") - + yystrlen (yytname[yytype])); - yymsg = (char *) YYSTACK_ALLOC (yysize); - if (yymsg != 0) - { - char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); - yyp = yystpcpy (yyp, yytname[yytype]); - - if (yycount < 5) - { - yyprefix = ", expecting "; - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) - { - yyp = yystpcpy (yyp, yyprefix); - yyp = yystpcpy (yyp, yytname[yyx]); - yyprefix = " or "; - } - } - yyerror (yymsg); - YYSTACK_FREE (yymsg); - } - else - yyerror ("syntax error; also virtual memory exhausted"); - } - else -#endif /* YYERROR_VERBOSE */ - yyerror ("syntax error"); - } - - - - if (yyerrstatus == 3) - { - /* If just tried and failed to reuse lookahead token after an - error, discard it. */ - - if (yychar <= YYEOF) - { - /* If at end of input, pop the error token, - then the rest of the stack, then return failure. */ - if (yychar == YYEOF) - for (;;) - { - YYPOPSTACK; - if (yyssp == yyss) - YYABORT; - YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); - yydestruct (yystos[*yyssp], yyvsp); - } - } - else - { - YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); - yydestruct (yytoken, &yylval); - yychar = YYEMPTY; - - } - } - - /* Else will try to reuse lookahead token after shifting the error - token. */ - goto yyerrlab1; - - -/*---------------------------------------------------. -| yyerrorlab -- error raised explicitly by YYERROR. | -`---------------------------------------------------*/ -yyerrorlab: - -#ifdef __GNUC__ - /* Pacify GCC when the user code never invokes YYERROR and the label - yyerrorlab therefore never appears in user code. */ - if (0) - goto yyerrorlab; -#endif - - yyvsp -= yylen; - yyssp -= yylen; - yystate = *yyssp; - goto yyerrlab1; - - -/*-------------------------------------------------------------. -| yyerrlab1 -- common code for both syntax error and YYERROR. | -`-------------------------------------------------------------*/ -yyerrlab1: - yyerrstatus = 3; /* Each real token shifted decrements this. */ - - for (;;) - { - yyn = yypact[yystate]; - if (yyn != YYPACT_NINF) - { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) - { - yyn = yytable[yyn]; - if (0 < yyn) - break; - } - } - - /* Pop the current state because it cannot handle the error token. */ - if (yyssp == yyss) - YYABORT; - - YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); - yydestruct (yystos[yystate], yyvsp); - YYPOPSTACK; - yystate = *yyssp; - YY_STACK_PRINT (yyss, yyssp); - } - - if (yyn == YYFINAL) - YYACCEPT; - - YYDPRINTF ((stderr, "Shifting error token, ")); - - *++yyvsp = yylval; - - - yystate = yyn; - goto yynewstate; - - -/*-------------------------------------. -| yyacceptlab -- YYACCEPT comes here. | -`-------------------------------------*/ -yyacceptlab: - yyresult = 0; - goto yyreturn; - -/*-----------------------------------. -| yyabortlab -- YYABORT comes here. | -`-----------------------------------*/ -yyabortlab: - yyresult = 1; - goto yyreturn; - -#ifndef yyoverflow -/*----------------------------------------------. -| yyoverflowlab -- parser overflow comes here. | -`----------------------------------------------*/ -yyoverflowlab: - yyerror ("parser stack overflow"); - yyresult = 2; - /* Fall through. */ -#endif - -yyreturn: -#ifndef yyoverflow - if (yyss != yyssa) - YYSTACK_FREE (yyss); -#endif - return yyresult; -} - - -#line 140 "ssfilter.y" - - -static char *get_token_from_line(char **ptr) -{ - char *tok, *cp = *ptr; - - while (*cp == ' ' || *cp == '\t') cp++; - - if (*cp == 0) { - *ptr = cp; - return NULL; - } - - tok = cp; - - while (*cp != 0 && *cp != ' ' && *cp != '\t') { - /* Backslash escapes everything. */ - if (*cp == '\\') { - char *tp; - for (tp = cp; tp != tok; tp--) - *tp = *(tp-1); - cp++; - tok++; - if (*cp == 0) - break; - } - cp++; - } - if (*cp) - *cp++ = 0; - *ptr = cp; - return tok; -} - -int yylex(void) -{ - static char argbuf[1024]; - static char *tokptr = argbuf; - static int argc; - char *curtok; - - do { - while (*tokptr == 0) { - tokptr = NULL; - if (argc < yy_argc) { - tokptr = yy_argv[argc]; - argc++; - } else if (yy_fp) { - while (tokptr == NULL) { - if (fgets(argbuf, sizeof(argbuf)-1, yy_fp) == NULL) - return 0; - argbuf[sizeof(argbuf)-1] = 0; - if (strlen(argbuf) == sizeof(argbuf) - 1) { - fprintf(stderr, "Too long line in filter"); - exit(-1); - } - if (argbuf[strlen(argbuf)-1] == '\n') - argbuf[strlen(argbuf)-1] = 0; - if (argbuf[0] == '#' || argbuf[0] == '0') - continue; - tokptr = argbuf; - } - } else { - return 0; - } - } - } while ((curtok = get_token_from_line(&tokptr)) == NULL); - - if (strcmp(curtok, "!") == 0 || - strcmp(curtok, "not") == 0) - return '!'; - if (strcmp(curtok, "&") == 0 || - strcmp(curtok, "&&") == 0 || - strcmp(curtok, "and") == 0) - return '&'; - if (strcmp(curtok, "|") == 0 || - strcmp(curtok, "||") == 0 || - strcmp(curtok, "or") == 0) - return '|'; - if (strcmp(curtok, "(") == 0) - return '('; - if (strcmp(curtok, ")") == 0) - return ')'; - if (strcmp(curtok, "dst") == 0) - return DCOND; - if (strcmp(curtok, "src") == 0) - return SCOND; - if (strcmp(curtok, "dport") == 0) - return DPORT; - if (strcmp(curtok, "sport") == 0) - return SPORT; - if (strcmp(curtok, ">=") == 0 || - strcmp(curtok, "ge") == 0 || - strcmp(curtok, "geq") == 0) - return GEQ; - if (strcmp(curtok, "<=") == 0 || - strcmp(curtok, "le") == 0 || - strcmp(curtok, "leq") == 0) - return LEQ; - if (strcmp(curtok, "!=") == 0 || - strcmp(curtok, "ne") == 0 || - strcmp(curtok, "neq") == 0) - return NEQ; - if (strcmp(curtok, "=") == 0 || - strcmp(curtok, "==") == 0 || - strcmp(curtok, "eq") == 0) - return '='; - if (strcmp(curtok, ">") == 0 || - strcmp(curtok, "gt") == 0) - return '>'; - if (strcmp(curtok, "<") == 0 || - strcmp(curtok, "lt") == 0) - return '<'; - if (strcmp(curtok, "autobound") == 0) - return AUTOBOUND; - yylval = (void*)parse_hostcond(curtok); - if (yylval == NULL) { - fprintf(stderr, "Cannot parse dst/src address.\n"); - exit(1); - } - return HOSTCOND; -} - -int ssfilter_parse(struct ssfilter **f, int argc, char **argv, FILE *fp) -{ - yy_argc = argc; - yy_argv = argv; - yy_fp = fp; - yy_ret = f; - - if (yyparse()) { - fprintf(stderr, " Sorry.\n"); - return -1; - } - return 0; -} - - diff --git a/misc/ssfilter.o b/misc/ssfilter.o deleted file mode 100644 index 477cb5b7a8d4fc62a884a0ec2369f6dfa28db52b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10032 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 diff --git a/netem/normal b/netem/normal deleted file mode 100755 index a42860d18fcd1aa6e733e7d8957cbb4e2404845a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8450 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 SVb1NAYuU2rjp>}H&VK=5@S>6c diff --git a/netem/normal.dist b/netem/normal.dist deleted file mode 100644 index 8cfe768..0000000 --- a/netem/normal.dist +++ /dev/null @@ -1,513 +0,0 @@ -# This is the distribution table for the normal distribution. - -32768 -28307 -26871 -25967 -25298 -24765 -24320 -23937 - -23600 -23298 -23025 -22776 -22546 -22333 -22133 -21946 - -21770 -21604 -21445 -21295 -21151 -21013 -20882 -20755 - -20633 -20516 -20403 -20293 -20187 -20084 -19984 -19887 - -19793 -19702 -19612 -19526 -19441 -19358 -19277 -19198 - -19121 -19045 -18971 -18899 -18828 -18758 -18690 -18623 - -18557 -18492 -18429 -18366 -18305 -18245 -18185 -18127 - -18070 -18013 -17957 -17902 -17848 -17794 -17741 -17690 - -17638 -17588 -17538 -17489 -17440 -17392 -17345 -17298 - -17252 -17206 -17160 -17116 -17071 -17028 -16984 -16942 - -16899 -16857 -16816 -16775 -16735 -16694 -16654 -16615 - -16576 -16538 -16499 -16461 -16424 -16386 -16350 -16313 - -16277 -16241 -16205 -16170 -16135 -16100 -16066 -16031 - -15998 -15964 -15931 -15897 -15865 -15832 -15800 -15768 - -15736 -15704 -15673 -15642 -15611 -15580 -15550 -15519 - -15489 -15460 -15430 -15401 -15371 -15342 -15313 -15285 - -15256 -15228 -15200 -15172 -15144 -15116 -15089 -15062 - -15035 -15008 -14981 -14954 -14928 -14902 -14875 -14850 - -14823 -14798 -14772 -14747 -14722 -14696 -14671 -14647 - -14622 -14597 -14573 -14549 -14524 -14500 -14476 -14453 - -14429 -14405 -14382 -14359 -14335 -14312 -14289 -14266 - -14243 -14221 -14198 -14176 -14153 -14131 -14109 -14087 - -14065 -14043 -14021 -14000 -13978 -13957 -13935 -13914 - -13893 -13872 -13851 -13830 -13809 -13788 -13768 -13747 - -13727 -13706 -13686 -13666 -13646 -13626 -13606 -13586 - -13566 -13547 -13527 -13507 -13488 -13468 -13449 -13430 - -13411 -13392 -13373 -13354 -13335 -13316 -13297 -13278 - -13260 -13242 -13223 -13204 -13186 -13168 -13150 -13131 - -13113 -13095 -13077 -13060 -13042 -13024 -13006 -12988 - -12971 -12954 -12936 -12918 -12901 -12884 -12867 -12850 - -12832 -12815 -12798 -12781 -12764 -12748 -12731 -12714 - -12697 -12681 -12664 -12648 -12631 -12615 -12598 -12582 - -12566 -12549 -12533 -12517 -12501 -12485 -12469 -12453 - -12437 -12422 -12406 -12390 -12374 -12358 -12343 -12327 - -12312 -12296 -12281 -12265 -12250 -12235 -12220 -12204 - -12189 -12174 -12159 -12144 -12129 -12114 -12099 -12084 - -12069 -12054 -12039 -12025 -12010 -11995 -11981 -11966 - -11952 -11937 -11923 -11908 -11894 -11879 -11865 -11851 - -11837 -11822 -11808 -11794 -11780 -11766 -11752 -11737 - -11724 -11710 -11696 -11682 -11668 -11654 -11640 -11627 - -11613 -11599 -11586 -11572 -11559 -11545 -11531 -11518 - -11504 -11491 -11478 -11464 -11451 -11438 -11425 -11411 - -11398 -11385 -11372 -11359 -11346 -11332 -11319 -11306 - -11293 -11280 -11268 -11255 -11242 -11229 -11216 -11203 - -11191 -11178 -11165 -11153 -11140 -11127 -11114 -11102 - -11090 -11077 -11065 -11052 -11040 -11027 -11015 -11002 - -10990 -10978 -10965 -10953 -10941 -10929 -10917 -10904 - -10892 -10880 -10868 -10856 -10844 -10832 -10820 -10808 - -10796 -10784 -10772 -10760 -10748 -10736 -10725 -10713 - -10701 -10689 -10677 -10666 -10654 -10643 -10631 -10619 - -10607 -10596 -10584 -10573 -10562 -10550 -10539 -10527 - -10516 -10504 -10493 -10481 -10470 -10459 -10447 -10436 - -10425 -10414 -10402 -10391 -10380 -10369 -10358 -10346 - -10335 -10324 -10313 -10302 -10291 -10280 -10269 -10258 - -10247 -10236 -10225 -10214 -10203 -10192 -10181 -10171 - -10160 -10149 -10138 -10127 -10117 -10106 -10095 -10085 - -10074 -10063 -10052 -10042 -10031 -10021 -10010 -10000 - -9989 -9978 -9968 -9957 -9947 -9936 -9926 -9916 - -9905 -9895 -9884 -9874 -9864 -9853 -9843 -9833 - -9822 -9812 -9802 -9791 -9781 -9771 -9761 -9751 - -9741 -9730 -9720 -9710 -9700 -9690 -9680 -9670 - -9660 -9650 -9640 -9630 -9619 -9610 -9600 -9590 - -9580 -9570 -9560 -9550 -9540 -9530 -9520 -9511 - -9501 -9491 -9481 -9472 -9462 -9452 -9442 -9432 - -9423 -9413 -9403 -9394 -9384 -9374 -9365 -9355 - -9345 -9336 -9326 -9317 -9307 -9298 -9288 -9278 - -9269 -9259 -9250 -9241 -9231 -9221 -9212 -9202 - -9193 -9184 -9175 -9165 -9156 -9146 -9137 -9128 - -9119 -9109 -9100 -9090 -9081 -9072 -9063 -9053 - -9044 -9035 -9026 -9017 -9008 -8998 -8989 -8980 - -8971 -8962 -8953 -8944 -8934 -8925 -8916 -8907 - -8898 -8889 -8880 -8871 -8862 -8853 -8844 -8835 - -8826 -8817 -8808 -8799 -8790 -8781 -8772 -8764 - -8755 -8746 -8737 -8728 -8719 -8711 -8702 -8693 - -8684 -8675 -8667 -8658 -8649 -8640 -8632 -8623 - -8614 -8605 -8597 -8588 -8579 -8570 -8562 -8553 - -8545 -8536 -8527 -8519 -8510 -8502 -8493 -8484 - -8476 -8467 -8459 -8450 -8442 -8433 -8425 -8416 - -8408 -8399 -8391 -8382 -8374 -8365 -8357 -8348 - -8340 -8332 -8323 -8315 -8306 -8298 -8290 -8281 - -8273 -8264 -8256 -8248 -8240 -8231 -8223 -8215 - -8206 -8198 -8190 -8182 -8174 -8165 -8157 -8149 - -8140 -8132 -8124 -8116 -8108 -8099 -8091 -8083 - -8075 -8067 -8059 -8051 -8042 -8034 -8027 -8018 - -8010 -8002 -7994 -7986 -7978 -7970 -7962 -7954 - -7946 -7938 -7930 -7922 -7913 -7906 -7897 -7890 - -7882 -7874 -7866 -7858 -7850 -7842 -7834 -7826 - -7818 -7810 -7802 -7795 -7787 -7779 -7771 -7763 - -7755 -7748 -7739 -7732 -7724 -7716 -7708 -7700 - -7693 -7685 -7677 -7669 -7662 -7654 -7646 -7638 - -7630 -7623 -7615 -7608 -7600 -7592 -7584 -7577 - -7569 -7561 -7553 -7546 -7538 -7530 -7523 -7515 - -7508 -7500 -7492 -7485 -7477 -7469 -7462 -7454 - -7447 -7439 -7432 -7424 -7417 -7409 -7401 -7394 - -7386 -7379 -7372 -7364 -7356 -7349 -7341 -7334 - -7327 -7319 -7311 -7304 -7297 -7289 -7281 -7274 - -7267 -7259 -7252 -7245 -7237 -7230 -7222 -7215 - -7208 -7200 -7193 -7186 -7178 -7171 -7163 -7156 - -7149 -7141 -7134 -7127 -7119 -7112 -7105 -7098 - -7090 -7083 -7075 -7068 -7061 -7054 -7046 -7039 - -7032 -7025 -7018 -7010 -7003 -6996 -6989 -6981 - -6974 -6967 -6960 -6953 -6946 -6938 -6931 -6924 - -6917 -6910 -6903 -6895 -6888 -6881 -6874 -6867 - -6860 -6853 -6845 -6838 -6831 -6824 -6817 -6810 - -6803 -6796 -6789 -6782 -6775 -6767 -6760 -6753 - -6747 -6740 -6732 -6725 -6718 -6711 -6704 -6697 - -6690 -6683 -6676 -6669 -6662 -6655 -6648 -6641 - -6634 -6627 -6620 -6613 -6607 -6600 -6593 -6586 - -6579 -6572 -6565 -6558 -6551 -6544 -6538 -6531 - -6524 -6517 -6510 -6503 -6496 -6489 -6482 -6476 - -6469 -6462 -6455 -6448 -6441 -6434 -6428 -6421 - -6414 -6407 -6400 -6394 -6387 -6380 -6373 -6366 - -6360 -6353 -6346 -6339 -6333 -6326 -6319 -6312 - -6306 -6299 -6292 -6286 -6279 -6272 -6265 -6259 - -6252 -6245 -6239 -6232 -6225 -6219 -6212 -6205 - -6198 -6192 -6185 -6178 -6172 -6165 -6158 -6152 - -6145 -6139 -6132 -6125 -6119 -6112 -6105 -6099 - -6092 -6085 -6079 -6072 -6066 -6059 -6053 -6046 - -6040 -6033 -6026 -6019 -6013 -6006 -6000 -5993 - -5987 -5980 -5974 -5967 -5961 -5954 -5948 -5941 - -5935 -5928 -5922 -5915 -5908 -5902 -5895 -5889 - -5883 -5876 -5870 -5863 -5857 -5850 -5844 -5837 - -5831 -5825 -5818 -5811 -5805 -5799 -5792 -5786 - -5779 -5773 -5766 -5760 -5754 -5747 -5741 -5734 - -5728 -5722 -5715 -5709 -5702 -5696 -5690 -5683 - -5677 -5671 -5664 -5658 -5651 -5645 -5639 -5632 - -5626 -5620 -5613 -5607 -5600 -5594 -5588 -5582 - -5575 -5569 -5563 -5556 -5550 -5544 -5537 -5531 - -5525 -5519 -5512 -5506 -5500 -5494 -5487 -5481 - -5475 -5468 -5462 -5456 -5450 -5443 -5437 -5431 - -5425 -5418 -5412 -5406 -5400 -5393 -5387 -5381 - -5375 -5369 -5362 -5356 -5350 -5344 -5337 -5331 - -5325 -5319 -5313 -5306 -5300 -5294 -5288 -5282 - -5276 -5270 -5263 -5257 -5251 -5245 -5239 -5233 - -5226 -5220 -5214 -5208 -5202 -5196 -5190 -5183 - -5177 -5171 -5165 -5159 -5153 -5147 -5140 -5135 - -5129 -5122 -5116 -5110 -5104 -5098 -5092 -5086 - -5080 -5074 -5068 -5061 -5055 -5050 -5043 -5037 - -5031 -5025 -5019 -5013 -5007 -5001 -4995 -4989 - -4983 -4977 -4971 -4965 -4959 -4953 -4947 -4941 - -4935 -4929 -4923 -4917 -4911 -4905 -4899 -4893 - -4887 -4881 -4875 -4869 -4863 -4857 -4851 -4845 - -4839 -4833 -4827 -4821 -4815 -4809 -4803 -4797 - -4791 -4785 -4779 -4773 -4767 -4762 -4755 -4750 - -4744 -4738 -4732 -4726 -4720 -4714 -4708 -4702 - -4696 -4690 -4685 -4678 -4673 -4667 -4661 -4655 - -4649 -4643 -4637 -4631 -4626 -4620 -4614 -4608 - -4602 -4596 -4590 -4585 -4579 -4573 -4567 -4561 - -4555 -4549 -4544 -4538 -4532 -4526 -4520 -4514 - -4508 -4503 -4497 -4491 -4485 -4479 -4474 -4468 - -4462 -4456 -4450 -4445 -4439 -4433 -4427 -4421 - -4415 -4410 -4404 -4398 -4392 -4386 -4381 -4375 - -4369 -4363 -4358 -4352 -4346 -4340 -4334 -4329 - -4323 -4317 -4311 -4306 -4300 -4294 -4289 -4283 - -4277 -4271 -4266 -4260 -4254 -4248 -4243 -4237 - -4231 -4225 -4220 -4214 -4208 -4202 -4197 -4191 - -4185 -4180 -4174 -4168 -4162 -4157 -4151 -4146 - -4140 -4134 -4128 -4123 -4117 -4111 -4105 -4100 - -4094 -4089 -4083 -4077 -4071 -4066 -4060 -4055 - -4049 -4043 -4037 -4032 -4026 -4021 -4015 -4009 - -4003 -3998 -3992 -3987 -3981 -3975 -3970 -3964 - -3958 -3953 -3947 -3942 -3936 -3930 -3925 -3919 - -3913 -3908 -3902 -3897 -3891 -3885 -3880 -3874 - -3869 -3863 -3857 -3852 -3846 -3840 -3835 -3829 - -3824 -3818 -3813 -3807 -3801 -3796 -3790 -3785 - -3779 -3774 -3768 -3762 -3757 -3751 -3746 -3740 - -3734 -3729 -3723 -3718 -3712 -3707 -3701 -3696 - -3690 -3684 -3679 -3673 -3668 -3662 -3657 -3651 - -3646 -3640 -3635 -3629 -3624 -3618 -3613 -3607 - -3602 -3596 -3591 -3585 -3579 -3574 -3568 -3563 - -3557 -3552 -3546 -3541 -3535 -3530 -3524 -3519 - -3514 -3508 -3502 -3497 -3491 -3486 -3480 -3475 - -3469 -3464 -3459 -3453 -3448 -3442 -3437 -3431 - -3425 -3420 -3415 -3409 -3404 -3398 -3393 -3387 - -3382 -3376 -3371 -3366 -3360 -3355 -3349 -3344 - -3338 -3333 -3328 -3322 -3317 -3311 -3305 -3300 - -3295 -3289 -3284 -3278 -3273 -3268 -3262 -3257 - -3251 -3246 -3240 -3235 -3230 -3224 -3219 -3213 - -3208 -3203 -3197 -3192 -3186 -3181 -3176 -3170 - -3165 -3159 -3154 -3149 -3143 -3138 -3132 -3127 - -3122 -3116 -3111 -3105 -3100 -3095 -3089 -3084 - -3079 -3073 -3068 -3062 -3057 -3052 -3046 -3041 - -3036 -3030 -3025 -3019 -3014 -3009 -3003 -2998 - -2993 -2987 -2982 -2977 -2971 -2966 -2961 -2955 - -2950 -2944 -2939 -2934 -2928 -2923 -2918 -2912 - -2907 -2902 -2896 -2891 -2886 -2880 -2875 -2870 - -2864 -2859 -2854 -2848 -2843 -2838 -2832 -2827 - -2822 -2816 -2811 -2806 -2800 -2795 -2790 -2784 - -2779 -2774 -2768 -2763 -2758 -2753 -2747 -2742 - -2737 -2732 -2726 -2721 -2716 -2710 -2705 -2700 - -2694 -2689 -2684 -2678 -2673 -2668 -2663 -2657 - -2652 -2647 -2642 -2636 -2631 -2626 -2620 -2615 - -2610 -2605 -2599 -2594 -2589 -2583 -2578 -2573 - -2568 -2562 -2557 -2552 -2546 -2542 -2536 -2531 - -2526 -2520 -2515 -2510 -2505 -2499 -2494 -2489 - -2483 -2478 -2473 -2468 -2463 -2457 -2452 -2447 - -2442 -2436 -2431 -2426 -2421 -2415 -2410 -2405 - -2400 -2395 -2389 -2384 -2379 -2374 -2368 -2363 - -2358 -2353 -2347 -2342 -2337 -2332 -2327 -2321 - -2316 -2311 -2306 -2300 -2295 -2290 -2285 -2279 - -2275 -2269 -2264 -2259 -2254 -2248 -2243 -2238 - -2233 -2227 -2222 -2217 -2212 -2207 -2202 -2196 - -2191 -2186 -2181 -2175 -2170 -2165 -2160 -2155 - -2150 -2144 -2139 -2134 -2129 -2124 -2118 -2113 - -2108 -2103 -2098 -2093 -2087 -2082 -2077 -2072 - -2067 -2062 -2056 -2051 -2046 -2041 -2036 -2030 - -2025 -2020 -2015 -2010 -2005 -2000 -1994 -1989 - -1984 -1979 -1974 -1969 -1963 -1958 -1953 -1948 - -1943 -1937 -1932 -1927 -1922 -1917 -1912 -1907 - -1901 -1896 -1891 -1886 -1881 -1876 -1871 -1865 - -1860 -1855 -1850 -1845 -1840 -1835 -1829 -1824 - -1819 -1814 -1809 -1804 -1799 -1794 -1788 -1783 - -1778 -1773 -1768 -1763 -1758 -1752 -1747 -1742 - -1737 -1732 -1727 -1722 -1717 -1711 -1706 -1701 - -1696 -1691 -1686 -1681 -1676 -1670 -1665 -1660 - -1655 -1650 -1645 -1640 -1635 -1629 -1624 -1619 - -1614 -1609 -1604 -1599 -1594 -1589 -1584 -1579 - -1573 -1568 -1563 -1558 -1553 -1548 -1543 -1538 - -1532 -1527 -1522 -1517 -1512 -1507 -1502 -1497 - -1492 -1486 -1482 -1477 -1471 -1466 -1461 -1456 - -1451 -1446 -1441 -1436 -1431 -1425 -1420 -1415 - -1410 -1405 -1400 -1395 -1390 -1385 -1380 -1375 - -1370 -1364 -1359 -1354 -1349 -1344 -1339 -1334 - -1329 -1324 -1319 -1314 -1309 -1303 -1298 -1294 - -1288 -1283 -1278 -1273 -1268 -1263 -1258 -1253 - -1248 -1243 -1237 -1232 -1228 -1222 -1217 -1212 - -1207 -1202 -1197 -1192 -1187 -1182 -1177 -1171 - -1167 -1162 -1156 -1151 -1146 -1141 -1136 -1131 - -1126 -1121 -1116 -1111 -1106 -1101 -1096 -1091 - -1085 -1081 -1076 -1070 -1065 -1060 -1055 -1050 - -1045 -1040 -1035 -1030 -1025 -1020 -1015 -1010 - -1005 -1000 -995 -990 -985 -979 -974 -970 - -964 -959 -954 -949 -944 -939 -934 -929 - -924 -919 -914 -909 -904 -899 -894 -889 - -884 -879 -874 -868 -863 -859 -853 -848 - -843 -838 -833 -828 -823 -818 -813 -808 - -803 -798 -793 -788 -783 -778 -773 -768 - -763 -758 -752 -748 -743 -738 -732 -727 - -723 -717 -712 -707 -702 -697 -692 -687 - -682 -677 -672 -667 -662 -657 -652 -647 - -642 -637 -632 -627 -622 -617 -612 -607 - -602 -597 -591 -587 -582 -577 -571 -566 - -562 -557 -551 -546 -541 -537 -531 -526 - -521 -516 -511 -506 -501 -496 -491 -486 - -481 -476 -471 -466 -461 -456 -451 -446 - -441 -436 -431 -426 -421 -416 -411 -406 - -401 -396 -391 -386 -381 -376 -371 -366 - -360 -356 -351 -346 -340 -335 -331 -326 - -320 -315 -310 -306 -300 -295 -290 -285 - -281 -275 -270 -265 -261 -255 -250 -245 - -240 -235 -230 -225 -220 -215 -210 -205 - -200 -195 -190 -185 -180 -175 -170 -165 - -160 -155 -150 -145 -140 -135 -130 -125 - -120 -115 -110 -105 -100 -95 -90 -85 - -80 -75 -70 -65 -60 -55 -50 -45 - -40 -35 -29 -25 -20 -15 -9 -5 - 0 5 11 16 20 25 30 36 - 41 45 50 56 61 66 70 76 - 81 86 91 96 101 106 111 116 - 121 126 131 136 141 146 151 156 - 161 166 171 176 181 186 191 196 - 201 206 211 216 221 226 231 236 - 241 246 251 256 261 266 271 276 - 281 286 291 296 301 306 311 316 - 322 326 331 336 342 347 351 356 - 362 367 372 376 382 387 392 396 - 402 407 412 417 422 427 432 437 - 442 447 452 457 462 467 472 477 - 482 487 492 497 502 507 512 517 - 522 527 532 537 542 547 552 557 - 562 567 572 578 582 587 593 598 - 603 607 613 618 623 628 633 638 - 643 648 653 658 663 668 673 678 - 683 688 693 698 703 708 713 718 - 723 728 733 739 743 748 754 759 - 763 768 774 779 784 789 794 799 - 804 809 814 819 824 829 834 839 - 844 849 854 859 864 869 874 879 - 884 890 895 899 905 910 915 920 - 925 930 935 940 945 950 955 960 - 965 970 975 980 985 990 995 1001 - 1006 1010 1016 1021 1026 1031 1036 1041 - 1046 1051 1056 1061 1066 1071 1076 1081 - 1086 1092 1096 1102 1107 1112 1117 1122 - 1127 1132 1137 1142 1147 1152 1157 1162 - 1167 1173 1178 1183 1188 1193 1198 1203 - 1208 1213 1218 1223 1228 1233 1238 1244 - 1248 1254 1259 1264 1269 1274 1279 1284 - 1289 1294 1299 1304 1309 1314 1320 1325 - 1330 1335 1340 1345 1350 1355 1360 1365 - 1371 1375 1381 1386 1391 1396 1401 1406 - 1411 1416 1421 1426 1432 1436 1442 1447 - 1452 1457 1462 1467 1472 1477 1482 1488 - 1493 1497 1503 1508 1513 1518 1523 1528 - 1534 1538 1543 1549 1554 1559 1564 1569 - 1574 1579 1584 1590 1595 1600 1605 1610 - 1615 1620 1625 1630 1636 1640 1646 1651 - 1656 1661 1666 1671 1676 1681 1687 1692 - 1697 1702 1707 1712 1717 1722 1728 1733 - 1738 1743 1748 1753 1758 1764 1769 1774 - 1779 1784 1789 1794 1799 1805 1810 1815 - 1820 1825 1831 1835 1841 1846 1851 1856 - 1861 1866 1871 1877 1882 1887 1892 1897 - 1902 1908 1913 1918 1923 1928 1933 1939 - 1944 1949 1954 1959 1964 1969 1975 1980 - 1985 1990 1995 2000 2005 2011 2016 2021 - 2026 2031 2037 2042 2047 2052 2057 2062 - 2068 2073 2078 2083 2088 2093 2099 2104 - 2109 2114 2119 2125 2130 2135 2140 2145 - 2150 2156 2161 2166 2171 2177 2182 2187 - 2192 2197 2202 2208 2213 2218 2223 2229 - 2234 2239 2244 2249 2254 2260 2265 2270 - 2275 2281 2286 2291 2296 2302 2306 2312 - 2317 2322 2327 2333 2338 2343 2348 2354 - 2359 2364 2369 2374 2380 2385 2390 2395 - 2401 2406 2411 2416 2422 2427 2432 2437 - 2442 2448 2453 2458 2463 2469 2474 2479 - 2485 2490 2495 2500 2506 2511 2516 2521 - 2526 2532 2537 2542 2548 2553 2558 2563 - 2569 2574 2579 2585 2589 2595 2600 2605 - 2611 2616 2621 2627 2632 2637 2642 2648 - 2653 2658 2664 2669 2674 2680 2685 2690 - 2695 2700 2706 2711 2716 2722 2727 2732 - 2738 2743 2748 2754 2759 2764 2769 2775 - 2780 2785 2791 2796 2801 2807 2812 2817 - 2823 2828 2833 2839 2844 2849 2855 2860 - 2865 2870 2876 2881 2886 2892 2897 2902 - 2908 2913 2918 2924 2929 2935 2940 2945 - 2951 2956 2961 2967 2972 2977 2983 2988 - 2993 2999 3004 3010 3015 3020 3026 3031 - 3036 3042 3047 3052 3058 3063 3069 3074 - 3079 3085 3090 3095 3101 3106 3112 3117 - 3122 3128 3133 3139 3144 3149 3155 3160 - 3166 3171 3176 3182 3187 3193 3198 3203 - 3209 3214 3220 3225 3231 3236 3242 3247 - 3252 3258 3263 3269 3274 3279 3285 3290 - 3296 3301 3307 3312 3317 3323 3328 3334 - 3339 3345 3350 3355 3361 3367 3372 3378 - 3383 3388 3394 3399 3405 3410 3416 3421 - 3427 3432 3437 3443 3448 3454 3459 3465 - 3471 3476 3481 3487 3492 3498 3503 3509 - 3514 3520 3525 3531 3536 3542 3548 3553 - 3558 3564 3569 3575 3580 3586 3591 3597 - 3602 3608 3613 3619 3625 3630 3636 3641 - 3647 3652 3658 3663 3669 3675 3680 3686 - 3691 3697 3702 3708 3713 3719 3724 3730 - 3736 3741 3747 3752 3758 3763 3769 3774 - 3780 3786 3791 3797 3802 3808 3813 3819 - 3825 3830 3836 3842 3847 3853 3858 3864 - 3869 3875 3881 3886 3892 3898 3903 3909 - 3915 3920 3926 3931 3937 3942 3948 3954 - 3960 3965 3971 3976 3982 3987 3993 3999 - 4005 4010 4016 4021 4027 4033 4039 4044 - 4050 4055 4061 4067 4073 4078 4084 4089 - 4095 4101 4107 4112 4118 4123 4129 4135 - 4141 4146 4152 4158 4164 4169 4175 4181 - 4187 4192 4198 4203 4209 4215 4221 4226 - 4232 4238 4243 4249 4255 4261 4266 4272 - 4278 4284 4289 4295 4301 4307 4313 4318 - 4324 4330 4336 4341 4347 4353 4359 4364 - 4370 4376 4382 4388 4393 4399 4405 4411 - 4417 4422 4428 4434 4440 4445 4452 4457 - 4463 4469 4474 4481 4486 4492 4498 4504 - 4510 4515 4521 4527 4533 4539 4545 4551 - 4556 4562 4568 4574 4580 4585 4592 4597 - 4603 4609 4615 4621 4627 4633 4638 4644 - 4650 4656 4662 4668 4674 4680 4686 4692 - 4697 4703 4709 4715 4721 4727 4733 4739 - 4745 4751 4757 4762 4769 4774 4780 4786 - 4792 4798 4804 4810 4816 4822 4828 4834 - 4840 4846 4852 4858 4864 4870 4876 4882 - 4888 4894 4900 4906 4912 4918 4924 4930 - 4936 4942 4948 4954 4960 4966 4972 4978 - 4984 4990 4996 5002 5008 5014 5020 5026 - 5032 5038 5045 5050 5057 5063 5069 5075 - 5081 5087 5093 5099 5105 5111 5118 5123 - 5129 5136 5142 5148 5154 5160 5166 5172 - 5179 5185 5191 5197 5203 5209 5215 5221 - 5227 5233 5240 5246 5252 5258 5265 5271 - 5277 5283 5289 5295 5301 5308 5314 5320 - 5326 5333 5339 5345 5351 5357 5363 5369 - 5376 5382 5388 5394 5401 5407 5413 5419 - 5426 5432 5438 5444 5451 5457 5463 5469 - 5476 5482 5488 5494 5501 5507 5513 5520 - 5526 5532 5539 5545 5551 5557 5564 5570 - 5576 5583 5589 5596 5602 5608 5614 5621 - 5627 5634 5640 5646 5652 5659 5665 5672 - 5678 5684 5691 5697 5704 5710 5716 5723 - 5729 5736 5742 5748 5755 5761 5768 5774 - 5780 5787 5793 5800 5806 5813 5819 5826 - 5832 5838 5845 5852 5858 5864 5871 5877 - 5884 5890 5897 5903 5910 5916 5923 5929 - 5936 5942 5949 5956 5962 5968 5975 5981 - 5988 5994 6001 6008 6014 6021 6027 6034 - 6041 6047 6054 6060 6067 6074 6080 6087 - 6093 6100 6107 6113 6120 6126 6133 6140 - 6146 6153 6160 6167 6173 6180 6186 6193 - 6200 6206 6213 6220 6226 6233 6240 6246 - 6253 6260 6266 6273 6280 6287 6294 6300 - 6307 6314 6321 6327 6334 6341 6348 6354 - 6361 6368 6375 6382 6388 6395 6402 6409 - 6416 6422 6429 6436 6443 6450 6457 6463 - 6470 6477 6484 6491 6497 6504 6511 6518 - 6525 6532 6539 6546 6553 6559 6566 6573 - 6580 6587 6594 6601 6608 6615 6622 6629 - 6636 6643 6650 6657 6664 6671 6678 6685 - 6692 6699 6706 6713 6719 6727 6734 6741 - 6748 6755 6762 6769 6776 6783 6790 6797 - 6804 6811 6818 6826 6833 6840 6847 6854 - 6861 6868 6875 6883 6889 6897 6904 6911 - 6918 6925 6932 6939 6947 6954 6961 6969 - 6975 6983 6990 6997 7005 7012 7019 7026 - 7033 7041 7048 7055 7062 7070 7077 7084 - 7091 7099 7106 7114 7121 7128 7135 7143 - 7150 7157 7165 7172 7179 7187 7194 7202 - 7209 7216 7224 7231 7238 7246 7253 7261 - 7268 7276 7283 7290 7298 7306 7313 7320 - 7328 7336 7343 7350 7358 7365 7373 7381 - 7388 7395 7403 7410 7418 7426 7433 7441 - 7448 7456 7463 7471 7479 7486 7494 7501 - 7509 7517 7524 7532 7540 7547 7555 7563 - 7571 7578 7586 7594 7601 7609 7617 7624 - 7632 7640 7648 7655 7663 7671 7679 7687 - 7694 7702 7710 7718 7725 7733 7741 7749 - 7757 7765 7773 7780 7788 7796 7804 7812 - 7820 7828 7836 7843 7852 7859 7868 7875 - 7883 7891 7899 7907 7915 7923 7931 7939 - 7947 7955 7963 7971 7979 7988 7995 8004 - 8012 8020 8028 8036 8044 8052 8061 8069 - 8076 8085 8093 8101 8109 8117 8126 8134 - 8142 8150 8158 8167 8175 8183 8192 8200 - 8208 8217 8225 8233 8241 8250 8258 8266 - 8275 8283 8292 8300 8308 8317 8325 8333 - 8342 8350 8359 8367 8376 8384 8392 8401 - 8409 8418 8426 8435 8443 8452 8461 8469 - 8477 8486 8495 8503 8512 8520 8529 8538 - 8546 8555 8564 8573 8581 8590 8598 8607 - 8616 8625 8633 8642 8651 8659 8668 8677 - 8686 8695 8704 8712 8721 8730 8739 8748 - 8756 8765 8774 8783 8792 8801 8810 8819 - 8828 8837 8846 8855 8864 8873 8882 8891 - 8900 8909 8918 8927 8936 8945 8954 8964 - 8973 8982 8991 9000 9009 9019 9028 9037 - 9046 9055 9064 9074 9083 9092 9102 9111 - 9120 9130 9139 9148 9157 9167 9176 9186 - 9195 9205 9214 9223 9233 9242 9252 9261 - 9271 9280 9290 9300 9309 9318 9328 9338 - 9347 9357 9367 9376 9386 9395 9405 9415 - 9424 9434 9444 9454 9464 9473 9483 9493 - 9503 9513 9522 9532 9542 9552 9562 9572 - 9582 9592 9602 9612 9622 9632 9642 9652 - 9662 9672 9682 9692 9702 9712 9722 9733 - 9743 9753 9763 9773 9783 9794 9804 9814 - 9825 9835 9845 9855 9866 9876 9887 9897 - 9907 9918 9928 9939 9949 9960 9970 9981 - 9991 10002 10012 10023 10034 10044 10055 10066 - 10076 10087 10097 10108 10119 10130 10140 10152 - 10162 10173 10184 10195 10206 10217 10227 10238 - 10249 10260 10271 10282 10293 10304 10315 10326 - 10337 10349 10360 10371 10382 10394 10405 10416 - 10427 10438 10450 10461 10472 10484 10495 10507 - 10518 10530 10541 10553 10564 10575 10587 10598 - 10610 10622 10633 10645 10657 10668 10680 10692 - 10704 10715 10727 10739 10751 10763 10775 10786 - 10798 10811 10822 10834 10847 10858 10870 10883 - 10895 10907 10919 10931 10944 10956 10968 10981 - 10993 11005 11017 11030 11042 11055 11067 11080 - 11092 11105 11117 11130 11142 11155 11168 11180 - 11193 11206 11219 11232 11245 11257 11270 11283 - 11296 11309 11322 11335 11348 11361 11375 11388 - 11401 11414 11427 11441 11454 11467 11481 11494 - 11508 11521 11534 11548 11561 11575 11589 11602 - 11616 11630 11644 11657 11671 11685 11699 11713 - 11727 11741 11755 11769 11783 11797 11811 11826 - 11839 11854 11868 11882 11897 11911 11926 11940 - 11955 11969 11984 11998 12013 12028 12043 12057 - 12072 12087 12102 12117 12132 12147 12162 12177 - 12193 12208 12223 12238 12254 12269 12284 12299 - 12315 12331 12346 12362 12378 12393 12409 12425 - 12441 12457 12473 12489 12505 12521 12537 12553 - 12569 12586 12602 12619 12635 12651 12668 12684 - 12701 12718 12734 12751 12768 12785 12802 12819 - 12836 12853 12870 12888 12905 12922 12940 12957 - 12975 12993 13010 13028 13046 13064 13081 13099 - 13117 13135 13154 13172 13190 13209 13227 13246 - 13264 13283 13301 13320 13339 13358 13377 13396 - 13415 13434 13454 13473 13492 13512 13532 13551 - 13571 13591 13611 13631 13651 13671 13691 13711 - 13732 13752 13773 13793 13814 13835 13856 13877 - 13898 13919 13940 13962 13983 14005 14026 14048 - 14070 14092 14114 14136 14159 14181 14203 14226 - 14249 14272 14294 14318 14341 14364 14387 14411 - 14434 14458 14482 14506 14530 14554 14578 14603 - 14628 14653 14677 14703 14728 14753 14778 14804 - 14830 14855 14882 14908 14934 14961 14987 15014 - 15041 15068 15095 15123 15151 15179 15206 15235 - 15263 15291 15320 15349 15378 15408 15437 15466 - 15496 15527 15557 15587 15618 15649 15680 15712 - 15743 15775 15808 15840 15872 15906 15939 15972 - 16006 16040 16074 16108 16143 16178 16214 16249 - 16285 16322 16358 16395 16433 16470 16508 16547 - 16586 16624 16664 16704 16744 16785 16826 16867 - 16910 16952 16995 17038 17082 17126 17171 17217 - 17263 17309 17356 17403 17452 17501 17550 17600 - 17651 17702 17754 17807 17861 17915 17970 18026 - 18083 18141 18200 18259 18320 18382 18444 18508 - 18573 18639 18706 18775 18845 18917 18989 19064 - 19140 19217 19297 19378 19461 19547 19634 19724 - 19816 19911 20009 20109 20213 20319 20430 20544 - 20663 20786 20914 21047 21186 21331 21484 21644 - 21813 21991 22181 22384 22601 22836 23091 23370 - 23679 24027 24424 24888 25450 26164 27159 28858 diff --git a/netem/pareto b/netem/pareto deleted file mode 100755 index 8030cb81bb1b342afd095692dd9e5f26f3c366e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7772 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 J_Gx+Me*vwG7JUE! diff --git a/netem/paretonormal.dist b/netem/paretonormal.dist deleted file mode 100644 index 61be1b8..0000000 --- a/netem/paretonormal.dist +++ /dev/null @@ -1,513 +0,0 @@ -# This is the distribution table for the paretonormal distribution. - -12305 -11171 -10812 -10586 -10418 -10284 -10172 -10075 - -9990 -9914 -9845 -9783 -9724 -9670 -9620 -9572 - -9527 -9485 -9445 -9406 -9370 -9335 -9302 -9269 - -9238 -9208 -9179 -9151 -9123 -9097 -9072 -9047 - -9023 -8999 -8976 -8954 -8932 -8910 -8889 -8869 - -8849 -8830 -8810 -8792 -8773 -8755 -8737 -8720 - -8702 -8685 -8670 -8653 -8637 -8621 -8606 -8590 - -8575 -8560 -8546 -8531 -8517 -8503 -8489 -8476 - -8462 -8449 -8436 -8423 -8410 -8397 -8384 -8372 - -8360 -8348 -8336 -8324 -8312 -8301 -8289 -8278 - -8266 -8255 -8244 -8234 -8223 -8212 -8201 -8191 - -8180 -8170 -8159 -8149 -8139 -8129 -8119 -8110 - -8100 -8090 -8081 -8071 -8062 -8052 -8043 -8033 - -8024 -8015 -8006 -7998 -7989 -7980 -7971 -7962 - -7954 -7945 -7936 -7928 -7919 -7911 -7903 -7894 - -7887 -7879 -7870 -7862 -7854 -7846 -7838 -7830 - -7822 -7815 -7807 -7799 -7791 -7784 -7777 -7769 - -7762 -7754 -7747 -7739 -7732 -7725 -7717 -7710 - -7703 -7696 -7689 -7682 -7675 -7668 -7661 -7654 - -7647 -7640 -7634 -7627 -7620 -7613 -7606 -7600 - -7593 -7586 -7580 -7573 -7567 -7561 -7554 -7548 - -7541 -7535 -7529 -7522 -7516 -7510 -7503 -7497 - -7491 -7485 -7478 -7472 -7466 -7461 -7455 -7449 - -7443 -7437 -7431 -7425 -7419 -7413 -7407 -7401 - -7395 -7389 -7383 -7378 -7372 -7366 -7360 -7355 - -7350 -7344 -7338 -7333 -7327 -7321 -7316 -7310 - -7305 -7299 -7294 -7288 -7283 -7277 -7272 -7266 - -7261 -7256 -7250 -7245 -7240 -7235 -7230 -7224 - -7219 -7214 -7209 -7204 -7198 -7193 -7188 -7183 - -7178 -7173 -7167 -7162 -7157 -7152 -7147 -7142 - -7137 -7132 -7127 -7122 -7117 -7112 -7107 -7103 - -7098 -7093 -7088 -7083 -7078 -7074 -7069 -7064 - -7059 -7054 -7049 -7045 -7040 -7035 -7030 -7026 - -7021 -7016 -7012 -7007 -7002 -6997 -6993 -6988 - -6984 -6979 -6974 -6970 -6965 -6961 -6956 -6951 - -6947 -6942 -6939 -6934 -6930 -6925 -6921 -6916 - -6912 -6907 -6903 -6898 -6894 -6889 -6885 -6881 - -6876 -6872 -6868 -6863 -6859 -6854 -6850 -6846 - -6842 -6837 -6833 -6829 -6824 -6820 -6816 -6811 - -6807 -6803 -6799 -6795 -6790 -6786 -6782 -6778 - -6774 -6769 -6765 -6761 -6757 -6753 -6749 -6745 - -6740 -6736 -6732 -6728 -6724 -6720 -6716 -6712 - -6708 -6704 -6700 -6696 -6692 -6688 -6684 -6680 - -6676 -6672 -6668 -6664 -6660 -6656 -6652 -6648 - -6644 -6640 -6636 -6632 -6628 -6624 -6620 -6617 - -6613 -6609 -6605 -6601 -6597 -6593 -6590 -6586 - -6582 -6578 -6574 -6570 -6567 -6563 -6559 -6555 - -6551 -6548 -6544 -6540 -6536 -6533 -6529 -6525 - -6521 -6518 -6514 -6510 -6506 -6503 -6499 -6495 - -6492 -6488 -6484 -6481 -6477 -6473 -6470 -6466 - -6462 -6459 -6455 -6451 -6448 -6444 -6441 -6437 - -6433 -6430 -6426 -6422 -6418 -6415 -6411 -6407 - -6404 -6400 -6397 -6393 -6390 -6386 -6383 -6379 - -6375 -6372 -6368 -6365 -6361 -6358 -6354 -6351 - -6347 -6344 -6340 -6337 -6333 -6330 -6326 -6323 - -6320 -6316 -6313 -6309 -6306 -6302 -6298 -6295 - -6291 -6288 -6284 -6281 -6278 -6274 -6271 -6268 - -6264 -6261 -6257 -6254 -6251 -6247 -6244 -6241 - -6237 -6234 -6230 -6227 -6224 -6220 -6216 -6213 - -6210 -6206 -6203 -6200 -6196 -6193 -6190 -6187 - -6183 -6180 -6177 -6173 -6170 -6167 -6164 -6160 - -6157 -6154 -6150 -6147 -6143 -6140 -6137 -6134 - -6130 -6127 -6124 -6121 -6117 -6114 -6111 -6108 - -6105 -6101 -6098 -6094 -6091 -6088 -6085 -6081 - -6078 -6075 -6072 -6069 -6066 -6062 -6059 -6056 - -6053 -6050 -6047 -6043 -6040 -6037 -6033 -6030 - -6027 -6024 -6021 -6018 -6015 -6011 -6008 -6005 - -6002 -5999 -5995 -5992 -5989 -5986 -5983 -5980 - -5977 -5974 -5971 -5967 -5964 -5961 -5958 -5954 - -5951 -5948 -5945 -5942 -5939 -5936 -5933 -5930 - -5927 -5924 -5921 -5917 -5914 -5911 -5908 -5905 - -5902 -5899 -5896 -5893 -5890 -5887 -5884 -5880 - -5877 -5874 -5871 -5868 -5865 -5862 -5859 -5857 - -5854 -5851 -5847 -5844 -5841 -5838 -5835 -5832 - -5829 -5826 -5823 -5820 -5817 -5814 -5811 -5808 - -5805 -5802 -5799 -5796 -5793 -5790 -5787 -5784 - -5781 -5778 -5775 -5772 -5769 -5766 -5763 -5760 - -5758 -5754 -5751 -5748 -5745 -5742 -5740 -5737 - -5734 -5731 -5727 -5724 -5722 -5719 -5716 -5713 - -5710 -5707 -5704 -5701 -5698 -5695 -5692 -5689 - -5687 -5684 -5681 -5678 -5675 -5672 -5669 -5666 - -5663 -5660 -5658 -5655 -5651 -5648 -5646 -5643 - -5640 -5637 -5634 -5632 -5629 -5625 -5622 -5620 - -5617 -5614 -5611 -5609 -5606 -5602 -5600 -5597 - -5594 -5591 -5588 -5586 -5582 -5579 -5577 -5574 - -5571 -5568 -5566 -5563 -5559 -5557 -5554 -5551 - -5548 -5546 -5543 -5539 -5537 -5534 -5531 -5528 - -5526 -5523 -5520 -5517 -5514 -5511 -5509 -5506 - -5503 -5501 -5497 -5494 -5492 -5489 -5486 -5483 - -5480 -5477 -5475 -5472 -5469 -5467 -5464 -5460 - -5458 -5455 -5452 -5450 -5447 -5444 -5441 -5438 - -5436 -5433 -5430 -5428 -5424 -5421 -5419 -5416 - -5414 -5411 -5408 -5405 -5402 -5399 -5397 -5394 - -5392 -5388 -5386 -5383 -5380 -5378 -5375 -5372 - -5369 -5366 -5364 -5361 -5358 -5355 -5352 -5350 - -5347 -5345 -5342 -5339 -5336 -5333 -5331 -5328 - -5326 -5322 -5320 -5317 -5314 -5312 -5309 -5306 - -5303 -5301 -5298 -5296 -5292 -5290 -5287 -5284 - -5282 -5279 -5276 -5273 -5271 -5268 -5266 -5262 - -5260 -5257 -5254 -5252 -5249 -5246 -5243 -5241 - -5238 -5236 -5233 -5230 -5227 -5225 -5222 -5219 - -5216 -5214 -5211 -5209 -5206 -5203 -5200 -5198 - -5195 -5193 -5190 -5187 -5184 -5182 -5179 -5176 - -5174 -5171 -5168 -5166 -5163 -5160 -5158 -5155 - -5153 -5149 -5147 -5144 -5142 -5139 -5136 -5133 - -5131 -5129 -5125 -5123 -5120 -5118 -5115 -5112 - -5109 -5107 -5104 -5102 -5099 -5096 -5094 -5091 - -5089 -5085 -5083 -5080 -5078 -5075 -5072 -5070 - -5067 -5065 -5062 -5059 -5057 -5054 -5051 -5049 - -5046 -5044 -5041 -5038 -5035 -5033 -5030 -5027 - -5025 -5022 -5020 -5017 -5014 -5012 -5009 -5007 - -5004 -5001 -4999 -4996 -4993 -4991 -4988 -4986 - -4983 -4980 -4978 -4975 -4973 -4970 -4967 -4965 - -4962 -4959 -4957 -4954 -4952 -4949 -4946 -4944 - -4941 -4938 -4936 -4933 -4931 -4928 -4925 -4923 - -4920 -4917 -4915 -4912 -4910 -4907 -4904 -4902 - -4900 -4897 -4894 -4892 -4889 -4886 -4884 -4881 - -4879 -4876 -4873 -4871 -4869 -4865 -4863 -4861 - -4858 -4855 -4853 -4850 -4848 -4845 -4842 -4840 - -4838 -4834 -4832 -4830 -4827 -4824 -4822 -4819 - -4816 -4814 -4812 -4809 -4806 -4804 -4801 -4798 - -4796 -4793 -4791 -4788 -4786 -4783 -4781 -4778 - -4775 -4773 -4770 -4767 -4765 -4763 -4760 -4757 - -4755 -4752 -4749 -4747 -4745 -4742 -4739 -4737 - -4735 -4732 -4729 -4727 -4724 -4721 -4719 -4716 - -4714 -4711 -4709 -4706 -4703 -4701 -4698 -4696 - -4693 -4691 -4688 -4686 -4683 -4680 -4678 -4676 - -4672 -4670 -4668 -4665 -4662 -4660 -4658 -4655 - -4652 -4650 -4647 -4645 -4642 -4640 -4637 -4635 - -4632 -4629 -4627 -4625 -4622 -4619 -4617 -4614 - -4612 -4609 -4606 -4604 -4602 -4599 -4596 -4594 - -4592 -4589 -4586 -4584 -4581 -4579 -4576 -4573 - -4571 -4569 -4566 -4563 -4561 -4558 -4556 -4553 - -4550 -4548 -4546 -4543 -4540 -4538 -4535 -4533 - -4530 -4527 -4525 -4523 -4520 -4518 -4515 -4512 - -4510 -4508 -4505 -4502 -4500 -4497 -4495 -4493 - -4490 -4487 -4485 -4482 -4480 -4477 -4474 -4472 - -4470 -4467 -4465 -4462 -4459 -4457 -4455 -4452 - -4449 -4446 -4444 -4442 -4439 -4437 -4434 -4431 - -4429 -4427 -4424 -4422 -4419 -4416 -4414 -4412 - -4409 -4407 -4404 -4401 -4399 -4396 -4394 -4392 - -4389 -4386 -4384 -4381 -4379 -4376 -4374 -4371 - -4368 -4366 -4364 -4361 -4359 -4356 -4353 -4351 - -4348 -4346 -4344 -4341 -4338 -4336 -4333 -4331 - -4328 -4326 -4324 -4321 -4318 -4315 -4313 -4311 - -4308 -4306 -4303 -4300 -4298 -4295 -4293 -4291 - -4288 -4286 -4283 -4280 -4278 -4275 -4273 -4270 - -4268 -4266 -4263 -4261 -4258 -4255 -4253 -4250 - -4248 -4245 -4243 -4241 -4238 -4235 -4232 -4230 - -4228 -4225 -4223 -4220 -4218 -4215 -4213 -4210 - -4207 -4205 -4202 -4200 -4198 -4195 -4193 -4190 - -4187 -4185 -4182 -4180 -4177 -4175 -4172 -4170 - -4168 -4165 -4163 -4160 -4157 -4155 -4152 -4150 - -4147 -4145 -4142 -4140 -4138 -4135 -4133 -4130 - -4127 -4124 -4122 -4119 -4117 -4115 -4112 -4110 - -4107 -4105 -4102 -4100 -4097 -4094 -4092 -4089 - -4087 -4084 -4082 -4079 -4077 -4075 -4072 -4070 - -4067 -4065 -4062 -4060 -4057 -4054 -4052 -4049 - -4047 -4044 -4042 -4039 -4037 -4034 -4032 -4029 - -4027 -4024 -4022 -4020 -4017 -4015 -4012 -4009 - -4006 -4004 -4001 -3999 -3996 -3994 -3991 -3989 - -3987 -3984 -3982 -3979 -3977 -3974 -3972 -3969 - -3967 -3964 -3962 -3959 -3957 -3954 -3952 -3949 - -3947 -3944 -3941 -3939 -3936 -3933 -3931 -3929 - -3926 -3924 -3921 -3919 -3916 -3914 -3911 -3909 - -3906 -3904 -3901 -3899 -3896 -3894 -3891 -3889 - -3886 -3884 -3881 -3879 -3876 -3874 -3871 -3869 - -3866 -3864 -3861 -3859 -3856 -3854 -3851 -3849 - -3846 -3844 -3841 -3839 -3836 -3833 -3831 -3828 - -3826 -3823 -3821 -3818 -3816 -3813 -3811 -3808 - -3806 -3803 -3801 -3798 -3796 -3793 -3791 -3788 - -3786 -3783 -3781 -3778 -3775 -3773 -3770 -3768 - -3765 -3763 -3760 -3758 -3755 -3753 -3750 -3748 - -3745 -3743 -3740 -3737 -3735 -3732 -3730 -3727 - -3725 -3722 -3720 -3717 -3715 -3712 -3709 -3707 - -3704 -3702 -3700 -3697 -3695 -3692 -3689 -3687 - -3685 -3682 -3680 -3677 -3675 -3672 -3669 -3667 - -3664 -3662 -3659 -3657 -3654 -3652 -3649 -3646 - -3644 -3641 -3639 -3636 -3634 -3631 -3629 -3626 - -3624 -3621 -3619 -3616 -3614 -3611 -3609 -3606 - -3604 -3601 -3598 -3596 -3593 -3591 -3588 -3585 - -3583 -3580 -3578 -3575 -3573 -3571 -3568 -3566 - -3563 -3561 -3558 -3555 -3553 -3550 -3548 -3545 - -3542 -3540 -3537 -3535 -3532 -3530 -3528 -3525 - -3522 -3520 -3517 -3515 -3512 -3509 -3507 -3504 - -3502 -3499 -3496 -3494 -3492 -3489 -3487 -3484 - -3482 -3479 -3476 -3474 -3471 -3469 -3466 -3463 - -3461 -3458 -3456 -3454 -3451 -3448 -3446 -3443 - -3441 -3438 -3435 -3433 -3430 -3428 -3425 -3423 - -3420 -3418 -3415 -3413 -3410 -3407 -3405 -3402 - -3399 -3397 -3395 -3392 -3390 -3387 -3384 -3382 - -3379 -3376 -3374 -3371 -3369 -3367 -3364 -3361 - -3359 -3356 -3353 -3351 -3348 -3345 -3343 -3341 - -3338 -3336 -3333 -3330 -3328 -3325 -3322 -3320 - -3318 -3315 -3313 -3310 -3307 -3305 -3302 -3299 - -3297 -3294 -3292 -3290 -3287 -3284 -3281 -3279 - -3276 -3273 -3271 -3269 -3266 -3264 -3261 -3258 - -3256 -3253 -3250 -3248 -3246 -3243 -3240 -3238 - -3235 -3232 -3229 -3227 -3225 -3222 -3220 -3217 - -3214 -3212 -3209 -3206 -3204 -3202 -3199 -3196 - -3194 -3191 -3188 -3186 -3184 -3181 -3178 -3175 - -3173 -3170 -3167 -3165 -3163 -3160 -3157 -3155 - -3152 -3149 -3147 -3144 -3142 -3139 -3136 -3134 - -3131 -3128 -3126 -3124 -3121 -3118 -3115 -3113 - -3110 -3108 -3105 -3103 -3100 -3097 -3094 -3092 - -3090 -3087 -3084 -3082 -3079 -3076 -3074 -3071 - -3069 -3066 -3063 -3061 -3058 -3056 -3053 -3050 - -3048 -3045 -3042 -3040 -3037 -3035 -3032 -3029 - -3026 -3024 -3021 -3019 -3016 -3014 -3011 -3008 - -3005 -3003 -3001 -2998 -2995 -2992 -2990 -2987 - -2985 -2982 -2979 -2976 -2974 -2972 -2969 -2966 - -2963 -2961 -2958 -2956 -2953 -2950 -2948 -2945 - -2942 -2940 -2937 -2935 -2932 -2929 -2926 -2924 - -2921 -2919 -2916 -2913 -2911 -2908 -2905 -2903 - -2900 -2897 -2895 -2892 -2890 -2887 -2884 -2881 - -2879 -2876 -2873 -2871 -2868 -2865 -2863 -2860 - -2857 -2855 -2852 -2850 -2847 -2844 -2841 -2839 - -2836 -2834 -2831 -2828 -2825 -2823 -2820 -2818 - -2815 -2812 -2809 -2807 -2804 -2801 -2799 -2796 - -2794 -2791 -2788 -2785 -2782 -2780 -2778 -2775 - -2772 -2769 -2767 -2764 -2761 -2758 -2756 -2753 - -2751 -2748 -2745 -2742 -2740 -2737 -2734 -2732 - -2729 -2726 -2724 -2721 -2718 -2715 -2713 -2710 - -2707 -2705 -2702 -2700 -2697 -2694 -2691 -2689 - -2686 -2683 -2680 -2677 -2675 -2673 -2670 -2667 - -2664 -2662 -2659 -2656 -2653 -2650 -2648 -2645 - -2642 -2639 -2637 -2635 -2632 -2629 -2626 -2623 - -2621 -2618 -2615 -2612 -2610 -2607 -2604 -2601 - -2599 -2596 -2593 -2590 -2588 -2586 -2583 -2580 - -2577 -2575 -2572 -2569 -2566 -2563 -2561 -2558 - -2555 -2552 -2550 -2547 -2544 -2541 -2539 -2536 - -2533 -2530 -2528 -2525 -2522 -2519 -2516 -2514 - -2511 -2508 -2505 -2503 -2500 -2497 -2494 -2492 - -2489 -2486 -2483 -2481 -2478 -2475 -2472 -2470 - -2467 -2464 -2461 -2458 -2456 -2453 -2450 -2447 - -2445 -2442 -2439 -2436 -2434 -2431 -2428 -2425 - -2423 -2420 -2417 -2414 -2412 -2409 -2406 -2403 - -2401 -2398 -2395 -2392 -2390 -2387 -2384 -2381 - -2379 -2375 -2372 -2369 -2367 -2364 -2361 -2358 - -2356 -2353 -2350 -2347 -2345 -2342 -2339 -2336 - -2334 -2331 -2327 -2325 -2322 -2319 -2316 -2314 - -2311 -2308 -2305 -2303 -2300 -2297 -2294 -2291 - -2288 -2285 -2282 -2280 -2277 -2274 -2271 -2269 - -2266 -2263 -2260 -2257 -2254 -2251 -2249 -2246 - -2243 -2240 -2238 -2235 -2231 -2229 -2226 -2223 - -2220 -2218 -2215 -2212 -2209 -2206 -2203 -2200 - -2198 -2195 -2192 -2189 -2186 -2183 -2180 -2178 - -2175 -2172 -2169 -2166 -2163 -2160 -2158 -2155 - -2152 -2149 -2146 -2143 -2140 -2137 -2135 -2132 - -2129 -2126 -2123 -2120 -2118 -2115 -2112 -2108 - -2106 -2103 -2100 -2097 -2094 -2091 -2088 -2086 - -2083 -2080 -2077 -2074 -2071 -2068 -2066 -2062 - -2059 -2057 -2054 -2051 -2048 -2045 -2042 -2039 - -2037 -2033 -2030 -2028 -2025 -2022 -2019 -2016 - -2013 -2010 -2008 -2004 -2001 -1999 -1996 -1992 - -1990 -1987 -1984 -1981 -1978 -1975 -1972 -1970 - -1966 -1963 -1960 -1958 -1954 -1952 -1949 -1946 - -1942 -1940 -1937 -1934 -1931 -1928 -1925 -1922 - -1919 -1916 -1913 -1910 -1907 -1904 -1902 -1898 - -1895 -1893 -1890 -1886 -1884 -1881 -1877 -1875 - -1872 -1869 -1866 -1863 -1860 -1857 -1854 -1851 - -1848 -1845 -1842 -1839 -1836 -1833 -1830 -1827 - -1824 -1821 -1818 -1815 -1812 -1809 -1806 -1803 - -1801 -1797 -1794 -1792 -1788 -1785 -1783 -1779 - -1776 -1774 -1770 -1767 -1764 -1761 -1758 -1755 - -1752 -1749 -1746 -1743 -1740 -1737 -1734 -1731 - -1728 -1725 -1722 -1719 -1716 -1712 -1710 -1707 - -1703 -1701 -1698 -1694 -1692 -1688 -1685 -1683 - -1679 -1676 -1674 -1670 -1667 -1664 -1661 -1658 - -1655 -1652 -1649 -1646 -1643 -1640 -1637 -1633 - -1631 -1627 -1624 -1621 -1618 -1615 -1612 -1609 - -1606 -1603 -1600 -1596 -1594 -1590 -1587 -1584 - -1581 -1578 -1575 -1572 -1569 -1566 -1562 -1560 - -1556 -1553 -1551 -1547 -1544 -1541 -1538 -1535 - -1532 -1528 -1526 -1522 -1519 -1516 -1513 -1509 - -1507 -1503 -1500 -1498 -1494 -1491 -1488 -1485 - -1482 -1479 -1475 -1473 -1469 -1466 -1463 -1460 - -1457 -1454 -1450 -1447 -1444 -1441 -1438 -1434 - -1432 -1428 -1425 -1422 -1419 -1415 -1413 -1409 - -1406 -1403 -1400 -1397 -1393 -1390 -1387 -1384 - -1381 -1378 -1374 -1372 -1368 -1365 -1362 -1358 - -1355 -1352 -1349 -1346 -1342 -1339 -1336 -1333 - -1330 -1327 -1323 -1320 -1317 -1314 -1311 -1307 - -1304 -1301 -1298 -1295 -1291 -1288 -1285 -1281 - -1279 -1275 -1272 -1269 -1265 -1262 -1259 -1256 - -1253 -1249 -1246 -1243 -1239 -1236 -1233 -1230 - -1226 -1223 -1220 -1217 -1214 -1210 -1207 -1204 - -1200 -1197 -1194 -1190 -1188 -1184 -1181 -1178 - -1174 -1171 -1168 -1165 -1161 -1158 -1155 -1151 - -1148 -1145 -1141 -1138 -1135 -1132 -1128 -1125 - -1122 -1118 -1115 -1112 -1108 -1105 -1102 -1099 - -1095 -1092 -1089 -1085 -1082 -1078 -1075 -1072 - -1068 -1066 -1062 -1059 -1055 -1052 -1049 -1045 - -1042 -1038 -1035 -1032 -1028 -1025 -1022 -1019 - -1015 -1012 -1009 -1005 -1002 -998 -995 -992 - -988 -985 -981 -978 -975 -971 -968 -964 - -961 -958 -955 -951 -947 -944 -941 -938 - -934 -931 -927 -924 -921 -917 -914 -910 - -907 -903 -900 -897 -893 -890 -886 -883 - -879 -876 -873 -869 -866 -862 -859 -855 - -852 -849 -845 -842 -838 -835 -831 -828 - -824 -821 -818 -814 -811 -807 -804 -800 - -797 -793 -790 -786 -782 -779 -776 -773 - -769 -765 -762 -758 -755 -751 -748 -744 - -741 -737 -734 -730 -727 -723 -719 -716 - -712 -709 -705 -702 -698 -695 -691 -688 - -685 -681 -678 -674 -671 -667 -664 -659 - -656 -652 -649 -645 -642 -638 -634 -631 - -627 -624 -620 -617 -613 -610 -606 -603 - -599 -595 -592 -588 -585 -581 -578 -574 - -570 -566 -563 -559 -556 -552 -549 -545 - -541 -538 -534 -531 -527 -523 -519 -516 - -512 -509 -505 -502 -498 -494 -490 -487 - -483 -480 -476 -472 -468 -465 -461 -457 - -454 -450 -447 -443 -439 -435 -432 -428 - -425 -420 -417 -413 -410 -406 -402 -398 - -395 -391 -388 -383 -380 -376 -373 -369 - -365 -361 -358 -354 -350 -346 -343 -339 - -336 -331 -328 -324 -320 -316 -313 -309 - -305 -301 -298 -294 -290 -286 -283 -279 - -275 -271 -268 -263 -260 -256 -253 -248 - -245 -241 -237 -233 -230 -225 -222 -218 - -214 -210 -207 -202 -199 -195 -191 -187 - -184 -179 -176 -171 -168 -164 -160 -156 - -153 -149 -145 -141 -137 -133 -129 -126 - -121 -118 -114 -110 -106 -102 -98 -95 - -90 -87 -82 -79 -75 -71 -67 -63 - -59 -55 -52 -47 -44 -39 -36 -31 - -28 -23 -20 -15 -12 -8 -4 0 - 3 8 11 16 19 23 27 31 - 35 39 43 47 51 55 59 63 - 67 71 75 79 83 87 91 96 - 99 104 107 112 115 119 124 127 - 132 135 140 144 148 152 156 160 - 164 168 172 177 180 185 189 193 - 197 201 205 209 214 217 222 226 - 230 234 238 243 246 251 255 259 - 263 267 272 275 280 284 288 292 - 296 301 304 309 313 317 322 325 - 330 334 338 342 346 351 355 360 - 363 368 372 376 381 384 389 393 - 397 402 406 410 414 419 423 427 - 432 436 440 444 448 453 457 462 - 466 470 475 479 483 487 492 496 - 500 505 509 513 518 522 527 531 - 535 540 544 549 553 557 561 565 - 570 574 579 583 587 592 596 601 - 606 610 614 619 623 628 632 636 - 641 645 650 654 658 663 667 672 - 676 681 686 690 694 699 703 708 - 712 716 722 726 730 735 739 744 - 748 753 758 762 766 771 775 780 - 785 789 794 798 803 808 812 816 - 821 826 830 835 839 844 849 853 - 858 863 867 872 876 881 886 890 - 895 900 904 909 914 918 923 928 - 932 937 942 946 951 956 960 965 - 970 974 979 984 989 994 998 1003 - 1008 1013 1017 1022 1027 1031 1037 1041 - 1046 1051 1056 1060 1065 1070 1074 1079 - 1084 1089 1094 1099 1103 1108 1113 1118 - 1123 1128 1132 1137 1143 1147 1152 1157 - 1162 1166 1171 1177 1181 1186 1191 1196 - 1201 1206 1211 1215 1221 1226 1230 1236 - 1241 1245 1250 1256 1260 1265 1271 1275 - 1280 1285 1290 1295 1300 1305 1310 1315 - 1320 1325 1330 1335 1341 1345 1350 1356 - 1361 1365 1370 1376 1381 1386 1391 1396 - 1401 1406 1412 1417 1421 1426 1432 1437 - 1442 1447 1453 1458 1462 1468 1473 1478 - 1483 1489 1494 1499 1504 1510 1515 1520 - 1525 1530 1535 1540 1546 1551 1556 1561 - 1567 1572 1577 1582 1588 1594 1599 1604 - 1609 1615 1620 1625 1630 1636 1641 1646 - 1651 1657 1663 1668 1673 1679 1684 1689 - 1694 1700 1706 1711 1716 1721 1727 1733 - 1738 1743 1749 1754 1760 1765 1770 1776 - 1782 1787 1792 1798 1804 1809 1814 1820 - 1825 1831 1837 1842 1847 1853 1859 1864 - 1870 1875 1881 1887 1892 1897 1903 1909 - 1915 1920 1926 1931 1937 1943 1948 1954 - 1959 1965 1971 1977 1982 1988 1993 1999 - 2005 2011 2016 2022 2028 2034 2040 2045 - 2051 2056 2062 2068 2074 2080 2085 2091 - 2097 2103 2109 2115 2120 2126 2132 2138 - 2144 2150 2155 2161 2167 2173 2179 2185 - 2191 2197 2202 2208 2214 2221 2227 2232 - 2238 2244 2250 2256 2263 2268 2274 2280 - 2286 2292 2298 2304 2311 2317 2323 2329 - 2334 2340 2346 2353 2359 2365 2371 2377 - 2383 2389 2395 2402 2408 2414 2421 2427 - 2433 2439 2445 2451 2457 2463 2470 2476 - 2483 2489 2495 2501 2507 2514 2520 2526 - 2532 2538 2545 2552 2558 2564 2571 2577 - 2583 2590 2596 2602 2608 2615 2621 2628 - 2634 2641 2648 2654 2660 2667 2673 2680 - 2686 2692 2699 2705 2712 2718 2725 2731 - 2738 2744 2751 2758 2764 2771 2778 2784 - 2791 2798 2804 2811 2818 2824 2831 2838 - 2844 2851 2858 2864 2871 2878 2884 2891 - 2898 2905 2911 2918 2925 2932 2938 2945 - 2952 2959 2966 2973 2979 2986 2993 3000 - 3007 3014 3021 3028 3035 3042 3049 3056 - 3063 3070 3077 3084 3091 3097 3104 3111 - 3118 3125 3132 3139 3146 3153 3161 3168 - 3175 3182 3189 3196 3204 3211 3218 3225 - 3233 3240 3247 3254 3261 3268 3275 3283 - 3290 3297 3305 3312 3320 3327 3334 3341 - 3348 3356 3363 3371 3378 3386 3393 3401 - 3408 3415 3422 3430 3437 3445 3453 3460 - 3468 3475 3482 3490 3498 3505 3513 3521 - 3528 3536 3543 3551 3558 3566 3574 3582 - 3589 3597 3604 3612 3620 3628 3636 3643 - 3651 3659 3667 3675 3683 3690 3698 3706 - 3714 3722 3730 3737 3745 3753 3762 3770 - 3777 3785 3793 3801 3809 3817 3825 3833 - 3842 3850 3857 3866 3874 3882 3890 3898 - 3906 3915 3923 3931 3939 3948 3956 3964 - 3972 3981 3989 3997 4005 4014 4022 4030 - 4039 4047 4055 4064 4072 4081 4089 4098 - 4106 4115 4123 4132 4141 4148 4157 4166 - 4175 4183 4192 4201 4209 4218 4227 4235 - 4244 4253 4261 4270 4279 4287 4296 4305 - 4313 4323 4332 4340 4349 4358 4367 4376 - 4385 4394 4403 4411 4421 4430 4438 4448 - 4457 4466 4475 4484 4493 4502 4511 4521 - 4529 4539 4548 4557 4567 4576 4585 4594 - 4604 4613 4622 4632 4641 4651 4660 4669 - 4679 4688 4698 4707 4717 4726 4736 4745 - 4755 4764 4774 4783 4793 4803 4813 4822 - 4832 4841 4852 4861 4871 4881 4891 4900 - 4911 4920 4930 4940 4950 4960 4970 4980 - 4990 5000 5010 5020 5030 5040 5050 5060 - 5071 5080 5091 5101 5112 5122 5131 5142 - 5152 5163 5173 5183 5194 5204 5215 5225 - 5235 5246 5257 5267 5278 5288 5299 5310 - 5320 5330 5342 5352 5363 5374 5384 5395 - 5406 5417 5427 5438 5450 5460 5471 5482 - 5493 5504 5515 5526 5537 5548 5559 5571 - 5582 5593 5604 5615 5627 5638 5649 5660 - 5672 5683 5695 5706 5717 5729 5741 5752 - 5763 5775 5786 5798 5810 5822 5833 5845 - 5856 5868 5880 5892 5904 5916 5928 5940 - 5951 5963 5975 5987 5999 6011 6024 6036 - 6048 6060 6073 6085 6097 6109 6122 6134 - 6146 6159 6171 6184 6196 6209 6221 6234 - 6246 6259 6272 6285 6297 6309 6322 6335 - 6348 6361 6374 6387 6400 6413 6426 6439 - 6451 6465 6478 6491 6505 6518 6531 6544 - 6557 6571 6584 6598 6611 6624 6638 6652 - 6666 6679 6693 6706 6720 6734 6747 6762 - 6776 6789 6803 6817 6831 6845 6859 6874 - 6887 6902 6916 6930 6945 6959 6973 6988 - 7002 7017 7031 7046 7061 7075 7090 7104 - 7119 7134 7149 7164 7178 7194 7208 7224 - 7238 7254 7269 7284 7299 7314 7330 7345 - 7361 7376 7391 7407 7422 7438 7454 7470 - 7485 7501 7517 7533 7548 7565 7581 7596 - 7612 7629 7645 7661 7677 7694 7710 7726 - 7743 7760 7776 7793 7809 7826 7843 7860 - 7877 7894 7911 7927 7944 7961 7979 7996 - 8013 8031 8048 8066 8083 8100 8118 8135 - 8153 8171 8189 8207 8225 8243 8261 8279 - 8297 8315 8333 8351 8370 8389 8407 8425 - 8444 8463 8482 8500 8519 8538 8557 8576 - 8595 8615 8633 8653 8673 8692 8711 8731 - 8750 8770 8790 8810 8829 8850 8869 8890 - 8910 8930 8950 8970 8991 9012 9032 9053 - 9073 9094 9116 9136 9157 9178 9200 9221 - 9242 9263 9285 9307 9328 9350 9372 9393 - 9415 9437 9459 9482 9504 9526 9549 9571 - 9594 9617 9640 9663 9686 9709 9732 9755 - 9778 9802 9826 9849 9873 9897 9920 9945 - 9969 9993 10017 10041 10066 10090 10115 10140 - 10165 10190 10215 10240 10265 10291 10316 10342 - 10368 10394 10419 10445 10471 10498 10525 10551 - 10578 10604 10631 10658 10685 10713 10740 10767 - 10795 10822 10850 10879 10907 10934 10963 10991 - 11020 11049 11077 11107 11136 11165 11194 11224 - 11254 11284 11314 11344 11374 11405 11435 11466 - 11496 11527 11558 11590 11621 11653 11685 11717 - 11749 11782 11813 11846 11879 11912 11945 11979 - 12012 12046 12079 12114 12148 12182 12217 12252 - 12287 12321 12357 12392 12428 12464 12500 12536 - 12573 12610 12647 12684 12722 12759 12797 12835 - 12873 12911 12950 12989 13028 13067 13107 13147 - 13187 13227 13268 13309 13350 13392 13433 13475 - 13517 13560 13602 13646 13689 13732 13776 13820 - 13864 13909 13954 14000 14045 14091 14138 14184 - 14231 14278 14325 14373 14421 14470 14519 14568 - 14618 14668 14718 14769 14820 14871 14923 14976 - 15028 15081 15134 15188 15243 15297 15353 15408 - 15464 15520 15577 15634 15692 15751 15809 15869 - 15929 15989 16050 16111 16173 16235 16298 16361 - 16426 16490 16556 16621 16688 16755 16823 16891 - 16960 17029 17099 17170 17242 17315 17387 17461 - 17535 17610 17687 17764 17841 17919 17999 18079 - 18159 18241 18323 18407 18492 18577 18663 18751 - 18839 18928 19019 19110 19203 19297 19392 19488 - 19585 19683 19783 19884 19986 20090 20195 20301 - 20408 20518 20628 20740 20855 20970 21086 21206 - 21326 21448 21572 21698 21826 21956 22088 22222 - 22358 22496 22638 22780 22926 23074 23225 23378 - 23534 23693 23854 24019 24187 24359 24533 24710 - 24893 25078 25266 25460 25658 25859 26065 26276 - 26492 26712 26939 27170 27408 27652 27901 28157 - 28421 28691 28969 29256 29286 29304 29322 29341 - 29360 29379 29399 29419 29440 29462 29483 29506 - 29529 29553 29577 29602 29628 29655 29682 29711 - 29741 29771 29803 29837 29871 29908 29946 29986 - 30028 30073 30120 30171 30225 30284 30348 30417 - 30495 30582 30681 30797 30937 31116 31365 31789 diff --git a/tc-cbq-details.8 b/tc-cbq-details.8 new file mode 100644 index 0000000..e47da62 --- /dev/null +++ b/tc-cbq-details.8 @@ -0,0 +1,425 @@ +.TH CBQ 8 "8 December 2001" "iproute2" "Linux" +.SH NAME +CBQ \- Class Based Queueing +.SH SYNOPSIS +.B tc qdisc ... dev +dev +.B ( parent +classid +.B | root) [ handle +major: +.B ] cbq avpkt +bytes +.B bandwidth +rate +.B [ cell +bytes +.B ] [ ewma +log +.B ] [ mpu +bytes +.B ] + +.B tc class ... dev +dev +.B parent +major:[minor] +.B [ classid +major:minor +.B ] cbq allot +bytes +.B [ bandwidth +rate +.B ] [ rate +rate +.B ] prio +priority +.B [ weight +weight +.B ] [ minburst +packets +.B ] [ maxburst +packets +.B ] [ ewma +log +.B ] [ cell +bytes +.B ] avpkt +bytes +.B [ mpu +bytes +.B ] [ bounded isolated ] [ split +handle +.B & defmap +defmap +.B ] [ estimator +interval timeconstant +.B ] + +.SH DESCRIPTION +Class Based Queueing is a classful qdisc that implements a rich +linksharing hierarchy of classes. It contains shaping elements as +well as prioritizing capabilities. Shaping is performed using link +idle time calculations based on the timing of dequeue events and +underlying link bandwidth. + +.SH SHAPING ALGORITHM +Shaping is done using link idle time calculations, and actions taken if +these calculations deviate from set limits. + +When shaping a 10mbit/s connection to 1mbit/s, the link will +be idle 90% of the time. If it isn't, it needs to be throttled so that it +IS idle 90% of the time. + +From the kernel's perspective, this is hard to measure, so CBQ instead +derives the idle time from the number of microseconds (in fact, jiffies) +that elapse between requests from the device driver for more data. Combined +with the knowledge of packet sizes, this is used to approximate how full or +empty the link is. + +This is rather circumspect and doesn't always arrive at proper +results. For example, what is the actual link speed of an interface +that is not really able to transmit the full 100mbit/s of data, +perhaps because of a badly implemented driver? A PCMCIA network card +will also never achieve 100mbit/s because of the way the bus is +designed - again, how do we calculate the idle time? + +The physical link bandwidth may be ill defined in case of not-quite-real +network devices like PPP over Ethernet or PPTP over TCP/IP. The effective +bandwidth in that case is probably determined by the efficiency of pipes +to userspace - which not defined. + +During operations, the effective idletime is measured using an +exponential weighted moving average (EWMA), which considers recent +packets to be exponentially more important than past ones. The Unix +loadaverage is calculated in the same way. + +The calculated idle time is subtracted from the EWMA measured one, +the resulting number is called 'avgidle'. A perfectly loaded link has +an avgidle of zero: packets arrive exactly at the calculated +interval. + +An overloaded link has a negative avgidle and if it gets too negative, +CBQ throttles and is then 'overlimit'. + +Conversely, an idle link might amass a huge avgidle, which would then +allow infinite bandwidths after a few hours of silence. To prevent +this, avgidle is capped at +.B maxidle. + +If overlimit, in theory, the CBQ could throttle itself for exactly the +amount of time that was calculated to pass between packets, and then +pass one packet, and throttle again. Due to timer resolution constraints, +this may not be feasible, see the +.B minburst +parameter below. + +.SH CLASSIFICATION +Within the one CBQ instance many classes may exist. Each of these classes +contains another qdisc, by default +.BR tc-pfifo (8). + +When enqueueing a packet, CBQ starts at the root and uses various methods to +determine which class should receive the data. If a verdict is reached, this +process is repeated for the recipient class which might have further +means of classifying traffic to its children, if any. + +CBQ has the following methods available to classify a packet to any child +classes. +.TP +(i) +.B skb->priority class encoding. +Can be set from userspace by an application with the +.B SO_PRIORITY +setsockopt. +The +.B skb->priority class encoding +only applies if the skb->priority holds a major:minor handle of an existing +class within this qdisc. +.TP +(ii) +tc filters attached to the class. +.TP +(iii) +The defmap of a class, as set with the +.B split & defmap +parameters. The defmap may contain instructions for each possible Linux packet +priority. + +.P +Each class also has a +.B level. +Leaf nodes, attached to the bottom of the class hierarchy, have a level of 0. +.SH CLASSIFICATION ALGORITHM + +Classification is a loop, which terminates when a leaf class is found. At any +point the loop may jump to the fallback algorithm. + +The loop consists of the following steps: +.TP +(i) +If the packet is generated locally and has a valid classid encoded within its +.B skb->priority, +choose it and terminate. + +.TP +(ii) +Consult the tc filters, if any, attached to this child. If these return +a class which is not a leaf class, restart loop from the class returned. +If it is a leaf, choose it and terminate. +.TP +(iii) +If the tc filters did not return a class, but did return a classid, +try to find a class with that id within this qdisc. +Check if the found class is of a lower +.B level +than the current class. If so, and the returned class is not a leaf node, +restart the loop at the found class. If it is a leaf node, terminate. +If we found an upward reference to a higher level, enter the fallback +algorithm. +.TP +(iv) +If the tc filters did not return a class, nor a valid reference to one, +consider the minor number of the reference to be the priority. Retrieve +a class from the defmap of this class for the priority. If this did not +contain a class, consult the defmap of this class for the +.B BEST_EFFORT +class. If this is an upward reference, or no +.B BEST_EFFORT +class was defined, +enter the fallback algorithm. If a valid class was found, and it is not a +leaf node, restart the loop at this class. If it is a leaf, choose it and +terminate. If +neither the priority distilled from the classid, nor the +.B BEST_EFFORT +priority yielded a class, enter the fallback algorithm. +.P +The fallback algorithm resides outside of the loop and is as follows. +.TP +(i) +Consult the defmap of the class at which the jump to fallback occured. If +the defmap contains a class for the +.B +priority +of the class (which is related to the TOS field), choose this class and +terminate. +.TP +(ii) +Consult the map for a class for the +.B BEST_EFFORT +priority. If found, choose it, and terminate. +.TP +(iii) +Choose the class at which break out to the fallback algorithm occured. Terminate. +.P +The packet is enqueued to the class which was chosen when either algorithm +terminated. It is therefore possible for a packet to be enqueued *not* at a +leaf node, but in the middle of the hierarchy. + +.SH LINK SHARING ALGORITHM +When dequeuing for sending to the network device, CBQ decides which of its +classes will be allowed to send. It does so with a Weighted Round Robin process +in which each class with packets gets a chance to send in turn. The WRR process +starts by asking the highest priority classes (lowest numerically - +highest semantically) for packets, and will continue to do so until they +have no more data to offer, in which case the process repeats for lower +priorities. + +.B CERTAINTY ENDS HERE, ANK PLEASE HELP + +Each class is not allowed to send at length though - they can only dequeue a +configurable amount of data during each round. + +If a class is about to go overlimit, and it is not +.B bounded +it will try to borrow avgidle from siblings that are not +.B isolated. +This process is repeated from the bottom upwards. If a class is unable +to borrow enough avgidle to send a packet, it is throttled and not asked +for a packet for enough time for the avgidle to increase above zero. + +.B I REALLY NEED HELP FIGURING THIS OUT. REST OF DOCUMENT IS PRETTY CERTAIN +.B AGAIN. + +.SH QDISC +The root qdisc of a CBQ class tree has the following parameters: + +.TP +parent major:minor | root +This mandatory parameter determines the place of the CBQ instance, either at the +.B root +of an interface or within an existing class. +.TP +handle major: +Like all other qdiscs, the CBQ can be assigned a handle. Should consist only +of a major number, followed by a colon. Optional. +.TP +avpkt bytes +For calculations, the average packet size must be known. It is silently capped +at a minimum of 2/3 of the interface MTU. Mandatory. +.TP +bandwidth rate +To determine the idle time, CBQ must know the bandwidth of your underlying +physical interface, or parent qdisc. This is a vital parameter, more about it +later. Mandatory. +.TP +cell +The cell size determines he granularity of packet transmission time calculations. Has a sensible default. +.TP +mpu +A zero sized packet may still take time to transmit. This value is the lower +cap for packet transmission time calculations - packets smaller than this value +are still deemed to have this size. Defaults to zero. +.TP +ewma log +When CBQ needs to measure the average idle time, it does so using an +Exponentially Weighted Moving Average which smoothes out measurements into +a moving average. The EWMA LOG determines how much smoothing occurs. Defaults +to 5. Lower values imply greater sensitivity. Must be between 0 and 31. +.P +A CBQ qdisc does not shape out of its own accord. It only needs to know certain +parameters about the underlying link. Actual shaping is done in classes. + +.SH CLASSES +Classes have a host of parameters to configure their operation. + +.TP +parent major:minor +Place of this class within the hierarchy. If attached directly to a qdisc +and not to another class, minor can be omitted. Mandatory. +.TP +classid major:minor +Like qdiscs, classes can be named. The major number must be equal to the +major number of the qdisc to which it belongs. Optional, but needed if this +class is going to have children. +.TP +weight weight +When dequeuing to the interface, classes are tried for traffic in a +round-robin fashion. Classes with a higher configured qdisc will generally +have more traffic to offer during each round, so it makes sense to allow +it to dequeue more traffic. All weights under a class are normalized, so +only the ratios matter. Defaults to the configured rate, unless the priority +of this class is maximal, in which case it is set to 1. +.TP +allot bytes +Allot specifies how many bytes a qdisc can dequeue +during each round of the process. This parameter is weighted using the +renormalized class weight described above. + +.TP +priority priority +In the round-robin process, classes with the lowest priority field are tried +for packets first. Mandatory. + +.TP +rate rate +Maximum rate this class and all its children combined can send at. Mandatory. + +.TP +bandwidth rate +This is different from the bandwidth specified when creating a CBQ disc. Only +used to determine maxidle and offtime, which are only calculated when +specifying maxburst or minburst. Mandatory if specifying maxburst or minburst. + +.TP +maxburst +This number of packets is used to calculate maxidle so that when +avgidle is at maxidle, this number of average packets can be burst +before avgidle drops to 0. Set it higher to be more tolerant of +bursts. You can't set maxidle directly, only via this parameter. + +.TP +minburst +As mentioned before, CBQ needs to throttle in case of +overlimit. The ideal solution is to do so for exactly the calculated +idle time, and pass 1 packet. However, Unix kernels generally have a +hard time scheduling events shorter than 10ms, so it is better to +throttle for a longer period, and then pass minburst packets in one +go, and then sleep minburst times longer. + +The time to wait is called the offtime. Higher values of minburst lead +to more accurate shaping in the long term, but to bigger bursts at +millisecond timescales. + +.TP +minidle +If avgidle is below 0, we are overlimits and need to wait until +avgidle will be big enough to send one packet. To prevent a sudden +burst from shutting down the link for a prolonged period of time, +avgidle is reset to minidle if it gets too low. + +Minidle is specified in negative microseconds, so 10 means that +avgidle is capped at -10us. + +.TP +bounded +Signifies that this class will not borrow bandwidth from its siblings. +.TP +isolated +Means that this class will not borrow bandwidth to its siblings + +.TP +split major:minor & defmap bitmap[/bitmap] +If consulting filters attached to a class did not give a verdict, +CBQ can also classify based on the packet's priority. There are 16 +priorities available, numbered from 0 to 15. + +The defmap specifies which priorities this class wants to receive, +specified as a bitmap. The Least Significant Bit corresponds to priority +zero. The +.B split +parameter tells CBQ at which class the decision must be made, which should +be a (grand)parent of the class you are adding. + +As an example, 'tc class add ... classid 10:1 cbq .. split 10:0 defmap c0' +configures class 10:0 to send packets with priorities 6 and 7 to 10:1. + +The complimentary configuration would then +be: 'tc class add ... classid 10:2 cbq ... split 10:0 defmap 3f' +Which would send all packets 0, 1, 2, 3, 4 and 5 to 10:1. +.TP +estimator interval timeconstant +CBQ can measure how much bandwidth each class is using, which tc filters +can use to classify packets with. In order to determine the bandwidth +it uses a very simple estimator that measures once every +.B interval +microseconds how much traffic has passed. This again is a EWMA, for which +the time constant can be specified, also in microseconds. The +.B time constant +corresponds to the sluggishness of the measurement or, conversely, to the +sensitivity of the average to short bursts. Higher values mean less +sensitivity. + + + +.SH SOURCES +.TP +o +Sally Floyd and Van Jacobson, "Link-sharing and Resource +Management Models for Packet Networks", +IEEE/ACM Transactions on Networking, Vol.3, No.4, 1995 + +.TP +o +Sally Floyd, "Notes on CBQ and Guarantee Service", 1995 + +.TP +o +Sally Floyd, "Notes on Class-Based Queueing: Setting +Parameters", 1996 + +.TP +o +Sally Floyd and Michael Speer, "Experimental Results +for Class-Based Queueing", 1998, not published. + + + +.SH SEE ALSO +.BR tc (8) + +.SH AUTHOR +Alexey N. Kuznetsov, . This manpage maintained by +bert hubert + + diff --git a/tc-cbq.8 b/tc-cbq.8 new file mode 100644 index 0000000..79fb93b --- /dev/null +++ b/tc-cbq.8 @@ -0,0 +1,353 @@ +.TH CBQ 8 "16 December 2001" "iproute2" "Linux" +.SH NAME +CBQ \- Class Based Queueing +.SH SYNOPSIS +.B tc qdisc ... dev +dev +.B ( parent +classid +.B | root) [ handle +major: +.B ] cbq [ allot +bytes +.B ] avpkt +bytes +.B bandwidth +rate +.B [ cell +bytes +.B ] [ ewma +log +.B ] [ mpu +bytes +.B ] + +.B tc class ... dev +dev +.B parent +major:[minor] +.B [ classid +major:minor +.B ] cbq allot +bytes +.B [ bandwidth +rate +.B ] [ rate +rate +.B ] prio +priority +.B [ weight +weight +.B ] [ minburst +packets +.B ] [ maxburst +packets +.B ] [ ewma +log +.B ] [ cell +bytes +.B ] avpkt +bytes +.B [ mpu +bytes +.B ] [ bounded isolated ] [ split +handle +.B & defmap +defmap +.B ] [ estimator +interval timeconstant +.B ] + +.SH DESCRIPTION +Class Based Queueing is a classful qdisc that implements a rich +linksharing hierarchy of classes. It contains shaping elements as +well as prioritizing capabilities. Shaping is performed using link +idle time calculations based on the timing of dequeue events and +underlying link bandwidth. + +.SH SHAPING ALGORITHM +When shaping a 10mbit/s connection to 1mbit/s, the link will +be idle 90% of the time. If it isn't, it needs to be throttled so that it +IS idle 90% of the time. + +During operations, the effective idletime is measured using an +exponential weighted moving average (EWMA), which considers recent +packets to be exponentially more important than past ones. The Unix +loadaverage is calculated in the same way. + +The calculated idle time is subtracted from the EWMA measured one, +the resulting number is called 'avgidle'. A perfectly loaded link has +an avgidle of zero: packets arrive exactly at the calculated +interval. + +An overloaded link has a negative avgidle and if it gets too negative, +CBQ throttles and is then 'overlimit'. + +Conversely, an idle link might amass a huge avgidle, which would then +allow infinite bandwidths after a few hours of silence. To prevent +this, avgidle is capped at +.B maxidle. + +If overlimit, in theory, the CBQ could throttle itself for exactly the +amount of time that was calculated to pass between packets, and then +pass one packet, and throttle again. Due to timer resolution constraints, +this may not be feasible, see the +.B minburst +parameter below. + +.SH CLASSIFICATION +Within the one CBQ instance many classes may exist. Each of these classes +contains another qdisc, by default +.BR tc-pfifo (8). + +When enqueueing a packet, CBQ starts at the root and uses various methods to +determine which class should receive the data. + +In the absence of uncommon configuration options, the process is rather easy. +At each node we look for an instruction, and then go to the class the +instruction refers us to. If the class found is a barren leaf-node (without +children), we enqueue the packet there. If it is not yet a leaf node, we do +the whole thing over again starting from that node. + +The following actions are performed, in order at each node we visit, until one +sends us to another node, or terminates the process. +.TP +(i) +Consult filters attached to the class. If sent to a leafnode, we are done. +Otherwise, restart. +.TP +(ii) +Consult the defmap for the priority assigned to this packet, which depends +on the TOS bits. Check if the referral is leafless, otherwise restart. +.TP +(iii) +Ask the defmap for instructions for the 'best effort' priority. Check the +answer for leafness, otherwise restart. +.TP +(iv) +If none of the above returned with an instruction, enqueue at this node. +.P +This algorithm makes sure that a packet always ends up somewhere, even while +you are busy building your configuration. + +For more details, see +.BR tc-cbq-details(8). + +.SH LINK SHARING ALGORITHM +When dequeuing for sending to the network device, CBQ decides which of its +classes will be allowed to send. It does so with a Weighted Round Robin process +in which each class with packets gets a chance to send in turn. The WRR process +starts by asking the highest priority classes (lowest numerically - +highest semantically) for packets, and will continue to do so until they +have no more data to offer, in which case the process repeats for lower +priorities. + +Classes by default borrow bandwidth from their siblings. A class can be +prevented from doing so by declaring it 'bounded'. A class can also indicate +its unwillingness to lend out bandwidth by being 'isolated'. + +.SH QDISC +The root of a CBQ qdisc class tree has the following parameters: + +.TP +parent major:minor | root +This mandatory parameter determines the place of the CBQ instance, either at the +.B root +of an interface or within an existing class. +.TP +handle major: +Like all other qdiscs, the CBQ can be assigned a handle. Should consist only +of a major number, followed by a colon. Optional, but very useful if classes +will be generated within this qdisc. +.TP +allot bytes +This allotment is the 'chunkiness' of link sharing and is used for determining packet +transmission time tables. The qdisc allot differs slightly from the class allot discussed +below. Optional. Defaults to a reasonable value, related to avpkt. +.TP +avpkt bytes +The average size of a packet is needed for calculating maxidle, and is also used +for making sure 'allot' has a safe value. Mandatory. +.TP +bandwidth rate +To determine the idle time, CBQ must know the bandwidth of your underlying +physical interface, or parent qdisc. This is a vital parameter, more about it +later. Mandatory. +.TP +cell +The cell size determines he granularity of packet transmission time calculations. Has a sensible default. +.TP +mpu +A zero sized packet may still take time to transmit. This value is the lower +cap for packet transmission time calculations - packets smaller than this value +are still deemed to have this size. Defaults to zero. +.TP +ewma log +When CBQ needs to measure the average idle time, it does so using an +Exponentially Weighted Moving Average which smoothes out measurements into +a moving average. The EWMA LOG determines how much smoothing occurs. Lower +values imply greater sensitivity. Must be between 0 and 31. Defaults +to 5. +.P +A CBQ qdisc does not shape out of its own accord. It only needs to know certain +parameters about the underlying link. Actual shaping is done in classes. + +.SH CLASSES +Classes have a host of parameters to configure their operation. + +.TP +parent major:minor +Place of this class within the hierarchy. If attached directly to a qdisc +and not to another class, minor can be omitted. Mandatory. +.TP +classid major:minor +Like qdiscs, classes can be named. The major number must be equal to the +major number of the qdisc to which it belongs. Optional, but needed if this +class is going to have children. +.TP +weight weight +When dequeuing to the interface, classes are tried for traffic in a +round-robin fashion. Classes with a higher configured qdisc will generally +have more traffic to offer during each round, so it makes sense to allow +it to dequeue more traffic. All weights under a class are normalized, so +only the ratios matter. Defaults to the configured rate, unless the priority +of this class is maximal, in which case it is set to 1. +.TP +allot bytes +Allot specifies how many bytes a qdisc can dequeue +during each round of the process. This parameter is weighted using the +renormalized class weight described above. Silently capped at a minimum of +3/2 avpkt. Mandatory. + +.TP +prio priority +In the round-robin process, classes with the lowest priority field are tried +for packets first. Mandatory. + +.TP +avpkt +See the QDISC section. + +.TP +rate rate +Maximum rate this class and all its children combined can send at. Mandatory. + +.TP +bandwidth rate +This is different from the bandwidth specified when creating a CBQ disc! Only +used to determine maxidle and offtime, which are only calculated when +specifying maxburst or minburst. Mandatory if specifying maxburst or minburst. + +.TP +maxburst +This number of packets is used to calculate maxidle so that when +avgidle is at maxidle, this number of average packets can be burst +before avgidle drops to 0. Set it higher to be more tolerant of +bursts. You can't set maxidle directly, only via this parameter. + +.TP +minburst +As mentioned before, CBQ needs to throttle in case of +overlimit. The ideal solution is to do so for exactly the calculated +idle time, and pass 1 packet. However, Unix kernels generally have a +hard time scheduling events shorter than 10ms, so it is better to +throttle for a longer period, and then pass minburst packets in one +go, and then sleep minburst times longer. + +The time to wait is called the offtime. Higher values of minburst lead +to more accurate shaping in the long term, but to bigger bursts at +millisecond timescales. Optional. + +.TP +minidle +If avgidle is below 0, we are overlimits and need to wait until +avgidle will be big enough to send one packet. To prevent a sudden +burst from shutting down the link for a prolonged period of time, +avgidle is reset to minidle if it gets too low. + +Minidle is specified in negative microseconds, so 10 means that +avgidle is capped at -10us. Optional. + +.TP +bounded +Signifies that this class will not borrow bandwidth from its siblings. +.TP +isolated +Means that this class will not borrow bandwidth to its siblings + +.TP +split major:minor & defmap bitmap[/bitmap] +If consulting filters attached to a class did not give a verdict, +CBQ can also classify based on the packet's priority. There are 16 +priorities available, numbered from 0 to 15. + +The defmap specifies which priorities this class wants to receive, +specified as a bitmap. The Least Significant Bit corresponds to priority +zero. The +.B split +parameter tells CBQ at which class the decision must be made, which should +be a (grand)parent of the class you are adding. + +As an example, 'tc class add ... classid 10:1 cbq .. split 10:0 defmap c0' +configures class 10:0 to send packets with priorities 6 and 7 to 10:1. + +The complimentary configuration would then +be: 'tc class add ... classid 10:2 cbq ... split 10:0 defmap 3f' +Which would send all packets 0, 1, 2, 3, 4 and 5 to 10:1. +.TP +estimator interval timeconstant +CBQ can measure how much bandwidth each class is using, which tc filters +can use to classify packets with. In order to determine the bandwidth +it uses a very simple estimator that measures once every +.B interval +microseconds how much traffic has passed. This again is a EWMA, for which +the time constant can be specified, also in microseconds. The +.B time constant +corresponds to the sluggishness of the measurement or, conversely, to the +sensitivity of the average to short bursts. Higher values mean less +sensitivity. + +.SH BUGS +The actual bandwidth of the underlying link may not be known, for example +in the case of PPoE or PPTP connections which in fact may send over a +pipe, instead of over a physical device. CBQ is quite resilient to major +errors in the configured bandwidth, probably a the cost of coarser shaping. + +Default kernels rely on coarse timing information for making decisions. These +may make shaping precise in the long term, but inaccurate on second long scales. + +See +.BR tc-cbq-details(8) +for hints on how to improve this. + +.SH SOURCES +.TP +o +Sally Floyd and Van Jacobson, "Link-sharing and Resource +Management Models for Packet Networks", +IEEE/ACM Transactions on Networking, Vol.3, No.4, 1995 + +.TP +o +Sally Floyd, "Notes on CBQ and Guaranteed Service", 1995 + +.TP +o +Sally Floyd, "Notes on Class-Based Queueing: Setting +Parameters", 1996 + +.TP +o +Sally Floyd and Michael Speer, "Experimental Results +for Class-Based Queueing", 1998, not published. + + + +.SH SEE ALSO +.BR tc (8) + +.SH AUTHOR +Alexey N. Kuznetsov, . This manpage maintained by +bert hubert + + diff --git a/tc-htb.8 b/tc-htb.8 new file mode 100644 index 0000000..f61b818 --- /dev/null +++ b/tc-htb.8 @@ -0,0 +1,150 @@ +.TH HTB 8 "10 January 2002" "iproute2" "Linux" +.SH NAME +HTB \- Hierarchy Token Bucket +.SH SYNOPSIS +.B tc qdisc ... dev +dev +.B ( parent +classid +.B | root) [ handle +major: +.B ] htb [ default +minor-id +.B ] + +.B tc class ... dev +dev +.B parent +major:[minor] +.B [ classid +major:minor +.B ] htb rate +rate +.B [ ceil +rate +.B ] burst +bytes +.B [ cburst +bytes +.B ] [ prio +priority +.B ] + +.SH DESCRIPTION +HTB is meant as a more understandable and intuitive replacement for +the CBQ qdisc in Linux. Both CBQ and HTB help you to control the use +of the outbound bandwidth on a given link. Both allow you to use one +physical link to simulate several slower links and to send different +kinds of traffic on different simulated links. In both cases, you have +to specify how to divide the physical link into simulated links and +how to decide which simulated link to use for a given packet to be sent. + +Unlike CBQ, HTB shapes traffic based on the Token Bucket Filter algorithm +which does not depend on interface characteristics and so does not need to +know the underlying bandwidth of the outgoing interface. + +.SH SHAPING ALGORITHM +Shaping works as documented in +.B tc-tbf (8). + +.SH CLASSIFICATION +Within the one HRB instance many classes may exist. Each of these classes +contains another qdisc, by default +.BR tc-pfifo (8). + +When enqueueing a packet, HTB starts at the root and uses various methods to +determine which class should receive the data. + +In the absence of uncommon configuration options, the process is rather easy. +At each node we look for an instruction, and then go to the class the +instruction refers us to. If the class found is a barren leaf-node (without +children), we enqueue the packet there. If it is not yet a leaf node, we do +the whole thing over again starting from that node. + +The following actions are performed, in order at each node we visit, until one +sends us to another node, or terminates the process. +.TP +(i) +Consult filters attached to the class. If sent to a leafnode, we are done. +Otherwise, restart. +.TP +(ii) +If none of the above returned with an instruction, enqueue at this node. +.P +This algorithm makes sure that a packet always ends up somewhere, even while +you are busy building your configuration. + +.SH LINK SHARING ALGORITHM +FIXME + +.SH QDISC +The root of a HTB qdisc class tree has the following parameters: + +.TP +parent major:minor | root +This mandatory parameter determines the place of the HTB instance, either at the +.B root +of an interface or within an existing class. +.TP +handle major: +Like all other qdiscs, the HTB can be assigned a handle. Should consist only +of a major number, followed by a colon. Optional, but very useful if classes +will be generated within this qdisc. +.TP +default minor-id +Unclassified traffic gets sent to the class with this minor-id. + +.SH CLASSES +Classes have a host of parameters to configure their operation. + +.TP +parent major:minor +Place of this class within the hierarchy. If attached directly to a qdisc +and not to another class, minor can be omitted. Mandatory. +.TP +classid major:minor +Like qdiscs, classes can be named. The major number must be equal to the +major number of the qdisc to which it belongs. Optional, but needed if this +class is going to have children. +.TP +prio priority +In the round-robin process, classes with the lowest priority field are tried +for packets first. Mandatory. + +.TP +rate rate +Maximum rate this class and all its children are guaranteed. Mandatory. + +.TP +ceil rate +Maximum rate at which a class can send, if its parent has bandwidth to spare. +Defaults to the configured rate, which implies no borrowing + +.TP +burst bytes +Amount of bytes that can be burst at +.B ceil +speed, in excess of the configured +.B rate. +Should be at least as high as the highest burst of all children. + +.TP +cburst bytes +Amount of bytes that can be burst at 'infinite' speed, in other words, as fast +as the interface can transmit them. For perfect evening out, should be equal to at most one average +packet. Should be at least as high as the highest cburst of all children. + +.SH NOTES +Due to Unix timing constraints, the maximum ceil rate is not infinite and may in fact be quite low. On Intel, +there are 100 timer events per second, the maximum rate is that rate at which 'burst' bytes are sent each timer tick. +From this, the mininum burst size for a specified rate can be calculated. For i386, a 10mbit rate requires a 12 kilobyte +burst as 100*12kb*8 equals 10mbit. + +.SH SEE ALSO +.BR tc (8) +.P +HTB website: http://luxik.cdi.cz/~devik/qos/htb/ +.SH AUTHOR +Martin Devera . This manpage maintained by bert hubert + + diff --git a/tc-pbfifo.8 b/tc-pbfifo.8 new file mode 100644 index 0000000..8dda4bb --- /dev/null +++ b/tc-pbfifo.8 @@ -0,0 +1,72 @@ +.TH PBFIFO 8 "10 January 2002" "iproute2" "Linux" +.SH NAME +pfifo \- Packet limited First In, First Out queue +.P +bfifo \- Byte limited First In, First Out queue + +.SH SYNOPSIS +.B tc qdisc ... add pfifo +.B [ limit +packets +.B ] +.P +.B tc qdisc ... add bfifo +.B [ limit +bytes +.B ] + +.SH DESCRIPTION +The pfifo and bfifo qdiscs are unadorned First In, First Out queues. They are the +simplest queues possible and therefore have no overhead. +.B pfifo +constrains the queue size as measured in packets. +.B bfifo +does so as measured in bytes. + +Like all non-default qdiscs, they maintain statistics. This might be a reason to prefer +pfifo or bfifo over the default. + +.SH ALGORITHM +A list of packets is maintained, when a packet is enqueued it gets inserted at the tail of +a list. When a packet needs to be sent out to the network, it is taken from the head of the list. + +If the list is too long, no further packets are allowed on. This is called 'tail drop'. + +.SH PARAMETERS +.TP +limit +Maximum queue size. Specified in bytes for bfifo, in packets for pfifo. For pfifo, defaults +to the interface txqueuelen, as specified with +.BR ifconfig (8) +or +.BR ip (8). + +For bfifo, it defaults to the txqueuelen multiplied by the interface MTU. + +.SH OUTPUT +The output of +.B tc -s qdisc ls +contains the limit, either in packets or in bytes, and the number of bytes +and packets actually sent. An unsent and dropped packet only appears between braces +and is not counted as 'Sent'. + +In this example, the queue length is 100 packets, 45894 bytes were sent over 681 packets. +No packets were dropped, and as the pfifo queue does not slow down packets, there were also no +overlimits: +.P +.nf +# tc -s qdisc ls dev eth0 +qdisc pfifo 8001: dev eth0 limit 100p + Sent 45894 bytes 681 pkts (dropped 0, overlimits 0) +.fi + +If a backlog occurs, this is displayed as well. +.SH SEE ALSO +.BR tc (8) + +.SH AUTHORS +Alexey N. Kuznetsov, + +This manpage maintained by bert hubert + + diff --git a/tc-pfifo_fast.8 b/tc-pfifo_fast.8 new file mode 100644 index 0000000..43ab166 --- /dev/null +++ b/tc-pfifo_fast.8 @@ -0,0 +1,59 @@ +.TH PFIFO_FAST 8 "10 January 2002" "iproute2" "Linux" +.SH NAME +pfifo_fast \- three-band first in, first out queue + +.SH DESCRIPTION +pfifo_fast is the default qdisc of each interface. + +Whenever an interface is created, the pfifo_fast qdisc is automatically used +as a queue. If another qdisc is attached, it preempts the default +pfifo_fast, which automatically returns to function when an existing qdisc +is detached. + +In this sense this qdisc is magic, and unlike other qdiscs. + +.SH ALGORITHM +The algorithm is very similar to that of the classful +.BR tc-prio (8) +qdisc. +.B pfifo_fast +is like three +.BR tc-pfifo (8) +queues side by side, where packets can be enqueued in any of the three bands +based on their Type of Service bits or assigned priority. + +Not all three bands are dequeued simultaneously - as long as lower bands +have traffic, higher bands are never dequeued. This can be used to +prioritize interactive traffic or penalize 'lowest cost' traffic. + +Each band can be txqueuelen packets long, as configured with +.BR ifconfig (8) +or +.BR ip (8). +Additional packets coming in are not enqueued but are instead dropped. + +See +.BR tc-prio (8) +for complete details on how TOS bits are translated into bands. +.SH PARAMETERS +.TP +txqueuelen +The length of the three bands depends on the interface txqueuelen, as +specified with +.BR ifconfig (8) +or +.BR ip (8). + +.SH BUGS +Does not maintain statistics and does not show up in tc qdisc ls. This is because +it is the automatic default in the absence of a configured qdisc. + +.SH SEE ALSO +.BR tc (8) + +.SH AUTHORS +Alexey N. Kuznetsov, + +This manpage maintained by bert hubert + + diff --git a/tc-prio.8 b/tc-prio.8 new file mode 100644 index 0000000..e942e62 --- /dev/null +++ b/tc-prio.8 @@ -0,0 +1,187 @@ +.TH PRIO 8 "16 December 2001" "iproute2" "Linux" +.SH NAME +PRIO \- Priority qdisc +.SH SYNOPSIS +.B tc qdisc ... dev +dev +.B ( parent +classid +.B | root) [ handle +major: +.B ] prio [ bands +bands +.B ] [ priomap +band,band,band... +.B ] [ estimator +interval timeconstant +.B ] + +.SH DESCRIPTION +The PRIO qdisc is a simple classful queueing discipline that contains +an arbitrary number of classes of differing priority. The classes are +dequeued in numerical descending order of priority. PRIO is a scheduler +and never delays packets - it is a work-conserving qdisc, though the qdiscs +contained in the classes may not be. + +Very useful for lowering latency when there is no need for slowing down +traffic. + +.SH ALGORITHM +On creation with 'tc qdisc add', a fixed number of bands is created. Each +band is a class, although is not possible to add classes with 'tc qdisc +add', the number of bands to be created must instead be specified on the +commandline attaching PRIO to its root. + +When dequeueing, band 0 is tried first and only if it did not deliver a +packet does PRIO try band 1, and so onwards. Maximum reliability packets +should therefore go to band 0, minimum delay to band 1 and the rest to band +2. + +As the PRIO qdisc itself will have minor number 0, band 0 is actually +major:1, band 1 is major:2, etc. For major, substitute the major number +assigned to the qdisc on 'tc qdisc add' with the +.B handle +parameter. + +.SH CLASSIFICATION +Three methods are available to PRIO to determine in which band a packet will +be enqueued. +.TP +From userspace +A process with sufficient privileges can encode the destination class +directly with SO_PRIORITY, see +.BR tc(7). +.TP +with a tc filter +A tc filter attached to the root qdisc can point traffic directly to a class +.TP +with the priomap +Based on the packet priority, which in turn is derived from the Type of +Service assigned to the packet. +.P +Only the priomap is specific to this qdisc. +.SH QDISC PARAMETERS +.TP +bands +Number of bands. If changed from the default of 3, +.B priomap +must be updated as well. +.TP +priomap +The priomap maps the priority of +a packet to a class. The priority can either be set directly from userspace, +or be derived from the Type of Service of the packet. + +Determines how packet priorities, as assigned by the kernel, map to +bands. Mapping occurs based on the TOS octet of the packet, which looks like +this: + +.nf +0 1 2 3 4 5 6 7 ++---+---+---+---+---+---+---+---+ +| | | | +|PRECEDENCE | TOS |MBZ| +| | | | ++---+---+---+---+---+---+---+---+ +.fi + +The four TOS bits (the 'TOS field') are defined as: + +.nf +Binary Decimcal Meaning +----------------------------------------- +1000 8 Minimize delay (md) +0100 4 Maximize throughput (mt) +0010 2 Maximize reliability (mr) +0001 1 Minimize monetary cost (mmc) +0000 0 Normal Service +.fi + +As there is 1 bit to the right of these four bits, the actual value of the +TOS field is double the value of the TOS bits. Tcpdump -v -v shows you the +value of the entire TOS field, not just the four bits. It is the value you +see in the first column of this table: + +.nf +TOS Bits Means Linux Priority Band +------------------------------------------------------------ +0x0 0 Normal Service 0 Best Effort 1 +0x2 1 Minimize Monetary Cost 1 Filler 2 +0x4 2 Maximize Reliability 0 Best Effort 1 +0x6 3 mmc+mr 0 Best Effort 1 +0x8 4 Maximize Throughput 2 Bulk 2 +0xa 5 mmc+mt 2 Bulk 2 +0xc 6 mr+mt 2 Bulk 2 +0xe 7 mmc+mr+mt 2 Bulk 2 +0x10 8 Minimize Delay 6 Interactive 0 +0x12 9 mmc+md 6 Interactive 0 +0x14 10 mr+md 6 Interactive 0 +0x16 11 mmc+mr+md 6 Interactive 0 +0x18 12 mt+md 4 Int. Bulk 1 +0x1a 13 mmc+mt+md 4 Int. Bulk 1 +0x1c 14 mr+mt+md 4 Int. Bulk 1 +0x1e 15 mmc+mr+mt+md 4 Int. Bulk 1 +.fi + +The second column contains the value of the relevant +four TOS bits, followed by their translated meaning. For example, 15 stands +for a packet wanting Minimal Montetary Cost, Maximum Reliability, Maximum +Throughput AND Minimum Delay. + +The fourth column lists the way the Linux kernel interprets the TOS bits, by +showing to which Priority they are mapped. + +The last column shows the result of the default priomap. On the commandline, +the default priomap looks like this: + + 1, 2, 2, 2, 1, 2, 0, 0 , 1, 1, 1, 1, 1, 1, 1, 1 + +This means that priority 4, for example, gets mapped to band number 1. +The priomap also allows you to list higher priorities (> 7) which do not +correspond to TOS mappings, but which are set by other means. + +This table from RFC 1349 (read it for more details) explains how +applications might very well set their TOS bits: + +.nf +TELNET 1000 (minimize delay) +FTP + Control 1000 (minimize delay) + Data 0100 (maximize throughput) + +TFTP 1000 (minimize delay) + +SMTP + Command phase 1000 (minimize delay) + DATA phase 0100 (maximize throughput) + +Domain Name Service + UDP Query 1000 (minimize delay) + TCP Query 0000 + Zone Transfer 0100 (maximize throughput) + +NNTP 0001 (minimize monetary cost) + +ICMP + Errors 0000 + Requests 0000 (mostly) + Responses (mostly) +.fi + + +.SH CLASSES +PRIO classes cannot be configured further - they are automatically created +when the PRIO qdisc is attached. Each class however can contain yet a +further qdisc. + +.SH BUGS +Large amounts of traffic in the lower bands can cause starvation of higher +bands. Can be prevented by attaching a shaper (for example, +.BR tc-tbf(8) +to these bands to make sure they cannot dominate the link. + +.SH AUTHORS +Alexey N. Kuznetsov, , J Hadi Salim +. This manpage maintained by bert hubert + + diff --git a/tc-red.8 b/tc-red.8 new file mode 100644 index 0000000..d02b411 --- /dev/null +++ b/tc-red.8 @@ -0,0 +1,131 @@ +.TH RED 8 "13 December 2001" "iproute2" "Linux" +.SH NAME +red \- Random Early Detection +.SH SYNOPSIS +.B tc qdisc ... red +.B limit +bytes +.B min +bytes +.B max +bytes +.B avpkt +bytes +.B burst +packets +.B [ ecn ] [ bandwidth +rate +.B ] probability +chance + +.SH DESCRIPTION +Random Early Detection is a classless qdisc which manages its queue size +smartly. Regular queues simply drop packets from the tail when they are +full, which may not be the optimal behaviour. RED also performs tail drop, +but does so in a more gradual way. + +Once the queue hits a certain average length, packets enqueued have a +configurable chance of being marked (which may mean dropped). This chance +increases linearly up to a point called the +.B max +average queue length, although the queue might get bigger. + +This has a host of benefits over simple taildrop, while not being processor +intensive. It prevents synchronous retransmits after a burst in traffic, +which cause further retransmits, etc. + +The goal is the have a small queue size, which is good for interactivity +while not disturbing TCP/IP traffic with too many sudden drops after a burst +of traffic. + +Depending on if ECN is configured, marking either means dropping or +purely marking a packet as overlimit. +.SH ALGORITHM +The average queue size is used for determining the marking +probability. This is calculated using an Exponential Weighted Moving +Average, which can be more or less sensitive to bursts. + +When the average queue size is below +.B min +bytes, no packet will ever be marked. When it exceeds +.B min, +the probability of doing so climbs linearly up +to +.B probability, +until the average queue size hits +.B max +bytes. Because +.B probability +is normally not set to 100%, the queue size might +conceivably rise above +.B max +bytes, so the +.B limit +parameter is provided to set a hard maximum for the size of the queue. + +.SH PARAMETERS +.TP +min +Average queue size at which marking becomes a possibility. +.TP +max +At this average queue size, the marking probability is maximal. Should be at +least twice +.B min +to prevent synchronous retransmits, higher for low +.B min. +.TP +probability +Maximum probability for marking, specified as a floating point +number from 0.0 to 1.0. Suggested values are 0.01 or 0.02 (1 or 2%, +respectively). +.TP +limit +Hard limit on the real (not average) queue size in bytes. Further packets +are dropped. Should be set higher than max+burst. It is advised to set this +a few times higher than +.B max. +.TP +burst +Used for determining how fast the average queue size is influenced by the +real queue size. Larger values make the calculation more sluggish, allowing +longer bursts of traffic before marking starts. Real life experiments +support the following guideline: (min+min+max)/(3*avpkt). +.TP +avpkt +Specified in bytes. Used with burst to determine the time constant for +average queue size calculations. 1000 is a good value. +.TP +bandwidth +This rate is used for calculating the average queue size after some +idle time. Should be set to the bandwidth of your interface. Does not mean +that RED will shape for you! Optional. +.TP +ecn +As mentioned before, RED can either 'mark' or 'drop'. Explicit Congestion +Notification allows RED to notify remote hosts that their rate exceeds the +amount of bandwidth available. Non-ECN capable hosts can only be notified by +dropping a packet. If this parameter is specified, packets which indicate +that their hosts honor ECN will only be marked and not dropped, unless the +queue size hits +.B limit +bytes. Needs a tc binary with RED support compiled in. Recommended. + +.SH SEE ALSO +.BR tc (8) + +.SH SOURCES +.TP +o +Floyd, S., and Jacobson, V., Random Early Detection gateways for +Congestion Avoidance. http://www.aciri.org/floyd/papers/red/red.html +.TP +o +Some changes to the algorithm by Alexey N. Kuznetsov. + +.SH AUTHORS +Alexey N. Kuznetsov, , Alexey Makarenko +, J Hadi Salim . +This manpage maintained by bert hubert + + diff --git a/tc-sfq.8 b/tc-sfq.8 new file mode 100644 index 0000000..337c795 --- /dev/null +++ b/tc-sfq.8 @@ -0,0 +1,107 @@ +.TH TC 8 "8 December 2001" "iproute2" "Linux" +.SH NAME +sfq \- Stochastic Fairness Queueing +.SH SYNOPSIS +.B tc qdisc ... perturb +seconds +.B quantum +bytes + +.SH DESCRIPTION + +Stochastic Fairness Queueing is a classless queueing discipline available for +traffic control with the +.BR tc (8) +command. + +SFQ does not shape traffic but only schedules the transmission of packets, based on 'flows'. +The goal is to ensure fairness so that each flow is able to send data in turn, thus preventing +any single flow from drowning out the rest. + +This may in fact have some effect in mitigating a Denial of Service attempt. + +SFQ is work-conserving and therefore always delivers a packet if it has one available. +.SH ALGORITHM +On enqueueing, each packet is assigned to a hash bucket, based on +.TP +(i) +Source address +.TP +(ii) +Destination address +.TP +(iii) +Source port +.P +If these are available. SFQ knows about ipv4 and ipv6 and also UDP, TCP and ESP. +Packets with other protocols are hashed based on the 32bits representation of their +destination and the socket they belong to. A flow corresponds mostly to a TCP/IP +connection. + +Each of these buckets should represent a unique flow. Because multiple flows may +get hashed to the same bucket, the hashing algorithm is perturbed at configurable +intervals so that the unfairness lasts only for a short while. Perturbation may +however cause some inadvertent packet reordering to occur. + +When dequeuing, each hashbucket with data is queried in a round robin fashion. + +The compile time maximum length of the SFQ is 128 packets, which can be spread over +at most 128 buckets of 1024 available. In case of overflow, tail-drop is performed +on the fullest bucket, thus maintaining fairness. + +.SH PARAMETERS +.TP +perturb +Interval in seconds for queue algorithm perturbation. Defaults to 0, which means that +no perturbation occurs. Do not set too low for each perturbation may cause some packet +reordering. Advised value: 10 +.TP +quantum +Amount of bytes a flow is allowed to dequeue during a round of the round robin process. +Defaults to the MTU of the interface which is also the advised value and the minimum value. + +.SH EXAMPLE & USAGE + +To attach to device ppp0: +.P +# tc qdisc add dev ppp0 root sfq perturb 10 +.P +Please note that SFQ, like all non-shaping (work-conserving) qdiscs, is only useful +if it owns the queue. +This is the case when the link speed equals the actually available bandwidth. This holds +for regular phone modems, ISDN connections and direct non-switched ethernet links. +.P +Most often, cable modems and DSL devices do not fall into this category. The same holds +for when connected to a switch and trying to send data to a congested segment also +connected to the switch. +.P +In this case, the effective queue does not reside within Linux and is therefore not +available for scheduling. +.P +Embed SFQ in a classful qdisc to make sure it owns the queue. + +.SH SOURCE +.TP +o +Paul E. McKenney "Stochastic Fairness Queuing", +IEEE INFOCOMM'90 Proceedings, San Francisco, 1990. + +.TP +o +Paul E. McKenney "Stochastic Fairness Queuing", +"Interworking: Research and Experience", v.2, 1991, p.113-131. + +.TP +o +See also: +M. Shreedhar and George Varghese "Efficient Fair +Queuing using Deficit Round Robin", Proc. SIGCOMM 95. + +.SH SEE ALSO +.BR tc (8) + +.SH AUTHOR +Alexey N. Kuznetsov, . This manpage maintained by +bert hubert + + diff --git a/tc-tbf.8 b/tc-tbf.8 new file mode 100644 index 0000000..3abb238 --- /dev/null +++ b/tc-tbf.8 @@ -0,0 +1,138 @@ +.TH TC 8 "13 December 2001" "iproute2" "Linux" +.SH NAME +tbf \- Token Bucket Filter +.SH SYNOPSIS +.B tc qdisc ... tbf rate +rate +.B burst +bytes/cell +.B ( latency +ms +.B | limit +bytes +.B ) [ mpu +bytes +.B [ peakrate +rate +.B mtu +bytes/cell +.B ] ] +.P +burst is also known as buffer and maxburst. mtu is also known as minburst. +.SH DESCRIPTION + +The Token Bucket Filter is a classless queueing discipline available for +traffic control with the +.BR tc (8) +command. + +TBF is a pure shaper and never schedules traffic. It is non-work-conserving and may throttle +itself, although packets are available, to ensure that the configured rate is not exceeded. +On all platforms except for Alpha, +it is able to shape up to 1mbit/s of normal traffic with ideal minimal burstiness, +sending out data exactly at the configured rates. + +Much higher rates are possible but at the cost of losing the minimal burstiness. In that +case, data is on average dequeued at the configured rate but may be sent much faster at millisecond +timescales. Because of further queues living in network adaptors, this is often not a problem. + +Kernels with a higher 'HZ' can achieve higher rates with perfect burstiness. On Alpha, HZ is ten +times higher, leading to a 10mbit/s limit to perfection. These calculations hold for packets of on +average 1000 bytes. + +.SH ALGORITHM +As the name implies, traffic is filtered based on the expenditure of +.B tokens. +Tokens roughly correspond to bytes, with the additional constraint that each packet consumes +some tokens, no matter how small it is. This reflects the fact that even a zero-sized packet occupies +the link for some time. + +On creation, the TBF is stocked with tokens which correspond to the amount of traffic that can be burst +in one go. Tokens arrive at a steady rate, until the bucket is full. + +If no tokens are available, packets are queued, up to a configured limit. The TBF now +calculates the token deficit, and throttles until the first packet in the queue can be sent. + +If it is not acceptable to burst out packets at maximum speed, a peakrate can be configured +to limit the speed at which the bucket empties. This peakrate is implemented as a second TBF +with a very small bucket, so that it doesn't burst. + +To achieve perfection, the second bucket may contain only a single packet, which leads to +the earlier mentioned 1mbit/s limit. + +This limit is caused by the fact that the kernel can only throttle for at minimum 1 'jiffy', which depends +on HZ as 1/HZ. For perfect shaping, only a single packet can get sent per jiffy - for HZ=100, this means 100 +packets of on average 1000 bytes each, which roughly corresponds to 1mbit/s. + +.SH PARAMETERS +See +.BR tc (8) +for how to specify the units of these values. +.TP +limit or latency +Limit is the number of bytes that can be queued waiting for tokens to become +available. You can also specify this the other way around by setting the +latency parameter, which specifies the maximum amount of time a packet can +sit in the TBF. The latter calculation takes into account the size of the +bucket, the rate and possibly the peakrate (if set). These two parameters +are mutually exclusive. +.TP +burst +Also known as buffer or maxburst. +Size of the bucket, in bytes. This is the maximum amount of bytes that tokens can be available for instantaneously. +In general, larger shaping rates require a larger buffer. For 10mbit/s on Intel, you need at least 10kbyte buffer +if you want to reach your configured rate! + +If your buffer is too small, packets may be dropped because more tokens arrive per timer tick than fit in your bucket. +The minimum buffer size can be calculated by dividing the rate by HZ. + +Token usage calculations are performed using a table which by default has a resolution of 8 packets. +This resolution can be changed by specifying the +.B cell +size with the burst. For example, to specify a 6000 byte buffer with a 16 +byte cell size, set a burst of 6000/16. You will probably never have to set +this. Must be an integral power of 2. +.TP +mpu +A zero-sized packet does not use zero bandwidth. For ethernet, no packet uses less than 64 bytes. The Minimum Packet Unit +determines the minimal token usage (specified in bytes) for a packet. Defaults to zero. +.TP +rate +The speed knob. See remarks above about limits! See +.BR tc (8) +for units. +.PP +Furthermore, if a peakrate is desired, the following parameters are available: + +.TP +peakrate +Maximum depletion rate of the bucket. Limited to 1mbit/s on Intel, 10mbit/s on Alpha. The peakrate does +not need to be set, it is only necessary if perfect millisecond timescale shaping is required. + +.TP +mtu/minburst +Specifies the size of the peakrate bucket. For perfect accuracy, should be set to the MTU of the interface. +If a peakrate is needed, but some burstiness is acceptable, this size can be raised. A 3000 byte minburst +allows around 3mbit/s of peakrate, given 1000 byte packets. + +Like the regular burstsize you can also specify a +.B cell +size. +.SH EXAMPLE & USAGE + +To attach a TBF with a sustained maximum rate of 0.5mbit/s, a peakrate of 1.0mbit/s, +a 5kilobyte buffer, with a pre-bucket queue size limit calculated so the TBF causes +at most 70ms of latency, with perfect peakrate behaviour, issue: +.P +# tc qdisc add dev eth0 root tbf rate 0.5mbit \\ + burst 5kb latency 70ms peakrate 1mbit \\ + minburst 1540 + +.SH SEE ALSO +.BR tc (8) + +.SH AUTHOR +Alexey N. Kuznetsov, . This manpage maintained by +bert hubert + + diff --git a/tc.8 b/tc.8 new file mode 100644 index 0000000..b9b8039 --- /dev/null +++ b/tc.8 @@ -0,0 +1,348 @@ +.TH TC 8 "16 December 2001" "iproute2" "Linux" +.SH NAME +tc \- show / manipulate traffic control settings +.SH SYNOPSIS +.B tc qdisc [ add | change | replace | link ] dev +DEV +.B +[ parent +qdisc-id +.B | root ] +.B [ handle +qdisc-id ] qdisc +[ qdisc specific parameters ] +.P + +.B tc class [ add | change | replace ] dev +DEV +.B parent +qdisc-id +.B [ classid +class-id ] qdisc +[ qdisc specific parameters ] +.P + +.B tc filter [ add | change | replace ] dev +DEV +.B [ parent +qdisc-id +.B | root ] protocol +protocol +.B prio +priority filtertype +[ filtertype specific parameters ] +.B flowid +flow-id + +.B tc [-s | -d ] qdisc show [ dev +DEV +.B ] +.P +.B tc [-s | -d ] class show dev +DEV +.P +.B tc filter show dev +DEV + +.SH DESCRIPTION +.B Tc +is used to configure Traffic Control in the Linux kernel. Traffic Control consists +of the following: + +.TP +SHAPING +When traffic is shaped, its rate of transmission is under control. Shaping may +be more than lowering the available bandwidth - it is also used to smooth out +bursts in traffic for better network behaviour. Shaping occurs on egress. + +.TP +SCHEDULING +By scheduling the transmission of packets it is possible to improve interactivity +for traffic that needs it while still guaranteeing bandwidth to bulk transfers. Reordering +is also called prioritizing, and happens only on egress. + +.TP +POLICING +Where shaping deals with transmission of traffic, policing pertains to traffic +arriving. Policing thus occurs on ingress. + +.TP +DROPPING +Traffic exceeding a set bandwidth may also be dropped forthwith, both on +ingress and on egress. + +.P +Processing of traffic is controlled by three kinds of objects: qdiscs, +classes and filters. + +.SH QDISCS +.B qdisc +is short for 'queueing discipline' and it is elementary to +understanding traffic control. Whenever the kernel needs to send a +packet to an interface, it is +.B enqueued +to the qdisc configured for that interface. Immediately afterwards, the kernel +tries to get as many packets as possible from the qdisc, for giving them +to the network adaptor driver. + +A simple QDISC is the 'pfifo' one, which does no processing at all and is a pure +First In, First Out queue. It does however store traffic when the network interface +can't handle it momentarily. + +.SH CLASSES +Some qdiscs can contain classes, which contain further qdiscs - traffic may +then be enqueued in any of the inner qdiscs, which are within the +.B classes. +When the kernel tries to dequeue a packet from such a +.B classful qdisc +it can come from any of the classes. A qdisc may for example prioritize +certain kinds of traffic by trying to dequeue from certain classes +before others. + +.SH FILTERS +A +.B filter +is used by a classful qdisc to determine in which class a packet will +be enqueued. Whenever traffic arrives at a class with subclasses, it needs +to be classified. Various methods may be employed to do so, one of these +are the filters. All filters attached to the class are called, until one of +them returns with a verdict. If no verdict was made, other criteria may be +available. This differs per qdisc. + +It is important to notice that filters reside +.B within +qdiscs - they are not masters of what happens. + +.SH CLASSLESS QDISCS +The classless qdiscs are: +.TP +[p|b]fifo +Simplest usable qdisc, pure First In, First Out behaviour. Limited in +packets or in bytes. +.TP +pfifo_fast +Standard qdisc for 'Advanced Router' enabled kernels. Consists of a three-band +queue which honors Type of Service flags, as well as the priority that may be +assigned to a packet. +.TP +red +Random Early Detection simulates physical congestion by randomly dropping +packets when nearing configured bandwidth allocation. Well suited to very +large bandwidth applications. +.TP +sfq +Stochastic Fairness Queueing reorders queued traffic so each 'session' +gets to send a packet in turn. +.TP +tbf +The Token Bucket Filter is suited for slowing traffic down to a precisely +configured rate. Scales well to large bandwidths. +.SH CONFIGURING CLASSLESS QDISCS +In the absence of classful qdiscs, classless qdiscs can only be attached at +the root of a device. Full syntax: +.P +.B tc qdisc add dev +DEV +.B root +QDISC QDISC-PARAMETERS + +To remove, issue +.P +.B tc qdisc del dev +DEV +.B root + +The +.B pfifo_fast +qdisc is the automatic default in the absence of a configured qdisc. + +.SH CLASSFUL QDISCS +The classful qdiscs are: +.TP +CBQ +Class Based Queueing implements a rich linksharing hierarchy of classes. +It contains shaping elements as well as prioritizing capabilities. Shaping is +performed using link idle time calculations based on average packet size and +underlying link bandwidth. The latter may be ill-defined for some interfaces. +.TP +HTB +The Hierarchy Token Bucket implements a rich linksharing hierarchy of +classes with an emphasis on conforming to existing practices. HTB facilitates +guaranteeing bandwidth to classes, while also allowing specification of upper +limits to inter-class sharing. It contains shaping elements, based on TBF and +can prioritize classes. +.TP +PRIO +The PRIO qdisc is a non-shaping container for a configurable number of +classes which are dequeued in order. This allows for easy prioritization +of traffic, where lower classes are only able to send if higher ones have +no packets available. To facilitate configuration, Type Of Service bits are +honored by default. +.SH THEORY OF OPERATION +Classes form a tree, where each class has a single parent. +A class may have multiple children. Some qdiscs allow for runtime addition +of classes (CBQ, HTB) while others (PRIO) are created with a static number of +children. + +Qdiscs which allow dynamic addition of classes can have zero or more +subclasses to which traffic may be enqueued. + +Furthermore, each class contains a +.B leaf qdisc +which by default has +.B pfifo +behaviour though another qdisc can be attached in place. This qdisc may again +contain classes, but each class can have only one leaf qdisc. + +When a packet enters a classful qdisc it can be +.B classified +to one of the classes within. Three criteria are available, although not all +qdiscs will use all three: +.TP +tc filters +If tc filters are attached to a class, they are consulted first +for relevant instructions. Filters can match on all fields of a packet header, +as well as on the firewall mark applied by ipchains or iptables. See +.BR tc-filters (8). +.TP +Type of Service +Some qdiscs have built in rules for classifying packets based on the TOS field. +.TP +skb->priority +Userspace programs can encode a class-id in the 'skb->priority' field using +the SO_PRIORITY option. +.P +Each node within the tree can have its own filters but higher level filters +may also point directly to lower classes. + +If classification did not succeed, packets are enqueued to the leaf qdisc +attached to that class. Check qdisc specific manpages for details, however. + +.SH NAMING +All qdiscs, classes and filters have IDs, which can either be specified +or be automatically assigned. + +IDs consist of a major number and a minor number, separated by a colon. + +.TP +QDISCS +A qdisc, which potentially can have children, +gets assigned a major number, called a 'handle', leaving the minor +number namespace available for classes. The handle is expressed as '10:'. +It is customary to explicitly assign a handle to qdiscs expected to have +children. + +.TP +CLASSES +Classes residing under a qdisc share their qdisc major number, but each have +a separate minor number called a 'classid' that has no relation to their +parent classes, only to their parent qdisc. The same naming custom as for +qdiscs applies. + +.TP +FILTERS +Filters have a three part ID, which is only needed when using a hashed +filter hierarchy, for which see +.BR tc-filters (8). +.SH UNITS +All parameters accept a floating point number, possibly followed by a unit. +.P +Bandwidths or rates can be specified in: +.TP +kbps +Kilobytes per second +.TP +mbps +Megabytes per second +.TP +kbit +Kilobits per second +.TP +mbit +Megabits per second +.TP +bps or a bare number +Bytes per second +.P +Amounts of data can be specified in: +.TP +kb or k +Kilobytes +.TP +mb or m +Megabytes +.TP +mbit +Megabits +.TP +kbit +Kilobits +.TP +b or a bare number +Bytes. +.P +Lengths of time can be specified in: +.TP +s, sec or secs +Whole seconds +.TP +ms, msec or msecs +Milliseconds +.TP +us, usec, usecs or a bare number +Microseconds. + +.SH TC COMMANDS +The following commands are available for qdiscs, classes and filter: +.TP +add +Add a qdisc, class or filter to a node. For all entities, a +.B parent +must be passed, either by passing its ID or by attaching directly to the root of a device. +When creating a qdisc or a filter, it can be named with the +.B handle +parameter. A class is named with the +.B classid +parameter. + +.TP +remove +A qdisc can be removed by specifying its handle, which may also be 'root'. All subclasses and their leaf qdiscs +are automatically deleted, as well as any filters attached to them. + +.TP +change +Some entities can be modified 'in place'. Shares the syntax of 'add', with the exception +that the handle cannot be changed and neither can the parent. In other words, +.B +change +cannot move a node. + +.TP +replace +Performs a nearly atomic remove/add on an existing node id. If the node does not exist yet +it is created. + +.TP +link +Only available for qdiscs and performs a replace where the node +must exist already. + + +.SH HISTORY +.B tc +was written by Alexey N. Kuznetsov and added in Linux 2.2. +.SH SEE ALSO +.BR tc-cbq (8), +.BR tc-htb (8), +.BR tc-sfq (8), +.BR tc-red (8), +.BR tc-tbf (8), +.BR tc-pfifo (8), +.BR tc-bfifo (8), +.BR tc-pfifo_fast (8), +.BR tc-filters (8) + +.SH AUTHOR +Manpage maintained by bert hubert (ahu@ds9a.nl) + diff --git a/tc/f_fw.o b/tc/f_fw.o deleted file mode 100644 index a3d379800ee0a77d5d79eb0c750f915a568194f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5408 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 diff --git a/tc/f_rsvp.o b/tc/f_rsvp.o deleted file mode 100644 index 7223badc5ad17bb01626f6017910c6a16e814f01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12128 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 SK07ZkoP94lLIoMl#{D03O{oX~ diff --git a/tc/f_tcindex.o b/tc/f_tcindex.o deleted file mode 100644 index c76dd384c0ef040f21ca236706087e2f9c8d385c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5432 zcmbVQeT*AN6@NaP)=9(JffTMH!05VHIY5k^gis<{V$N>H)K{YVP82S|+1R@|Q=e^l z_vi&8+REpM#aub0BK|0zhGxnpI+CD*C-GV^FnhiN;l#2&jFBCS{upgpUElHJz&(k9xxn3zADI&`6( zflRWS?421y-w*|$*58}mVDs`uZdHjfJLz^#31wQn$jXiYz^^c*{`UbOW%shp3*k(w zm$MEj;k1=gLXjuXQnvk#@E{yM`&lJsr4_|G_t-v&{NQ}68+o$3>9uDAk=F4sfXDw0 z5P-<{7RLbSYEDs7oe(Axb11?Z21A=^B^*xKJ?4{z_5=Xr+J}^I=RKHg>yI1MIych} z&RDPKtV?e{6Iq$DZJQ0UHOX0*P~z=pmLBn*$6EofdFWPJnH**n*BHZ{Om#4UEQ|e| zZQHuO*3N*FNE*1Jr*~Y|Q&vd9#3#Ef^_^QpeGFsCd&i=C#$u(F?ZZ%Z^H8?)%ms0o z&fT!>4wmHToFgmW0e}t`vU}iF?*a38=hmC0TW5XC;ODpstELjBt0%BT`)6>vYzbRk zN0HT4|K1z6jVYYqapSVToK_}q<@Z`f8DTcUaZb8e&5J`WJ8YRuQzO4?B}gF3tjz#81%4k z^+mp)=cx71y!G2;k3N2l#ok(vtZWMaL{4wUr0u88^P#ht^=3cBoHzetn_I2dG3mHX zlU*L|tU_sP-TWAhoF4lnPK7qFglO}fK;+~_Kzk2{Jai8F>8$zdJcK$^Za=}VA8C8K zID+Ddo5hpuFN8Wc3lUbUM~6e%!Nj6>DU6Qd5DvFQmm+kQ7)0`Tq>W>rkTHbtx_&(nk*ut4Flqh8or=TGJf~yYm!TA3kAKQE@}|3)=Vva;DNcFhN%`G zhIp~IxTsZ4X*&Nma1C(U*vDl!cOZc0vEfQ^vOmO!005i28}CFM<`q7Oy%+t6Yt{r; z_&DeJ@(sZQiVYbCj9128KK{GBuo7Gt{i6@J|0L(!{$uWhaJc8Xm&d`)5r~g3uG6xG(S-FDf!l;SmD>*!E=z{{pi<`Mb{ZN4X&84|RpUSid6o z??yrhx**~fF#d-=u8$12J|5KWwL_@f{|Q;y!>cjuShkwzBKkvh@`|zL_`1K}U6qlkxU2Pazp;kACOru;i8KW)N zD{8qq7;!EQg(b6G0mCe5jRxqCG|Hw1g#w;?wWUg-Ts5^uRjq(pDygQ~C{)04!7m`k zG_zn93*uT*t`=*H^@?U{1w7f*YKeJ%p${+`hPX zH}D2++x7?8D6mQsG6+1!5GapZSIAFFylhAGC9GJqBl;ws2MD*Fdn8`AljFRwBW|dx zl04R%i0AhbkG)Uu>_*Jzg*{2&4!$)p9@)-OiI?p>$9aqg?TF6trX(-h*^7oHzhVdD zSAK-s@6#@Mv6oJ}_zyek@S2OC;{2ao{7%kK@xuUz@q3!c&$7h7U*a!GJRW&M{&x~D zuh$!#7x~%4{k|#5%k}e?#LIR9yuS)N2e_SEIFIqmb|Mll+xdvgj_AL4O7gOuuS)#w z(tN+>vLo)wrX-JhN95;em;5(*{LlKxue;<|xcnPF@&R6WB0u=k6yi3{V}9g#5-$0t zxcsMFy!eKg@v(DU;y)5&sK3o}Wqba{P0A+`aDNo`KsB d$HaLp?!kf==e3&`5chc@FYMI0fZ&Cl{{pG2FPZ=V diff --git a/tc/f_u32.o b/tc/f_u32.o deleted file mode 100644 index 25f9e21939bad118a0ecdd1f452f521b25820f11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23608 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 diff --git a/tc/m_action.o b/tc/m_action.o deleted file mode 100644 index c09dc34ba869d098e02e7d0c40f95ff287fc4329..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14408 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 diff --git a/tc/m_estimator.o b/tc/m_estimator.o deleted file mode 100644 index b64697e6d4a09b57340b87580ccea96c6b8188aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3552 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 diff --git a/tc/m_mirred.o b/tc/m_mirred.o deleted file mode 100644 index f04a75508a56bf86c6eeeb722bd8ad596a87f65e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9336 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 U2ssP|!>kBVdJKfJ0;4FCWD diff --git a/tc/p_ip.o b/tc/p_ip.o deleted file mode 100644 index 3479e0b026e7197dcfa8ef525d3eabf583614699..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3576 zcmbtXU5pb|6h3VisZe%`A%sLCO&no~*~#uga4`mV>8?!4ED1)`AaO18;}-jub|ykX zaFa5|$+)EY;Lno}B&ZMiz{3jrKq?r@#>9jNc=oXknqY{D#$~TLckXS+yDdEUJ?z|j z?)g9Gp4U5R&o!%y=u_-P+#~Pm>dxr^(54`Ha6=T8!3ORr{>lkle2TfGlTf zKgQi<%7LuXh2J9p&2&5g0IIiL&Uo#~E2#4-I=VD~5k57);6*OLIyo*;yDT*W|_klfxxy|L<+RS%pfIhO;stIoI5;=$Oxi^0~GT%ASHK8{uJ z_g}*V(JZ+Qdq(p$Imu(nIa>pDb2PYUt(A8MP@UUwMtx0Atnv2Tv1U4s3fo5sA;>}% zwx1(}%=nQjcy#qi09aAIrsmyzaLF0!ttin<$C0reCxlSAt*Y&O30+N2(^~(NR!gyM5NX-oprd1x{bd22D!d@LEnZ|tXObEI{jwRk~~V^ zH55bt@SZl)-9VQfcJ&o_|2|${k?Ttd`c6IUR(T22iHTFa+d&Nu^hw{2RYIES_*MX5 zH<|Z#lviYUg;j)VWff7q+Yc@|av!bB52@BI0C4XcTFs?UH3QjQf-K%QcUiiy(3Nd_ z9n+%tH5@t8=hvlA8{^j{_q%@x$t+C9Rc}g8;<$<2cN^Z6oVfSBMXx4aPpeJ`)eXD{ zk4CP%?~x3-a_?iKYURwl0p&``F6pH_lq;rg8fH;9p;)pi*>}OpRjM{!8Rb&NhARD= z(+lNU`%KvkR(i=W(E=tA5rN3*WMX~1&K?690JgI;#Fllz=J1CDwRJ}aCl;a~$0!{D zrh+31YzvA*>GX@Kp+iTG?N04c_9|nkv5}Fzqa&j)q=sHKjg*?T1N!hj#nSie22iSJ z3U>A+C{?=>eCPP8V&=1oZJxFvSQ=S73(CoA6_iQ|Hz+fzjIv{MZq}+~3nnPVl5Hx7 zjvO1V+FAWQQ1nuvU>0reUpGW!MLK$OS5m^;KrI0gY=o(W(&Hui`g-)^z?2>PoH0N$XxE=2qN zfP4e+2mSzBgIFIev7Vlwe`}i&>llRyq}UNJ*Hetn!RH+!*5UduVze{XB1W^b7BOJS z4FTuC=8*sVp6+6FzUN=OFXAjgywrz|v$+>PlxK5gMTc^>QZ;AsHR3BM&z4OiX9vX2 znw{$f0}5GNpEIkFE9#{}Id9tLEDqLe(E#{_#fH6wy|aR^C?VuBYXHnZ=wA!?fzgqF zFvR~1YfjG3@89c;jvpz+|CYdy_XDAa_`~|=1%Ce4-4f`}GCc!qfN_6@8U46G-^1vi j3H1Gpen+6E8J*8{Ob5Ea`*WO~b2xi-R?V9yCr8e9^Rl($?6U*5=j^%eLCvilI@{O0>zsQc z(W`aV^Y?cE7CsGx*8vN~C>i@|Ciqx@jrfDdx}NaBI$=mQ@3(s+Z@|HZkAk!2Wvdzr z&%X!r9|r?I6sn$ovIfNcPR~aqJ;sz?RvU;d^0$>h+|uYMA;;bXP*jT=S2KyRO4=fT z0)Tn4mA*@wng2zLrDNu*Q~ffwj`DYPQOmEW<<#HLs9#EE{j$&6(@uFyXTLG`Uj5-O z>(ep)E5KCmB%kDTqdRBhlJU&mNgCAXFY;dku#j1k}tO^b1S^(rPT1E^^Ar2i;r3qN2!0&f&@IY-bA Rc=t}k^YmYs_oDnw{RjPzN^bxF diff --git a/tc/p_udp.o b/tc/p_udp.o deleted file mode 100644 index 61232d9f42fb79ed84aaa5fabca167602e679913..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1408 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 diff --git a/tc/q_dsmark.o b/tc/q_dsmark.o deleted file mode 100644 index e2b6575fe11ca2f5ff9c04ae6883b0cfdaca8736..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5312 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 J(fa^9{{UTF*vkL_ diff --git a/tc/q_gred.o b/tc/q_gred.o deleted file mode 100644 index cb44aad9060ceb88f5744b55caf6e19b9ee1af49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9664 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 diff --git a/tc/q_htb.o b/tc/q_htb.o deleted file mode 100644 index e00de5bc08ef4be1659a457f4c45dd9a4b233362..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11496 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 UsWmP7lgCq5%FGls>WDf0cfovc^#A|> diff --git a/tc/q_prio.o b/tc/q_prio.o deleted file mode 100644 index addc84da27b1b6039270f7d9042b8f6a8bbe506e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4000 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 M;rlxr6`b4g|79Pw6#xJL diff --git a/tc/tc_core.o b/tc/tc_core.o deleted file mode 100644 index 9b7d80e6a851d01c85bf27b83a7d8f914d99b05f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3080 zcmbVOU2Gdg5FW=VacQyLQcxs7vQU5|YA?1EK|oM)j)M7{;STD2hmT9O(A*cYv-%dg{Zn$OKCd2E`49YCbw)il#W&J?Q(gJR0f3p% zryDB2yzcY?9M#Gj@-Y`s3HU<2a_dcJw0d@N;~)d)0V#-Eka8 zTm6we6RUiN6BqE|>S_FESF2p_Syo6mN4XuYw1!{DMA-Y>+1V;-&${lb=n~-OlX%v2 z-mkr`sL0~mf{`VwsE-s3HnL>v3&uP=5FIb!ziWBGeWI z$GY%oiGNUx9|wSWiN7MoiC{Pp?0?7qZci#0NdyPq+VyttbTFC@jwgd!x$lkJgdWE5 zk!0V98bA$(%RR`aCMO?@45p@Mh9aZNm=ce~qtUTgH1(NY+6UZ2Y=<}2m{@=u5|>Zlio)J=M8sU5EYMKT9@!_m;A5oX=qSgWB&U@t`L;}6H-hv>fV3^C~m^y zf7oMwWq9rPbvS#(kT}p~*|@`6=&w_#5!@^Q42sD+03g(1|5&Ep+CgZde&2JY7QFFy z1M2m{HeTj!@OSaz?-&Wj=dD@*JYJuqPj!Lkiag0=d7t314iLm6{NR2A+Td@y6&mon zmDCQuo6UdYephVw|B&D*P8oiC2{j^hjo1uuVG;<1)U|CGdIpAmmU;;{#b-;sD(KOypu6(CyBMasid z&!+{CGX91j|EDB<+!xiE;o+$tUX*xTm+Hup{NE+{KP&NfOZ=+D%j?qbAIc~7--jN3 nivPUC%l@g(ahh^~7;mJh$&()T0fO|Y9~L}3^~1*=p8DY*&8V>+ diff --git a/tc/tc_estimator.o b/tc/tc_estimator.o deleted file mode 100644 index c397f73ca965082c267ef2145e47cce1525559bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1992 zcmbVN&rcIU6n@*KP_^uo1{3@d-2*W|WYPjbG>x#W+BFh_V#S1CE@f8?l$!3Ucu|uk zrcFe8^U9y#i30~xqmmvxAjG=|O^ES;O^g@Jn%U0S?b3#X@6dVg+xh18eLFMz{OaH} z7smku2bZCol_9&z@qiT$fB?rp8kO!yG3j<}M9yx@>7Skr7p&zrdC)X1r)fE~%4ffz z^}_b|i+^>GnGd-${Iee+_nK*%CR)w`Kzhfu5#cx~yO-g!zom6j9M^eeCTW@!aaUNlBHoYz2gd<$&7F(w*G9%=?|Xl=GcTZE=@?2($ssa-AcTuOn3X6 zDZv4^=<_ysa@52S0Gzf>{zl`l;0p^aVL=QFZITd>guZmc%lcRDrMlPrvMVZ-JO+Sh zByve?iw?!w#cte#yTqY@R7Mllq?)4C2gl_Uv{>qfBGp7lXVpw3QdDJ7u-UPu}$jt<2-bwi2I0gfjV z33b7+wRdQU0M@>%cdWpCV7@WxkouKt>dA23mwlYt6&zgS5V%6{ZN#`p$k?&c^;4`T?qE{W7qejW?;@cFZlvRDYKVDVUC7u!<)H zZ>j&xXW~Dhn4a-tw7wH7HT-wda|h^&zjiqFO#u7e9l>Wh(YeW;dXhW6BPdum5Wp}M zkn4It1cHRmA$E|6#>K?6J1OQF~fZx_HyH7d+{-2==81X4pHy$JuBbmZ+z=M%4@)INv ybk%tDu>2V2llPf+ng(PqkaxOAzH_E&F4o|eZ9Lf->({q_%Mr`FN{ diff --git a/tc/tc_filter.o b/tc/tc_filter.o deleted file mode 100644 index 5924f02f3ff4a137e8abf9ac876c84bfc23120bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13720 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 diff --git a/tc/tc_util.o b/tc/tc_util.o deleted file mode 100644 index bfe5a316ab10c362635e97c1e72c01fd2cd07cd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16896 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 WLbriJ_hvN;PWN3jKE$W{tN#T%WK9SF -- 2.45.2