linux/net/sched/sch_sfq.c
<<
>>
Prefs
   1/*
   2 * net/sched/sch_sfq.c  Stochastic Fairness Queueing discipline.
   3 *
   4 *              This program is free software; you can redistribute it and/or
   5 *              modify it under the terms of the GNU General Public License

  v2. >
  v2.6.31.8
  v2. >
  v2.6.31.7

	 )hrey lat r versd="net/sched/sch_sfq.c#L3" id="L3" class="8i25.3"
8  >
  v2. >
  v2.6.31.8 *

  v2. >
  v2.6.31.9

	et/sched/sch_sfq.c#L4" id="L4" class="10ine" nam0e="L1">   1   1   2   caf">ched//e tule.homme>

	d/sch_sfq.c#L4" id="L4" class="1line" na1me="L3">   3   caf">ched//="ajs.homme>

	d/sch_sfq.c#L4" id="L4" class="1line" na1me="L4">   4   caf">ched//kecipl.homme>

	d/sch_sfq.c#L4" id="L4" class="1line" na1me="L5">   5   caf">ched//jiffijs.homme>

	d/sch_sfq.c#L4" id="L4" class="1li25.3"
1	  >
  v2. >
  v2.6.31.18   caf">ched//

	d/sch_sfq.c#L4" id="L4" class="17i25.3"
17  >
  v2. >
  v2.6.31.17   caf">ched//in.homme>

	d/sch_sfq.c#L4" id="L4" class="18i25.3"
18  >
  v2. >
  v2.6.31.18   caf">ched//errno.homme>

	d/sch_sfq.c#L4" id="L4" class="19i25.3"
19  >
  v2. >
  v2.6.31.19   caf">ched//init.homme>

	d/sch_sfq.c#L4" id="L4" class="20ine" na20e="L1">   1   caf">ched//

	d/sch_sfq.c#L4" id="L4" class="2line" na2me="L1">   1   caf">ched//jeueh.homme>

	d/sch_sfq.c#L4" id="L4" class="2line" namme="L2">   2   caf">ched//

	d/sch_sfq.c#L4" id="L4" class="2line" na2me="L3">   3   caf">ched//vmalloc.homme>

	d/sch_sfq.c#L4" id="L4" class="2line" na2me="L4">   4   caf">c#L4c#L 4

	d/sch_sfq.c#L4" id="L4" class="2line" na2me="L5">   5   caf">c#L4pkt_" id=.homme>

	d/sch_sfq.c#L4" id="L4" class="2li25.3"
2	  >
  v2. >
  v2.6.31.28   caf">c#L4flow_keys.homme>

	d/sch_sfq.c#L4" id="L4" class="27i25.3"
27  >
  v2. >
  v2.6.31.27   caf">c#L4rd=.homme>

	d/sch_sfq.c#L4" id="L4" class="28i25.3"
28  >
  v2. >
  v2.6.31.28
  v2. >
  v2.6.31.29   1algori
 mnet/sched/sch_sfq.c#L3" id="L3" class="lline" na3me="L1">   1/*
   2   3 *
   4 *              ThiiiiiiiiPaul E. McKenney "s Queueing discipline.   5 *              moddddddddIEEE INFOCOMM'90 Procee
   s, S> *Francisco,l1990net/sched/sch_sfq.c#L3" id="L3" class="lli25.3"
3	  >
  v2. >
  v2.6.31.38
  v2. >
  v2.6.31.37
  v2. >
  v2.6.31.38 *

    href Experience", v.2,l1991, p.113-131net/sched/sch_sfq.c#L3" id="L3" class="l9i25.3"
39  >
  v2. >
  v2.6.31.39   1   1/*
   2 * net/sched/sch_sffffffffM. Sh_sedharhref George Varghe>
""Efficient discet/sched/sch_sfq.c#L3" id="L3" class="4line" na4me="L3">   3 *
uspan>Deficit Ro th Robin", Proc. SIGCOMM 95net/sched/sch_sfq.c#L3" id="L3" class="4line" namme="L4">   4   5
  v2. >
  v2.6.31.48
  v2. >
  v2.6.31.47
  v2. >
  v2.6.31.48 *

  v2. >
  v2.6.31.49   1   1   2 * net/sched/sch_sffffffff-iIt  sovery cheap. Both CPUhref memory require/schs tri minimal.et/sched/sch_sfq.c#L3" id="L3" class="5line" na5me="L3">   3   4 *              ThiiiiiiiiDRAWBACKS:et/sched/sch_sfq.c#L3" id="L3" class="5line" namme="L5">   5
  v2. >
  v2.6.31.58
  v2. >
  v2.6.31.57
  v2. >
  v2.6.31.58
  v2. >
  v2.6.31.59   1
d for  solatpan>interthodvnet/sched/sch_sfq.c#L6" id="L6ption6s="lline" na6me="L1">   1/*
   2 * net/sched/sch_sffffffffshouldobeGu>
d as leafl PuCBQ or P3, whi  hputo nterthodvndtrafficet/sched/sch_sfq.c#L3" id="L3" class="6line" na6me="L3">   3 *
   4   5 *              moddddddddWe einll nseddtrue WFQofor top level CSZ, butouspan>WFQet/sched/sch_sfq.c#L3" id="L3" class="6li25.3"
		  >
  v2. >
  v2.6.31.88
  v2. >
  v2.6.31.67
  v2. >
  v2.6.31.68
  v2. >
  v2.6.31.69   1   1/*
   2 * net/sched/sch_sffffffff-imax mtu"to 2^18-1	et/sched/sch_sfq.c#L4" id="L4" class="7line" na7me="L3">   3 *
   4 *              Thiiiiiiii- numberp Pueueh buckets"to 65536.et/sched/sch_sfq.c#L3" id="L3" class="7line" na7me="L5">   5
  v2. >
  v2.6.31.78
"form>s, butonotGin fl;> n"/et/sched/sch_sfq.c#L4" id="L4" class="77i25.3"
77  >
  v2. >
  v2.6.31.77
  v2. >
  v2.6.31.78
 eturn=net/scode=SFQ_MAX_DEPTHsults"
	 >caf">SFQ_MAX_DEPTHomme           127     
  v2. >
  v2.6.31.79
 eturn=net/scode=SFQ_DEFAULT_FLOWSsults"
	 >caf">SFQ_DEFAULT_FLOWSomme       128d/sch_sfq.c#L3" id="L3" class="80ine" na80e="L1">   1
 eturn=net/scode=SFQ_MAX_FLOWSsults"
	 >caf">SFQ_MAX_FLOWSomme           (0x10000i- turn=net/scode=SFQ_MAX_DEPTHsults"
	 >caf">SFQ_MAX_DEPTHomme - 1)        1
 eturn=net/scode=SFQ_EMPTY_SLOTsults"
	 >caf">SFQ_EMPTY_SLOTomme          0xffffd/sch_sfq.c#L4" id="L4" class="8line" na8me="L2">   2
 eturn=net/scode=SFQ_DEFAULT_HASH_DIVISORsults"
	 >caf">SFQ_DEFAULT_HASH_DIVISORomme 1024d/sch_sfq.c#L4" id="L4" class="8line" na8me="L3">   3   4 *              Th/" WeGu>
 16 bits"to store>allot,href want"to hrefleupackets up"to 64Ket/sched/sch_sfq.c#L4" id="L4" class="8line" na8me="L5">   5 *              modifScale>allotion>8 (1<<3) sohthatono overflow"occurs.et/sched/sch_sfq.c#L3" id="L3" class="8li25.3"
8	  >
  v2. >
  v2.6.31.88
  v2. >
  v2.6.31.87
 eturn=net/scode=SFQ_ALLOT_SHIFTsults"
	 >caf">SFQ_ALLOT_SHIFTomme         3d/sch_sfq.c#L4" id="L4" class="88i25.3"
88  >
  v2. >
  v2.6.31.88
 eturn=net/scode=SFQ_ALLOT_SIZEsults"
	 >caf">SFQ_ALLOT_SIZEomme(turn=net/scode=Xsults"
	 >caf">Xomme)       turn=net/scode=DIV_ROUND_UPsults"
	 >caf">DIV_ROUND_UPomme(turn=net/scode=Xsults"
	 >caf">Xomme, 1 <<eturn=net/scode=SFQ_ALLOT_SHIFTsults"
	 >caf">SFQ_ALLOT_SHIFTomme)d/sch_sfq.c#L4" id="L4" class="89i25.3"
89  >
  v2. >
  v2.6.31.89   1sn"/et/sched/sch_sfq.c#L4" id="L4" class="9line" na9me="L1">   1
  v2.>caf">u16ommeeturn=net/scode=cla_index  >
  v2.>caf">cla_indexomme	d/sch_sfq.c#L4" id="L4" class="9line" na9me="L2">   2   3 *
   4 *              This WeGds="Gu>
 po nters"to savjfspac"net/sched/sch_sfq.c#L3" id="L3" class="9line" na9me="L5">   5 *              modifSmall index>sn[0 ... SFQ_MAX_FLOWS"- 1] tri 'po nters'"to slots[] trrayet/sched/sch_sfq.c#L3" id="L3" class="9li25.3"
9	  >
  v2. >
  v2.6.31.98followpan>form>sn[SFQ_MAX_FLOWS"... SFQ_MAX_FLOWS"+ SFQ_MAX_DEPTH]et/sched/sch_sfq.c#L3" id="L3" class="97i25.3"
97  >
  v2. >
  v2.6.31.97
  v2. >
  v2.6.31.98 *

  v2. >
  v2.6.31.99
  >
  v2.>caf">cla_headetmee{d/sch_sfq.c#L4" id="L4" class="100ine" nam00e="L1">   1
  v2.>caf">cla_indexomme       turn=net/scode=n id=">
  v2.>caf">n idomme	d/sch_sfq.c#L4" id="L4" class="10line" nam0me="L1">   1
  v2.>caf">cla_indexomme       turn=net/scode=prev  >
  v2.>caf">prevomme	d/sch_sfq.c#L4" id="L4" class="10line" na10me="L2">   2   3   4
  v2.>caf">cla_slotetmee{d/sch_sfq.c#L4" id="L4" class="10line" na10me="L5">   5
  v2.>caf">ck_buffomme  *turn=net/scode=cks6cks6
  v2. >
  v2.6.31.106
  v2.>caf">ck_buffomme  *turn=net/scode=cks6
  v2.>caf">cks6
  v2. >
  v2.6.31.107
  v2.>caf">cla_indexomme       turn=net/scode=qlkup">
  v2.>caf">qlkuomme	     
  v2. >
  v2.6.31.108
  v2.>caf">cla_indexomme       turn=net/scode=n id=">
  v2.>caf">n idomme	     
  v2. >
  v2.6.31.109
  >
  v2.>caf">cla_headetmeeturn=net/scode=dep  >
  v2.>caf">depomme	        1
  v2.>caf">euehomme	      (index  n ht[])n"/et/sched/sch_sfq.c#L4" id="L4" class="11line" nammme="L1">   1
  v2.>caf">allotomme	        2   3
  v2.>caf">backlogomme	d/sch_sfq.c#L4" id="L4" class="11line" na11me="L4">   4
  v2.>caf">d/o_varsetmeeturn=net/scode=vars  >
  v2.>caf">varsetme	d/sch_sfq.c#L4" id="L4" class="11line" na11me="L5">   5
  v2. >
  v2.6.31.118
  v2. >
  v2.6.31.117
  v2.>caf">cla_s id=_dataetmee{d/sch_sfq.c#L4" id="L4" class="118i25.3"
118  >
  v2. >
  v2.6.31.118 *

d fieldsn"/et/sched/sch_sfq.c#L4" id="L4" class="119i25.3"
119  >
  v2. >
  v2.6.31.119
  v2.>caf">limihomme	          tt"> *
   1
  v2.>caf">divisoromme	            "/et/sched/sch_sfq.c#L4" id="L4" class="12line" nam2me="L1">   1
  v2.>caf">u8omme              turn=net/scode=headdrop  >
  v2.>caf">headdropetme	d/sch_sfq.c#L4" id="L4" class="12line" na1mme="L2">   2
  v2.>caf">u8omme              turn=net/scode=maxdepth  >
  v2.>caf">maxdepthomme	       tt"> *
   3   4  >caf">u32omme             turn=net/scode=perturbaod="  >
  v2.>caf">perturbaod="etme	d/sch_sfq.c#L4" id="L4" class="12line" na12me="L5">   5
  v2.>caf">u8omme              turn=net/scode=cur_depth  >
  v2.>caf">cur_depthomme	      tt"> *

  v2. >
  v2.6.31.128
  v2.>caf">u8omme              turn=net/scode=flags  >
  v2.>caf">flagsetme	d/sch_sfq.c#L4" id="L4" class="127i25.3"
127  >
  v2. >
  v2.6.31.127
  v2.>caf">ccaled_quantumomme	     
  v2. >
  v2.6.31.128
  v2.>caf">tcf_protoomme *turn=net/scode=filter_6
  v2.>caf">filter_6
  v2. >
  v2.6.31.129
  v2.>caf">cla_indexomme       *turn=net/scode=ht  >
  v2.>caf">hhomme	            tt"> *
('divisor'"clots)n"/et/sched/sch_sfq.c#L4" id="L4" class="130ine" na130e="L1">   1
  v2.>caf">cla_slotetmee*turn=net/scode=clots  >
  v2.>caf">clotsomme	         tt"> *
('maxflows'"hreries)n"/et/sched/sch_sfq.c#L4" id="L4" class="13line" nam3me="L1">   1   2
  v2.>caf">d/o_parmsetmee*turn=net/scode=d/o_parms  >
  v2.>caf">d/o_parmsetme	d/sch_sfq.c#L4" id="L4" class="1lline" na1mme="L3">   3
  v2.>caf">tc clad/o_ng" sommeeturn=net/scode=cg" s  >
  v2.>caf">ng" somme	d/sch_sfq.c#L4" id="L4" class="1lline" na13me="L4">   4
  v2.>caf">cla_slotetmee*turn=net/scode=tail  >
  v2.>caf">tailomme	          tt"> *
   5
  v2. >
  v2.6.31.138
  >
  v2.>caf">cla_headetmeeturn=net/scode=dep  >
  v2.>caf">depomme[turn=net/scode=SFQ_MAX_DEPTHsults"
	 >caf">SFQ_MAX_DEPTHomme + 1]	d/sch_sfq.c#L4" id="L4" class="1l7i25.3"
137  >
  v2. >
  v2.6.31.137 *
tion>depthom/sched/sch_sfq.c#L4" id="L4" class="138i25.3"
138  >
  v2. >
  v2.6.31.138 *

d flowsom/sched/sch_sfq.c#L4" id="L4" class="139i25.3"
139  >
  v2. >
  v2.6.31.139   1   1/*
   2   3
  v2.>caf">maxflowsomme	       tt"> *
   4
  v2.>caf">perturb_perio
omme	d/sch_sfq.c#L4" id="L4" class="14line" na14me="L5">   5
  v2.>caf">quantumomme	        tt"> *


	= MTU""/et/sched/sch_sfq.c#L4" id="L4" class="14li25.3"
14	  >
  v2. >
  v2.6.31.148
  v2.>caf">timer_6
  v2.>caf">perturb_timeromme	d/sch_sfq.c#L4" id="L4" class="147i25.3"
147  >
  v2. >
  v2.6.31.147
  v2. >
  v2.6.31.148
  v2. >
  v2.6.31.149   1   1/*
   2>
  v2.>caf">in 2
  >
  v2.>caf">cla_headetmee*turn=net/scode=cla_dep_iv>
  >
  v2.>caf">cla_dep_iv>
omme(structeturn=net/scode=cla_s id=_data  >
  v2.>caf">cla_s id=_dataetmee*turn=net/scode=q  >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/scode=val  >
  v2.>caf">valomme)d/sch_sfq.c#L4" id="L4" class="15line" na15me="L3">   3   4
  v2.>caf">valomme <eturn=net/scode=SFQ_MAX_FLOWSsults"
	 >caf">SFQ_MAX_FLOWSomme)d/sch_sfq.c#L4" id="L4" class="15line" na1mme="L5">   5
  v2. >
  v2.6.31.1"L4" class="139io >
  v2.>caf">cla_indexomme turn=neth_sfqpan>
('maxflows&# 1]	d/sch_sfq.c#s"
	 >caf">SFQ_MAX_FLOWSo].e/" anchor  n dep[] chainsn"/et/sched/schn c1llasso th-51_SHIched/sch_sfq.rn=net/sc fr- "s Queueing&qu1ot; -15er_6
  v2.>caf">cla_indexomme turn=neth_sfqpan>
caf">SFQ_MAX_DEPTHomme + 1]	d/sch_sfq.c#s"
	 >caf">SFQ_MAX_FLOWSom- 1)        5
  v2.1 >
  12.6.31.59
d for  solatpan>intert* I. >
  v >
 be " cla>
 quickl5lin="L1"s="83" claw/sch
  v21">  >
 >   5<, weq.c#L4"  v2. >
   >
  vsfqpacb[2.6.31.97
 kb_cb>qomme, turn=net/scokb_cb2.6.31.118 *
   51<16rn=net/scodeetmee*turn=net/scode=q  v2. >
 
127  >
  v2. >
 v2. >
       *turn=net/scode=ht  > >
 
127  >
  v2. > >
     18
  >
  v2.>caf">cla_headetmee*turn=net/scode=cla_dep_iv>
  >
  kb_cb>qomme, turn=net/scokb_cb2.6.3teturn=net/scode=cla kb_cb>qomme, turn=net/scokb_cb2.6.(58  tet/scode=cks6
  v2.>caf">cks6caf">cks6
  v2. >1
  v216.31.61.118 *
>   1_cb_private_LOWia_i.>caf">cla_heade>   1_cb_private_LOWia_i.2.6.(sfq.c#L4" id="L4" >caf">cks6
 kb_cb>qomme, turn=net/scokb_cb2.6.))17
 kb_cb>qomme, turn=net/scokb_cb2.6. *)net/scode=ht  >>   1_ kb_cb>qomme, turn=ne>   1_ kb_cb2.6.(sfq.c#L4" id="L4" >caf">cks6
caaf">qomme, turn=nea_index 17 e=cla_dep_iv>
  >
  index  n ht[])n"/e >
  ind2.6.(58  tet/scode=cks6 >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/scc14lass143omme        unsignef  f4" class1i- numberp Pueueh bucket1s"to 17rn=net/scode======================58  tet/scode=cks6
  v2.>caf">cks6caf">cks6
  v2. >1
  v216.31.71.118 *

17_6
 
127  >
  v2. >
 v2. >
      _sfq.c#L4" id="L >
 
127  >
  v2. > >
      =39io >
  v2.>caf">cla=cla kb_cb>qomme, turn=net/scokb_cb2.6.(sfq.c#L4" id="L4" >caf">cks6
c >
 
127  >
  v2. > >
     18
  v2. >1
  v2172.>caf">ccaled_quantumt"> e=cla_dep_iv>
 (index  n ht[])n"/et/sched/s8caf">SF1Q_MAX17.31.59caf1">SFQ17       *turn=net/scode=ht  >(index  n ht[])n"/et/sched/ =3net/scode=ht  >  2
  
127  >
  v2. >  2
  2.6.((sfq.c#L4" id="L__forc.>caf">cla_heade__forc."L4" class="15line"   >
  v2.>caf">perturbaod)net/scode=ht  > >
 
127  >
  v2. > >
     sfqpan>
ca v2.>caf">perturbdme	d/scc14lass143omme        unsignef  de=SFQ_MA1X_FLOWSsults"
	 >caf">SF1Q_MAX180n=net/scode=====================(sfq.c#L4" id="L__forc.>caf">cla_heade__forc."L4" class="15line"   >
  v2.>caf">perturbaod)net/scode=ht  > >
 
127  >
  v2. > >
     sfqpan>
csrc>caf">cks6 >
 
127  >
  v2. > >
     sfqpan>
cip
  v2.>caf">filter_6caf">S1FQ_EM181n=net/scode=====================(sfq.c#L4" id="L__forc.>caf">cla_heade__forc."L4" class="15line"   >
  v2.>caf">perturbaod)net/scode=ht  > >
 
127  >
  v2. > >
     sfqpan>
cpors table>('maxpors et/scode=val  >
  v2._indexomme turn=neth_sfqpan>
c4" class="12line" na12me="L5">   5c18rmsetmee*turnass="13net/scode=ht  >(index  n ht[])n"/et/sched/ 9io >=(sfq.c#L4" id="L_indexomme turn=neth_sfqpan>
ca numberp Puclots  n hueh table>"_sfq.17   41<1pan c81.137
 16 bits"to store>allo1t,hre18an c6lass=6comment"> *              1modifScal1e>allotion>8 (1<<31) soh1hatono=net/sc        tt"> e=cla_dep_iv>
  >
 lotioify>qomme, turn=net/sclotioify_dataetmee*turn=net/scode=q 
  v2.>caf">cks6caf">cks6caf">cks6 >
  v2.>caf">cla_ererp Puclots  n h_erespan c1llasso th-51_SHIched/sch_sfq.cde=SFQ_AL1LOT_SHIFTsults"
	 >caf">1SFQ_A1LOT_SH1.118 *
caf">S1FQ_AL18otoomme *turn=net/scode=filter_6 >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/s =3net/scode=ht  >>   1_priv>qomme, turn=ne>   1_priv2.6.(sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s.17   11<18detmeeturn=net/scode=dep  >
  v2.>c/tetdone" 2.>caf">perturb_tetdone" "L4" class="15line" don2.>caf">perturbre     18 e=cla_dep_iv>
 done" 2.>caf">perturbdone" "L4"18caf">u16ommeeturn1=net/19span c13lass132omme        structeturL4" class1="9line" na9me="L3">   31<19rmsetmee*turnSFQ_MAX_FLOWSsults"TC_H_MAJ2.>caf">perturbTC_H_MAJ2.6.(sfq.c#L4" id="L4" >caf">cks6
c4L4">   line" na12me="L5L4">   	d/s. ==3net/scode=ht  >4cdex  n ht[])n"/e ch	d/ssfqpan>
cne" naex  n ht[])n"/et/" nahed/ 9io >9io >c13lass132omme        structeturL="""""""1hed/sch_sfq.c#L2" id="L21" cla193n=net/scode=====MAX_FLOWSsults"TC_H_MIN2.>caf">perturbTC_H_MIN2.6.(sfq.c#L4" id="L4" >caf">cks6
c4L4">   line" na12me="L5L4">   	d/s. fq.c#0 9io >9io >c13lass132omme        structeturLh/" WeGu1s="Gu>
 po nters"to savj1fspac19rn=net/scode=====MAX_FLOWSsults"TC_H_MIN2.>caf">perturbTC_H_MIN2.6.(sfq.c#L4" id="L4" >caf">cks6
c4L4">   line" na12me="L5L4">   	d/s. fl  v2sfq.c#L4" id="L_indexomme turn=neth_sfqpan>
ca numberp Puclots  n hueh table>" c1llasso th-51_SHIched/sch_sfq.cmodifSmal1l index>sn[0 ... SFQ_MAX1_FLOW19 >
  v2.6.31.1"L4" class="13MAX_FLOWSsults"TC_H_MIN2.>caf">perturbTC_H_MIN2.6.(sfq.c#L4" id="L4" >caf">cks6
c4L4">   line" na12me="L5L4">   	d/s.>c13lass132omme        structeturLenm is f1e>followpan>form>sn[SFQ_1MAX_F19.6.31.117c class="129i25.3"
129  >
  v2. >
  v2.6.3)31.118 *

  v_
 v2.   sec02.6.(sfq.c#L4" id="L4" >caf">cks6
  v2.>caf">cla=cla kb_cb>qomme, turn=net/scokb_cb2.6.(sfq.c#L4" id="L4" >caf">cks6
c >
 
127  >
  v2. > >
     .>c13lass132omme        structeturL.ix_pudescched//init.he="L2">   caf/a><199>
  v2.6.31.1"L4" class="13MAX_FLOWSsults" >
  index  n ht[])n"/e >
  ind2.6.(
  v2.>caf">cla_indexomme turn=net/sc=net/scode=ht  >
kb>caf">cks6   ceast2e       turn=n1.137
  v2.>caf">cla_i2dexom20span c13lass132omme        structetu2id="L4" c2ass="10line" na10me="L3"2   3<20rmsetmee*turn>
  v2.>caf">cla_ererp Puclots  n h_erespan =3net/scode=ht  >NET_XMIT_SUCCES15line" na1mme="NET_XMIT_SUCCES1span |3net/scode=ht  >__NET_XMIT_BYPAS15line" na1mme="__NET_XMIT_BYPAS1"L4"18 2 4
 done" 2.>caf">perturbdone" "L4" =3net/scode=ht  >tc lotioify>qomme, turn=netc lotioify2.6.(sfq.c#L4" id="L4" >caf">cks6c class="129i25.3"
129  >
  v2. >
  v2.6.3, 9io >
  v2.>caf">cladon2.>caf">perturbre     .>c13lass132omme        structetu2ode=cla_s2ot  >
  v2.>caf">cla_slo2etmee20rn=net/scode=SFQ_MAX_FLOWSsults"done" 2.>caf">perturbdone" "L4" >
  v20)31.118 *

  v2.>caf">2k_buf20c#L4pktfndex  >
  v2.>caf">CONFIG_NET_CLS_AC="89i25.3"
89  >CONFIG_NET_CLS_AC=pan c13lass132omme        structetu2i.ix_pudese=ck_buff  >
  v2.>caf">2k_buf206n=net/scode=========switchQ_MAX_FLOWSsults"done" 2.>caf">perturbdone" "L4")31.118 *

  v2.>caf">cla_i2dexom20f=/" Linkef 6caf">perturbTC_AC=_STOLEN=/" :.118 *

  v2.>caf">cla_i2dexom20/sch_sfq.c#L4" id="n=c="L4MAX_FLOWSsults"TC_AC=_QUEUED2.>caf">perturbTC_AC=_QUEUED=/" :.118 *

  >
  v2.>caf"2cla_h209>
  v2.6.31.1"L4" clmee*turn>
  v2.>caf">cla_ererp Puclots  n h_erespan =3net/scode=ht  >NET_XMIT_SUCCES15line" na1mme="NET_XMIT_SUCCES1span |3net/scode=ht  >__NET_XMIT_STOLEN2.>caf">perturb__NET_XMIT_STOLEN"L4"18
  v2.2caf">210n=net/scode=========c="L4MAX_FLOWSsults"TC_AC=_SH" id="L4" class="TC_AC=_SH" =/" :.118 *

  v22>caf"211n=net/scode=================ass="13018 2 3
  22.>ca2">back#endi8lass=82omme#def>
 eturn=net/sco2n=net/sco2e=d/o_vars  >
  v2.>caf"2d/o_v21rn=net/scode=========SFQ_MAX_FLOWSsults"TC_H_MIN2.>caf">perturbTC_H_MIN2.6.(sfq.c#L4" id="Ldon2.>caf">perturbre     /" anchor  n deplotioidata  >
  v2.>calotioid	d/s. fl  v2sfq.c#L4" id="L_indexomme turn=neth_sfqpan>
ca numberp Puclots  n hueh table>" c1llasso th-51_SHIched/sch_sfq.2id="L4" c2ass="11li25.3"
11	  >
  22. >
21 >
  v2.6.31.1"L4" cl========ass="13MAX_FLOWSsults"TC_H_MIN2.>caf">perturbTC_H_MIN2.6.(sfq.c#L4" id="Ldon2.>caf">perturbre     /" anchor  n deplotioidata  >
  v2.>calotioid	d/s.18
  v22 >
  216n=net/scode=1.137
  v2.>caf">c2a_s i21f=/" Linkef 6ass="13018
d fieldsn"/et2sched2sch_sf1.137
  v22>caf"21an c90caf">u8omme      2     22It means,hthatout t " idtule* x :13me="lass="1et/sced/sch_sfq.c#L3" id>caf">u8omme      2     22or P3, whi  hputo nterthodvn/a> 2 4
ci  v2.>caf">cla_headetmee*turn=nvoid3MAX_FLOWSsults" >
 ee*kex  n ht[])n"/e >
 ee*k_dataetmee*turn=net/scode=q  >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/scode=val  >
  v2.>caf">valomme)d/sch_sfq.c#L4" id="L4" class="15line" lomme)d/sch_sfq.xle>" c1llasso th-51_SHIched/sch_sfq.2code=u3me2"L2">  >caf">u32omme    2     2  turn1.118 *
caf">u8omme      2     2 turn=net/scode=cur_depth  >
>caf">valomme)d/sch_sfq.c#L4" id="L4" class="15line" ">SFQ_MAX_DEPTHopet/scode=val  >
  v2.2line" na12me="Lcaf">u8omme      2     22detmeeturn=net/scode=dep  >
  v2.>caf">f">clotsomme	         tt"> *
 *
  v2.>caf">cla_indexomme turn=neth_sfqpan>
('maxflows&# 1]	d/sch_sfq.c#s"lomme)d/sch_sfq.xle>"31.137
 2v2.>caf">ccalet"> e=cla_dep_iv>
 ksso n cks6lowslotsomme	       "> *

  v2.>caf2>tcf_22.31.59cla_i2dexom2e       *turn=net/scode=ht  >">SFQ_MAX_DEPTHopet/s =3net/scode=ht  >>sso n cks6   5
  v2.>caf"2cla_s23       turn=net/scode=n id="2line" na12me="L>indexomme turn=neth_sfqpan>
caf">SFQ_MAX_DEPTHomme + 1]	d/sch_sfq.c#s">sso n cks6   1 2 2
  v2.>caf2>d/o_2armsetmee*turnnet/scode=ht  >lowslotsomme	       "> *
SFQ_MAX_DEPTHomme + 1/" anchor  n dep" nam0me="L1">   12line" na12me="L
  v2.>caf233n=net/scode=e=cla_dep_iv>
 lowslotsomme	       "> *
SFQ_MAX_DEPTHomme + 1/" anchor  n dep" na10me="L2">   2">SFQ_MAX_DEPTHopet/s c12lass125omme        turn=net/2node=u3me2e=cla_slot  >
  v2.>caf"2cla_s23an c6lass=6comment"> *              2="L4" cla2s="1lli25.3"
13	  >
  v22 >
  23turn=net/scode=cur_depth  >
>indexomme turn=neth_sfqpan>
caf">SFQ_MAX_DEPTHomme + 1]	d/sch_sfq.c#s">sso n cks6   1lomme)d/sch_sfq.xle>"hed/sch_sfq.c#L4" id="L4" class="13lf">cla_s id=(q, p)sfqpa"109i= x /a>
  >
  v2.>caf"2cla_h23turn=net/scode=flags  >
  v2=cla_s id=_data  >
  v2.>caf">cla_s id=_data
  v2.>caf">cla_indexomme turn=net/scode=val  >
  v2.2line" na12me="L
c" na10me="L2">   2lomme)d/sch_sfq.xle>"hc15lass15commeng" aleturn=net/s2nort  tur2            tt"> *cunee*kex  n ht[])n"/e >
 unee*k_data
  v2.>caf">cla_indexomme turn=net/scode=val  >
  v2.lomme)d/sch_sfq.xle>"code=val  >
  v2.2line" na12me="L
  v2.">SFQ_MAX_DEPTHopet/s)                  \9clows table>('maxflows&# 1]	d/sch_sfq.c#s"lomme)d/sch_sfq.xle>"3/" anchor  n dep[] chainsn"/et/sched/schn/" anchor  n dep" nam0me="L1">   1
 ">SFQ_MAX_DEPTHopet/s =3net/scode=ht  >>indexomme turn=neth_sfqpan>
clows table>('maxflows&# 1]	d/sch_sfq.c#s"lomme)d/sch_sfq.xle>"3/" anchor  n dep[] chainsn"/et/sched/schn/" anchor  n dep" na10me="L2">   2 2 3lcla_s id=_data  >
  v2.>caf">cla_s id=_data
  v2.>caf">cla_indexomme turn=net/scode=val  >
  v2.">SFQ_MAX_DEPTHopet/s)sfqpan>
c" nam0me="L1">   12line" na12me="L
 2v2.>c243n=net/scode=e=cla_dep_iv>
 lcla_s id=_data  >
  v2.>caf">cla_s id=_data
  v2.>caf">cla_indexomme turn=net/scode=val  >
  v2.2line" na12me="L
c" na10me="L2">   2">SFQ_MAX_DEPTHopet/s9 *              2nt    tur2=net/scode=quantum  >
  22.>ca24.6.31.138
  v2.>ca2">tim2r_6
ci  v2.>caf">cla_headetmee*turn=nvoid3MAX_FLOWSsults" >
 dec>caf">cks6
 dec_dataetmee*turn=net/scode=q  >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/scode=val  >
  v2.>caf">valomme)d/sch_sfq.c#L4" id="L4" class="15line" lomme)d/sch_sfq.xle>" c1llasso th-51_SHIched/sch_sfq.2id="L4" c2ass="148i25.3"
148  >
  22. >
24OT_SH1.118 *

  v22 >
  24       turn=net/scode=n id=">
  v2.>caf">n idomme	     SFQ_MAX_DEPTHopet/scode=val  >
  v2.2line" na12me="L
  unee*kex  n ht[])n"/e >
 unee*k_data
  v2.>caf">cla_indexomme turn=net/scode=val  >
  v2.lomme)d/sch_sfq.xle>"code=val  >
  v2.2line" na12me="L
  v2.">SFQ_MAX_DEPTHopet/s) c12lass125omme        turn=net/2i=net/sco2a>>
  v2.>caf">in 22  4
 [chainsn"/et/schespan =3net/scode=ht  >>indexomme turn=neth_sfqpan>
clows table>('maxflows&# 1]	d/sch_sfq.c#s"lomme)d/sch_sfq.xle>"3/" anchor  n dep>sso n cks6
  v2.>caf">valomme2<e2urn=net/scode=SFQ_MAX_FLOWSsults"2line" na12me="L">SFQ_MAX_DEPTHopet/s 9io >9io >3net/scode=ht  >>indexomme turn=neth_sfqpan>
c=/" depthl Pulongest sloto"/et/sched/ ==3net/scode=ht  >[chainsn"/et/schespan c1llasso th-51_SHIched/sch_sfq.2#L4" id="24" class="139i25.3"
139 2>
  v2. >
  v2.6.31.1"L4" clnet/scode=ht  >>indexomme turn=neth_sfqpan>
c=/" depthl Pulongest sloto"/et/sched/-- c12lass125omme        turn=net/2i=net/sco2r- "s Queueing&qu1o2; -1525turn=net/scode=flags  >
  v2=claee*kex  n ht[])n"/e >
 ee*k_data
  v2.>caf">cla_indexomme turn=net/scode=val  >
  v2.lomme)d/sch_sfq.xle>") c12lass125omme        turn=net/2id="L4" c2iWhen eueh collisd="s 1o2cur1 2eve<}31.137
  v2.1 2
  1226.31.59ci  v2.>caf">cla_headetmee*turn=nvoid3MAX_FLOWSsults" >
 inc>caf">cks6
 inc_dataetmee*turn=net/scode=q  >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/scode=val  >
  v2.>caf">valomme)d/sch_sfq.c#L4" id="L4" class="15line" lomme)d/sch_sfq.xle>" c1llasso th-51_SHIched/sch_sfq.2" idmes1n2nbased " idmes,href shou2ldono2GbeGu>1.118 *

  v2.>caf">prevomme	d/sch_sfq.c#L4" class="15line" ">SFQ_MAX_DEPTHopet/scode=val  >
  v2.2line" na12me="L
d as leafl2 PuCB26rmsetmee*turnS   " anchor  n dep[chainsn"/et/schespan c12lass125omme        turn=net/2f="""""""2"to hig  r priori
ynband2net/s26span c12lass124omme        turn=net/2L4" class2="6line" na6me="L5">   52<26rn=net/scodenet/scode=prev  >
  unee*kex  n ht[])n"/e >
 unee*k_data
  v2.>caf">cla_indexomme turn=net/scode=val  >
  v2.lomme)d/sch_sfq.xle>"code=val  >
  v2.2line" na12me="L
  v2.">SFQ_MAX_DEPTHopet/s) c12lass125omme        turn=net/2.L4" id="2dWe einll nseddtrue WFQo2for t26.6.31.138
  v2[chainsn"/et/schespan =3++net/scode=ht  >>indexomme turn=neth_sfqpan>
clows table>('maxflows&# 1]	d/sch_sfq.c#s"lomme)d/sch_sfq.xle>"3/" anchor  n dep>sso n cks6>indexomme turn=neth_sfqpan>
c=/" depthl Pulongest sloto"/et/sched/ )d/sch_sfq.c#L4" id=[chainsn"/et/schespan c1llasso th-51_SHIched/sch_sfq.2L4" class2="69i25.3"
69  >
  v2. >2
  v226/sch_sfq.c#L4" id="n=net/scode=ht  >>indexomme turn=neth_sfqpan>
c=/" depthl Pulongest sloto"/et/sched/ = " anchor  n dep[chainsn"/et/schespan c12lass125omme        turn=net/2fenm is1 2rIMPLEMENTATION:et/sched2/sch_26       *turn=net/scode=ht  >=claee*kex  n ht[])n"/e >
 ee*k_data
  v2.>caf">cla_indexomme turn=net/scode=val  >
  v2.lomme)d/sch_sfq.xle>") c12lass125omme        turn=net/2. idmes1n2nee so mple/schaod=" lim2ihs :2706 unc/a>  >
daw/sc/i3"
109  >="15tandarclass=c#L3" /a>
  v2. >2
  v227atono=net/scn>
ci  v2.>caf">cla_headetmee*turn=netmee*turn=net/scode=q 
  v2.>caf">cks6
 ">clotsomme	         tt"> *
 *
27_6 *

  v2. >2
  v2272.>caf">ccaleetmee*turn=net/scode=q 
  v2.>caf">cks6caf">cks6lowslotsomme	       "> *

  v2. >
  v2.6.31.107caf">SF2Q_MAX27.31.59caf2">SFQ27       *turn=net/scode=ht  >lowslotsomme	       "> *

  v2. >
  v2.6.3 =3net/scode=ht  >l" >caf">cks6
c4Lna10me="L2">   2caf">SF2Q_MAX28       turn=net/scode=n id="l" >caf">cks6
c4Lna10me="L2">   2
c" nam0me="L1">   1caf">cks6lowslotsomme	       "> *caf">S2FQ_EM28       turn=net/scode=prev  >" >caf">cks6
c" nam0me="L1">   1l" >caf">cks6
c4Lna10me="L2">   2NULL10me="L2">   2c28rmsetmee*turnass="13net/scode=ht  >l" >caf">cks6   42<2pan c81.137
 16 bits"to store>allo2t,hre28an c6lass=6comment"> *              2modifScal2e>allotion>8 (1<<32) soh2hatono, whi  hputo nterthodvassremove one"
109from #L3" 38i25.383" cla/a>
ci  v2.>caf">cla_headetmee*turn=netmee*turn=net/scode=q 
  v2.>caf">cks6
  v2.>caf5.3/et3" cl_d=_d_dataetmee*turn=net/scode=q  >
 ">clotsomme	         tt"> *
 *caf">2SFQ_A2LOT_SH1.118 *
caf">S2FQ_AL28otoomme *turn=net/scode=filter_6
  v2.>caf">cks6caf">cks6lowslotsomme	       "> *
   1<4" class" naspan 9   12<28an c90 *
   1<4" class" naspan =3net/scode=ht  >l" >caf">cks6
c" nam0me="L1">   1caf">u16ommeeturn2=net/29       turn=net/scode=prev  >" >caf">cks6
c" nam0me="L1">   1
c4Lna10me="L2">   2caf">cks6lowslotsomme	       "> *   32<29rmsetmee*turnnet/scode=ht  >l" >caf">cks6
c" nam0me="L1">   1l" >caf">cks6
c4Lna10me="L2">   2NULL10me="L2">   2l" >caf">cks6sn[0 ... SFQ_MAX2_FLOW29.6.31.138followpan>form>sn[SFQ_2MAX_F29_6
ci  v2.>caf">cla_headetmee*turn=nvoid3MAX_FLOWSsults" 5.3/3" cl_inislotsomme	       "> /3" cl_inis_dataetmee*turn=net/scode=q  >
 ">clotsomme	         tt"> *
 * *
clalowslotsomme	       "> *
 *   c2f/a><29       *turn=net/scode=ht  >lowslotsomme	       "> *

  v2. >
  v2.6.3 =3net/scode=ht  >lowslotsomme	       "> *
   1<4" class" naspan =3aetmee*turn=net/scode=q 
  v2.>caf">cks6lowslotsomme	       "> *  3ceast3006
  v2.>caf">cla_i3dexom30span c13lass132omme        structetu3id="L4" c3ass="10line" na10me="L3"3   3<30or P3, whi  hputo nterthodvassadd"
109toi25.383" cla(n"/e1add)a/a> 3 4
ci  v2.>caf">cla_headetmee*turn=nvoid3MAX_FLOWSsults" "> /3" cl_addlotsomme	       "> /3" cl_add_dataetmee*turn=net/scode=q  >
 ">clotsomme	         tt"> *
 *
  v2.>caf">cks6caf">cks6
  v2.>caf">cla_slo3etmee30 turn1.118 *

  v2.>caf">3k_buf30turn=net/scode=cur_depth  >
>" >caf">cks6
c4Lna10me="L2">   2lowslotsomme	       "> *

  v2. >
  v2.6.31.107
  v2.>caf">3k_buf30turn=net/scode=flags  >
  v2=" >caf">cks6
c" nam0me="L1">   1caf">cks6lowslotsomme	       "> *lowslotsomme	       "> *

  v2. >
  v2.6.3sfqpan>
c" nam0me="L1">   1l" >caf">cks6owslotsomme	       "> *

  v2. >
  v2.6.3 =3net/scode=ht  >l" >caf">cks6   c3cla_h309>
  1.137
  v2.3caf">31r  n c12lass125omme        turn=net/3      tur3=net/scode=allot  >
  v23>caf"311n=neT_FLOWSomme       128d/f"> /3" cl_walkex  n ht[])n"/e "> /3" cl_walk_data
  v2.>caf">clalowslotsomme	       "> *caf">cks6 3 34" >caf">cks6lowslotsomme	       "> *
   1<4" class" naspan L4" id="n=\9
  32.>ca313n=net/scode===== sfq.c#L4" id="L4" >caf">cks6caf">cks6lowslotsomme	       "> *4" >caf">cks6l" >caf">cks6
c" nam0me="L1">   1
  32. >
31.6.31.138
  v23 >
  31_6 e=cla_dep_iv>
  >
 dro">SFQ_MAX_DEPTHo >
 dro"_dataetmee*turn=net/scode=qQ   1>caf">cks6
  v2.>caf">c3a_s i31OT_SH1.118 *

d fieldsn"/et3sched31otoomme *turn=net/scode=filter_6 >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/s =3net/scode=ht  >>   1_priv>qomme, turn=ne>   1_priv2.6.(sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s.17
  v23>caf"31       *turn=net/scode=ht  >=cla">valomme)d/sch_sfq.c#L4" id="L4" class="15line" lomme)d/sch_sfq.xle>", sfq.c#L4" id="L[chainsn"/et/schespan =3net/scode=ht  >>indexomme turn=neth_sfqpan>
c=/" depthl Pulongest sloto"/et/sched/17
  32.>ca320toomme *turn=net/scode=filter_6
  v2.>caf">cks6caf">cks6caf">u8omme      3     32       turn=n        tt"> e=cla_dep_iv>
 sso n cks6caf">u8omme      3     322toomme *turn=net/scode=filter_6 >
 ">clotsomme	         tt"> *
 * 3 4  >caf">u32omme    3     32rn=net/scodene whi  hputo nterthodvassQ" clais full! F" i the lo >
 ti25.38a i dro" n"/e1packet9from ita/a>caf">u8omme      3     3 turn=net/scodSFQ_net/scode=ht  >[chainsn"/et/schespan fq.c#1)31.118 *
caf">u8omme      3     32detmeeturn=ne  *turn=net/scode=ht  >lomme)d/sch_sfq.xle>" =3net/scode=ht  >>indexomme turn=neth_sfqpan>
caf">SFQ_MAX_DEPTHomme + 1]	d/sch_sfq.c#s"[chainsn"/et/schespane/" anchor  n dep" nam0me="L1">   1
 32f=/" Linkef 6
 *
  v2.>caf">cla_indexomme turn=neth_sfqpan>
('maxflows&# 1]	d/sch_sfq.c#s"lomme)d/sch_sfq.xle>"31.137
  v2.>caf3>tcf_32.31.5	d/sch_sfq.c#s"[ro">SFQ_MAX_DEPTHodro"_dat:.118 *

  v2.>caf">cla_i3dexom329>
  v2.6.31.1"L4" clnet/scode=ht  >4" >caf">cks6_indexomme turn=neth_sfqpan>
SFQ_MAX_DEPTHod=_d[ro"span ?omme       128d/f"> /et3" cl_d=_data  >
  v2.>caf5.3/et3" cl_d=_d_datan>
 * /et3" cl_rrent sloto n ro th45.3/et3" cl_rren_datan>
 *
  v2.>caf"3cla_s33       turn=n1"L4" clnet/scode=ht  >sso n cks6>   1_pkt_sso n cks6
caf">cks6 3 2lowslotsomme	       "> *
sso n cks6
  v2.>caf3>d/o_3armsetmee*turn  *turn=net/scode=ht  >=cladec>caf">cks6
 dec_datanet/scode=ht  >_indexomme turn=neth_code=val  >
  v2.lomme)d/sch_sfq.xle>") c12lass125omme        turn=net/3n=net/sco3e=tc clad/o_ng" s  >
  v3.>caf333n=net/scode===== rn=net/scode=ht  >kfree_l" >caf">cks6
caf">cks6
  v2.>caf"3cla_s33rn=net/scode=========sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/ssfqpan>
sso n cks6
  v23 >
  33 >
  v2.6.31.1"L4" clnet/scode=ht  >4cdex  n ht[])n"/e ch	d/ssfqpan>
('maxk=net eth_/" anchor  n dep[ro" table>('max[ro" eth_++ c12lass125omme        turn=net/3=ode=u8  3e=cla_iv>
  >
  v2.>caf"3cla_h33detmeeturn=ne  *turn=net/scode=ht  >4cdex  n ht[])n"/e ch	d/ssfqpan>
('maxk=net eth_/" anchor  n depbackloglotsomme	      backlogn=net-=3net/scode=ht  >sso n cks6 *[chainsn"/et/schespan ==#1)31.118 *
 3 3lomme)d/sch_sfq.xle>" =3net/scode=ht  >>indexomme turn=neth_sfqpan>
crrent sloto n ro thrren_datsfqpan>
c" nam0me="L1">   1
 3v2.>c343n=net/scode===== rn=net/scode=ht  >lowslotsomme	       "> *
  v2.>caf">cla_indexomme turn=neth_sfqpan>
('maxflows&# 1]	d/sch_sfq.c#s"lomme)d/sch_sfq.xle>"31.137
 34rn=net/scode=========sfq.c#L4" id="L>indexomme turn=neth_sfqpan>
crrent sloto n ro thrren_datsfqpan>
c" nam0me="L1">   1lowslotsomme	       "> *
   1
  32.>ca34 >
  v2.6.31.1"L4" clnet/scode=ht  >>indexomme turn=neth_sfqpan>
cham0me="L1">   1 *
L5">EMPTY_SLOTex  n ht[])n"/eL5">EMPTY_SLOTspan cl01
  v2.>ca3">tim34detmeeturn=ne  *turn=gotoi	d/sch_sfq.c#s"[ro">SFQ_MAX_DEPTHodro"_dat cl01
  32. >
347toomme *turn1.137
  v23 >
  34.31.59>
  v2.>caf">in 23  4 e=cla_dep_iv>
  >
 prob_markex  n ht[])n"/e >
 prob_mark_datacon ti2net/scode=filter_6 >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/s c1llasso th-51_SHIched/sch_sfq.3iode=u3me3al  >
  v2.>caf">valomme3<e35 turn1.118 *

  v3. >
  v2.6.31.ass="13net/scode=ht  >_indexomme turn=neth_sfqpan>
c lag table>('max lag span fio >3net/scode=ht  >TC_RED_ECNtable>('maxTC_RED_ECN_dat cl01
  v2.1 3
  1236.31.5, whi  hputo nterthodvassShould1packets over max t3596 e=cla_dep_iv>
  >
 hard_markex  n ht[])n"/e >
 hard_mark_datacon ti2net/scode=filter_6 >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/s c1llasso th-51_SHIched/sch_sfq.3" idmes1n3nbased " idmes,href shou3ldono3GbeGu>1.118 *
>indexomme turn=neth_sfqpan>
c lag table>('max lag span fio >3_MAX_FLOWSsults"TC_RED_ECNtable>('maxTC_RED_ECN_dat |3net/scode=ht  >TC_RED_HARDDROPtable>('maxTC_RED_HARDDROPet/s ) ==3net/scode=ht  >TC_RED_ECNtable>('maxTC_RED_ECN_dat cl01
d as leafl3 PuCB36rmset1.137   53<36rn=ne=net/sct"> e=cla_dep_iv>
  >
 h=_d[ro">SFQ_MAX_DEPTHo >
 h=_d[ro"_datacon ti2net/scode=filter_6 >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/s c1llasso th-51_SHIched/sch_sfq.3"L4" id="3dWe einll nseddtrue WFQo3for t36.6.311.118 *
_indexomme turn=neth_sfqpan>
cd=_d[ro">SFQ_MAX_DEPTHod=_d[ro"span cl01
  v2. >3
  v236.31.599 >
en3" cl>qomme, turn=net/scen3" cl_data=net/scode=filter_6
  v2.>caf">cks6caf">cks6caf">cks6 *
 >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/s =3net/scode=ht  >>   1_priv>qomme, turn=ne>   1_priv2.6.(sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s.17 e=cla_dep_iv>
 (index  n ht[])n"/et/sched/17
  ">valomme)d/sch_sfq.c#L4" id="L4" class="15line" lomme)d/sch_sfq.xle>", sfq.c#L4" id="L>sso n cks6
  v2. >3
  v2375toomme *turn=net/scode=filter_6 >
 ">clotsomme	         tt"> *
 *
37turn=net/scodt"> e=cla_dep_iv>
 uninisializ=clvaerp Puclots  n huninisializ=clvae2.6.(sfq.c#L4" id="Lreslotsomme	      re *
  v2. >3
  v2372.>caf">ccaleetmee*turn=net/scode=q 
  v2.>caf">cks6caf">SF3Q_MAX378urn=net/scodt"> e=cla_dep_iv>
 delf">qomme, turn=nedelf"_dat1.137caf3">SFQ37an c90caf">SF3Q_MAX38       turn=net/scode=n id="(index  n ht[])n"/et/sched/ =3net/scode=ht  >l  t  n hifylotsomme	         t  n hify_datan>
caf">cks6
  v2.>caf">clareslotsomme	      re *caf">S3FQ_EM38       turn=nSFQ_net/scode=ht  >(index  n ht[])n"/et/sched/ == 0)31.118 *
c38rmsetmee*turn  *turn=SFQ_net/scode=ht  >reslotsomme	      re *3net/scode=ht  >__NET_XMIT_BYPAS15line" na1mme="__NET_XMIT_BYPAS1	d/s c1llasso th-51_SHIched/sch_sfq.3d="""""""3="8line" na8me="L4">   43<383n=net/scode===== rn=t/scodenet/scode=prev  >cdex  n ht[])n"/e ch	d/ssfqpan>
('maxk=net eth_/" anchor  n dep[ro" table>('max[ro" eth_++ c12lass125omme        turn=net/3Th/" WeGu3>
 16 bits"to store>allo3t,hre38rn=net/scode=========sfq.c#L4" id="Lkfree_l" >caf">cks6
caf">cks6allotion>8 (1<<33) soh38 >
  v2.6.31.1"L4" class="13net/scode=ht  >reslotsomme	      re *caf">3SFQ_A38f=/" Linkef 6net/scode=ht  >(index  n ht[])n"/et/sched/-- c12lass125omme        turn=net/3de=SFQ_AL3LOT_SIZEsults"
	 >caf">S3FQ_AL38.31.59   13<38       *turn=net/scode=ht  >lomme)d/sch_sfq.xle>" =3net/scode=ht  >>indexomme turn=neth_sfqpan>
cham0me="L1">   1 *
  v2.>caf">cla_indexomme turn=neth_sfqpan>
('maxflows&# 1]	d/sch_sfq.c#s"lomme)d/sch_sfq.xle>"31.137caf">u16ommeeturn3=net/39       turn=nSFQ_net/scode=ht  >lomme)d/sch_sfq.xle>" ==3net/scode=ht  >L5">EMPTY_SLOTex  n ht[])n"/eL5">EMPTY_SLOTspan)31.118 *
   33<39rmsetmee*turn  *turn=net/scode=ht  >lomme)d/sch_sfq.xle>" =3net/scode=ht  >>indexomme turn=neth_sfqpan>
caf">SFQ_MAX_DEPTHomme + 1]0e/" anchor  n dep" nam0me="L1">   1lomme)d/sch_sfq.xle>" fqpa=3net/scode=ht  >L5">idlass="15line" na1mme="L5">   5SFQ_MAX_DEPTHo>   1_[ro"_datan>
caf">cks6sn[0 ... SFQ_MAX3_FLOW39 >
  v2.6.31.1"L4" clnet/scode=ht  >>indexomme turn=neth_sfqpan>
cham0me="L1">   1lomme)d/sch_sfq.xle>"hc15lass15commeng" aleturn=net/s3Lenm is f3e>followpan>form>sn[SFQ_3MAX_F39detmeeturn=ne  *turn=net/scode=ht  >4owslotsomme	       "> *
  v2.>caf">cla_indexomme turn=neth_sfqpan>
('maxflows&# 1]	d/sch_sfq.c#s"lomme)d/sch_sfq.xle>"31.137
 *
(index  n ht[])n"/et/sched/17
 *
   c3f/a><399>
  v2.6.31.1"L4" clnet/scode=ht  >red_setlvae table>('maxred_setlvae _data9io >
  v2.>caf">clalowslotsomme	       "> *
('maxvae _dat 1.137  4ceast40       turn=n1"L4" clgotoi	d/sch_sfq.c#s"en3" cl>qomme, turn=neen3" cl_dat1.137caf">u16ommeeturn4dexom40       turn=n1.137>indexomme turn=neth_sfqpan>
cred_parm table>('maxred_parm span)31.118 *
 4 4lowslotsomme	       "> *
('maxvae _dat/" anchor  n dep>avglotsomme	      >avghed/ =3net/scode=ht  >red_calc_>avg_no_idle_timl>qomme, turn=nered_calc_>avg_no_idle_timl_datan>
indexomme turn=neth_sfqpan>
cred_parm table>('maxred_parm span,.118 *

  v2.>caf">clalowslotsomme	       "> *
('maxvae _dat,.118 *
sn[0 ... SFQ_MAX4k_buf40 >
  v2.6.31.1"L4" cllllllllllllllllllllllllllllllllllllllllln>
 *
followpan>form>sn[SFQ_4k_buf40detmeeturn=ne  *turn=switchQ_net/scode=ht  >red_ac/a>('maxred_ac/a><_datan>
indexomme turn=neth_sfqpan>
cred_parm table>('maxred_parm span,.118 *

  v2.>caf">clalowslotsomme	       "> *
('maxvae _dat,.118 *
 *
('maxvae _dat/" anchor  n dep>avglotsomme	      >avghed/))31.118 *
   c4cla_h409>
  v2.6.31.1"L4" clcasSomme       128d/RED_DONT>  RKlotsomme	      RED_DONT>  RK>
  :.118 *

  v2.4caf">41       turn=n1"L4" clllllllllbreak1.137
  v24>caf"41span c13lass132omme        structetu4hd="L4" c4s="11line" na11me="L3"> 4 3  RKlotsomme	      RED_PROB>  RK>
  :.118 *

  42.>ca413n=net/scode===== llllllllllln>

('maxk=net eth_/" anchor  n depoverlimit table>('maxoverlimit eth_++ c12lass125omme        turn=net/4hde=cla_s4e=d/o_vars  >
  v2.>caf"4d/o_v41rn=net/scode=================SFQ_net/scode=ht  > >
 prob_markex  n ht[])n"/e >
 prob_mark_datan>
indexomme turn=neth_))31.118 *

  42. >
41 >
  v2.6.31.1"L4" cllllllllllllllllln whi  hputo nterthodvassWe know we have at least one"packet9in83" cla/a>
  v24 >
  41detmeeturn=ne  *turn=================SFQ_net/scode=ht  > >
 h=_d[ro">SFQ_MAX_DEPTHo >
 h=_d[ro"_datan>
indexomme turn=neth_) 9io >9io >c15lass15commeng" aleturn=net/s4h7L4" cla4id=_data  >
  v2.>caf">c4a_s i41f=/" Linkef 6
qomme, turn=neINET_ECN_setlcl_datan>
 *
   1<4" class" naspan))31.118 *

d fieldsn"/et4sched41       turn=n

('max=net eth_/" anchor  n depprob_mark_d=_data  >
  v2.>caprob_mark_d=_deth_++ c12lass125omme        turn=net/4h9L4" cla4=net/scode=limih  >
  v24>caf"419>
  v2.6.31.1"L4" clllllllllllllllllllllllllbreak1.137
  42.>ca42       turn=n1"L4" clllllllllllllllll1.137caf">u8omme      4     42       turn=nnnnnnnnnnnnnnnnnnnnnnnnnSFQ_net/scode=ht  >INET_ECN_setlcl>qomme, turn=neINET_ECN_setlcl_datan>
caf">cks6 *
caf">u8omme      4     42rmsetmee*turn  *turn=========================n>

('max=net eth_/" anchor  n depprob_markata  >
  v2.>caprob_marketh_++ c12lass125omme        turn=net/4c"L4" cla4s="12line" na12me="L4"> 4 4  >caf">u32omme    4     42rn=net/scode=========1"L4" clllllllll1.137caf">u8omme      4     42 >
  v2.6.31.1"L4" clllllllll1.137caf">u8omme      4     42detmeeturn=ne  *turn=========n>

('max=net eth_/" anchor  n depprob_[ro">SFQ_MAX_DEPTHoprob_[ro"eth_++ c12lass125omme        turn=net/4c7L4" cla4=net/scode=scaled_quantu4  >
 42f=/" Linkef 6
 ta><_[ro">SFQ_MAX_DEPTHoco >
 ta><_[ro"_dat1.137
  v2.>caf4>tcf_42.31.59cla_i4dexom429>
  v2.6.31.1"L4" clcasSomme       128d/RED_HARD>  RKlotsomme	      RED_HARD>  RK>
  :.118 *

  v2.>caf"4cla_s43       turn=n1"L4" cl========n>

('maxk=net eth_/" anchor  n depoverlimit table>('maxoverlimit eth_++ c12lass125omme        turn=net/4n     tur4s="1lline" na13me="L2"> 4 2 >
 hard_markex  n ht[])n"/e >
 hard_mark_datan>
indexomme turn=neth_))31.118 *

  v2.>caf4>d/o_4armsetmee*turn  *turn=1"L4" cl========n whi  hputo nterthodvassWe know we have at least one"packet9in83" cla/a>
  v4.>caf433n=net/scode===== rn=================SFQ_net/scode=ht  > >
 h=_d[ro">SFQ_MAX_DEPTHo >
 h=_d[ro"_datan>
indexomme turn=neth_) 9io >9io >c15lass15commeng" aleturn=net/s4node=u3me4e=cla_slot  >
  v2.>caf"4cla_s43rn=net/scode=========rn=n1"L4" cl========n>
qomme, turn=neINET_ECN_setlcl_datan>
 *
   1<4" class" naspan))31.118 *

  v24 >
  43 >
  v2.6.31.1"L4" cl====rn=n1"L4" cl========n>

('max=net eth_/" anchor  n depforced_mark_d=_data  >
  v2.>caforced_mark_d=_deth_++ c12lass125omme        turn=net/4n.ix_pude4e=cla_iv>
  >
  v2.>caf"4cla_h43detmeeturn=ne  *turn=========================break1.137 *INET_ECN_setlcl>qomme, turn=neINET_ECN_setlcl_datan>
caf">cks6 *

  v2.6.31.1"L4" cllllllllllllllllllllllllln>

('max=net eth_/" anchor  n depforced_markata  >
  v2.>caforced_marketh_++ c12lass125omme        turn=net/4iddennnnn4nn""""""""""""""""""""""4"""""44       turn=n1"L4" clllllllllllllllllllllllllbreak1.137 4 3
 4v2.>c443n=net/scode===== rn=lllllllln>

('max=net eth_/" anchor  n depforced_[ro">SFQ_MAX_DEPTHoforced_[ro"eth_++ c12lass125omme        turn=net/4iode=u3me4=net/scode=perturb_perio4  >
 44rn=net/scode=================gotoi	d/sch_sfq.c#s"co >
 ta><_[ro">SFQ_MAX_DEPTHoco >
 ta><_[ro"_dat1.137
  42.>ca44 >
  v2.6.31.1"L4" cl1.137
  v2.>ca4">tim446n=net/scode=1.137
  42. >
44ve<}3.137
  v24 >
  448urn=net/scodtFQ_net/scode=ht  > owslotsomme	       "> *
sso n cks6_indexomme turn=neth_sfqpan>
 *

 ta><_[ro">SFQ_MAX_DEPTHoco >
 ta><_[ro"_dat:.118 *
 >
 h=_d[ro">SFQ_MAX_DEPTHo >
 h=_d[ro"_datan>
indexomme turn=neth_) c1llasso th-51_SHIched/sch_sfq.4i"L4" cla4sched/sch_sfq.c#L4" id="44" cl451n=net/scode=================ass="13net/scode=ht  >>   1_[ro">SFQ_MAX_DEPTHo>   1_[ro"_datan>
caf">cks6>
  v2.>caf">in 24  4
  v2.>caf">valomme4<e45rn=net/scode=========sfq.c#L4" id="Ld=_data  >
  v2.>cad=_d_dat =3net/scode=ht  >lows_et3" cl_d=_data  >
  v2.>caf5.3/et3" cl_d=_d_datan>
 *
  v45 >
  v2.6.31.1"L4" clnet/scode=ht  >delf">qomme, turn=nedelf"_dat =3net/scode=ht  >>   1_pkt_sso n cks6

  v2.>cad=_d_dat) -3net/scode=ht  >>   1_pkt_sso n cks6
caf">cks64cdex  n ht[])n"/e ch	d/ssfqpan>
('maxk=net eth_/" anchor  n depbackloglotsomme	      backlogn=net-=3net/scode=ht  >delf">qomme, turn=nedelf"_dat1.137
 *
delf">qomme, turn=nedelf"_dat1.137
  v2.1 4
  1245       turn=n
   1_[ro">SFQ_MAX_DEPTHo>   1_[ro"_datan>

  v2.>cad=_d_dat, sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s 1.13745an c90 "> /3" cl_addlotsomme	       "> /3" cl_add_datan>
 *caf">cks6NET_XMIT_CNtable>('maxNET_XMIT_CN_dat1.137
d as leafl4 PuCB46rmsetmee*turn1.137   54<46rn=nenet/scode=ht  >en3" cl>qomme, turn=neen3" cl_dat:.118 *
('maxk=net eth_/" anchor  n depbackloglotsomme	      backlogn=net+=3net/scode=ht  >>   1_pkt_sso n cks6
caf">cks6
  v2=owslotsomme	       "> *
>   1_pkt_sso n cks6
caf">cks6lows/3" cl_addlotsomme	       "> /3" cl_add_datan>
 *caf">cks6
  v2. >4
  v246       turn=net/scode=n id=">#L4" c>caf">cks6
 " c_datan>
indexomme turn=neth_code=val  >
  v2.lomme)d/sch_sfq.xle>") c12lass125omme        turn=net/4fenm is1 4rIMPLEMENTATION:et/sched4/sch_469>
  v2.6.31.tFQ_net/scode=ht  > owslotsomme	       "> *
sso n cks6_indexomme turn=neth_sfqpan>
NULLtable>('maxNULLspan)31==n whi  hputo nterthodvassItais the first flow /a> owslotsomme	       "> *
   1lomme)d/sch_sfq.xle>"hc15lass15commeng" aleturn=net/s4_sfffffff4f-imax mtu"to 2^18-1	et/4sched47rmsetmee*turn  *turn=} else31.118 *
 *
   1>indexomme turn=neth_sfqpan>
crrent sloto n ro thrren_datsfqpan>
c" nam0me="L1">   1>indexomme turn=neth_sfqpan>
crrent sloto n ro thrren_datsfqpan>
c" nam0me="L1">   1lomme)d/sch_sfq.xle>"hc15lass15commeng" aleturn=net/s4_L4" id="4="7li25.3"
7	  >
  v2. >4
  v247 >
  v2.6.31.1"L4" cl1.137
47detmeeturn=ne  *turn=n whi  hputo nterthodvassWe put this flow at the end of our flow clas.>
  v2. >4
  v2472.>can whi  hputo nterthodv=================ssThis might sound unfairdforQa newaflow to wait after old1ones,>caf">SF4Q_MAX47.31.5, whi  hputo nterthodv=================ssbut we could1endup servicing newaflows1only,8a i freeze old1ones.>caf4">SFQ47an c9, whi  hputo nterthodv=================sa>caf">SF4Q_MAX48       turn=n1"L4" clnet/scode=ht  >_indexomme turn=neth_sfqpan>

 *caf">S4FQ_EM481n=net/scode=========n whi  hputo nterthodvassWe could1use3a bigger inisial quantumdforQnewaflows1sa>c48rmsetmee*turn  *turn=n>
 *
>indexomme turn=neth_sfqpan>
cscaled_quantumex  n ht[])n"/e caled_quantum*   44<483n=net/scode=1.137
 16 bits"to store>allo4t,hre48rn=net/scode=tFQ_++e=cur_depth  >
>cdex  n ht[])n"/e ch	d/ssfqpan>
sso n cks6_indexomme turn=neth_sfqpan>
caf">4SFQ_A48f=/" Linkef 6net/scode=ht  >>sso n cks6
 *
sso n cks6caf">S4FQ_AL48       turn=net/scode=n id=">#L4[ro">SFQ_MAX_DEPTHo >
 [ro"_datan>
   14<48       *turn=n whi  hputo nterthodvassRss="13Co >
 ta>< Notificata>< only=tFQwe [ro"ped3a packet>caf">u16ommeeturn4=net/49     , whi  hputo nterthodv=========*a>   34<49rmsetmee*turnSFQ_net/scode=ht  >>sso n cks6
 *
sso n cks6NET_XMIT_CNtable>('maxNET_XMIT_CN_dat1.137followpan>form>sn[SFQ_4MAX_F49turn=net/scode=flags  >
  v2/   1_tree_decrease_>sso n cks6sso_datan>
   c4f/a><49an c90  5ceast50     =net/scetmee*turn=net/scode=q 
  v2.>caf">cks6u16ommeeturn5dexom50     et/scode=n id=">#L4[e3" cl>qomme, turn=net/sc[e3" cl_datat/scode=cks6caf">cks6 *
 5 4 >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/s =3net/scode=ht  >>   1_priv>qomme, turn=ne>   1_priv2.6.(sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s.17
  v2.>caf">cks6caf">cks6sn[0 ... SFQ_MAX5k_buf50turn=net/scode=cur_depth  >
>
  ">valomme)d/sch_sfq.c#L4" id="L4" class="15line" ">qomme, turn=neaeth_code=val  >
  v2./a><_">qomme, turn=ne/a><_"span17followpan>form>sn[SFQ_5k_buf50detmeeturn=ne=net/scode=filter_6 >
 ">clotsomme	         tt"> *
 *   c5cla_h509>
  v2.6.31.tFQ_net/scode=ht  >_indexomme turn=neth_sfqpan>
NULLtable>('maxNULLspan)c15lass15commeng" aleturn=net/s5hort  tur5=net/scode=eueh  >
  v2.5caf">51       turn=n1"L4" class="13net/scode=ht  >NULLtable>('maxNULLspan c12lass125omme        turn=net/5      tur5=net/scode=allot  >
  v25>caf"51span c13lass132omme        structetu5hd="L4" c5s="11line" na11me="L3"> 5 3
  v2./a><_lowslotsomme	      /a><_lows_dat:.118 *

  52.>ca513n=net/scode=class="15line" ">qomme, turn=neaeth_ =3net/scode=ht  >>indexomme turn=neth_sfqpan>
crrent sloto n ro thrren_datsfqpan>
c" nam0me="L1">   1
  v2.>caf"5d/o_v51rn=net/scode=n>
 *
  v2.>caf">cla_indexomme turn=neth_sfqpan>
('maxflows&# 1]	d/sch_sfq.c#s"">qomme, turn=neaeth_31.137
  52. >
51 >
  v2.6.31.tFQ_net/scode=ht  > owslotsomme	       "> *
 *

  v25 >
  51detmeeturn=ne  *turn=net/scode=ht  >_indexomme turn=neth_sfqpan>

 *
  v2.>caf">c5a_s i51f=/" Linkef 6 owslotsomme	       "> *
>indexomme turn=neth_sfqpan>
cscaled_quantumex  n ht[])n"/e caled_quantum*
d fieldsn"/et5sched51       turn=n<_lowslotsomme	      /a><_lows_dathc15lass15commeng" aleturn=net/s5i9L4" cla5=net/scode=limih  >
  v25>caf"519>
  v2.6.31.1.137
  52.>ca52       turn=net/scode=n id="l" >caf">cks6lows_et3" cl_d=_data  >
  v2.>caf5.3/et3" cl_d=_d_datan>
 *caf">u8omme      5     52       turn=net/scode=n id=">#L4[ec>caf">cks6
 [ec_datan>
indexomme turn=neth_code=val  >
  v2.">qomme, turn=neaeth_ 1.137caf">u8omme      5     52rmsetmee*turnnet/scode=ht  >>   1_b=net _upa_il>qomme, turn=ne>   1_b=net _upa_il_datan>
caf">cks6 5 4cdex  n ht[])n"/e ch	d/ssfqpan>
sso n cks6  >caf">u32omme    5     52rn=net/scode=n>

('maxk=net eth_/" anchor  n depbackloglotsomme	      backlogn=net-=3net/scode=ht  >>   1_pkt_sso n cks6
caf">cks6caf">u8omme      5     52turn=net/scode=cur_depth  >
>owslotsomme	       "> *
>   1_pkt_sso n cks6
caf">cks6caf">u8omme      5     52detmeeturn=nen whi  hputo nterthodvassIs the 25.38empty? *a>
 52f=/" Linkef 6tFQ_net/scode=ht  > owslotsomme	       "> *
sso n cks6 *

  v2.>caf5>tcf_52       turn=n
indexomme turn=neth_sfqpan>
cham0me="L1">   1 *
L5">EMPTY_SLOTex  n ht[])n"/eL5">EMPTY_SLOTspan1.137
  v2.>caf">cla_i5dexom529>
  v2.6.31.1"L4" clde=val  >
  v2./a><_">qomme, turn=ne/a><_"span ==n>
 *
   1
  v2.>caf"5cla_s53       turn=n1"L4" cltFQ_net/scode=ht  >">qomme, turn=neaeth_ ===n>
<_">qomme, turn=ne/a><_"span)31.118 *
 5 2_indexomme turn=neth_sfqpan>

('maxNULLspan en whi  hputo nterthodvassno more ac/avei25.3s *a>
  v2.>caf5>d/o_5armsetmee*turn  *turn=1"L4" class="13net/scode=ht  >4" >caf">cks6
  v5.>caf533n=net/scode===== rn=1.137
  v2.>caf"5cla_s53rn=net/scode=========net/scode=ht  >>indexomme turn=neth_sfqpan>
crrent sloto n ro thrren_datsfqpan>
c" nam0me="L1">   1
<_">qomme, turn=ne/a><_"span17
  v25 >
  53 >
  v2.6.31.} else31.118 *

  >
  v2.>caf"5cla_h53detmeeturn=ne  *turn=net/scode=ht  > owslotsomme	       "> *
L5">ALLOT_SIZEex  n ht[])n"/eL5">ALLOT_SIZE_datan>
   1_pkt_sso n cks6
caf">cks6 *4" >caf">cks6
  1.137 5 3
  v2.r>
 reseslotsomme	      r>
 reses_datat/scode=cks6caf">cks6
 5v2.>c543n=ne1.118 *

 54rn=net/scode==net/scode=filter_6
  v2.>caf">cks6caf">cks6
  52.>ca54 >
  7
  v2.>ca5">tim546n=net/scode=while (an>
caf">cks6l  t[e3" cl>qomme, turn=net/sc[e3" cl_datasfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s ) !==n>
('maxNULLspan)c15lass15commeng" aleturn=net/s5iort  tur5ass="148i25.3"
148  >
  52. >
54f=/" Linkef 6kfree_l" >caf">cks6
caf">cks6
  v25 >
  54     1.137>
  v2.>caf">in 25  4
  v2.>caf">valomme5<e55rn=ne, whi  hputo nterthodv=* counters.>
  v55 >
  , whi  hputo nterthodv=*a>l  tret/sclotsomme	      r>
 ret/sched/at/scode=cks6caf">cks6 *

  v2.1 5
  1255       turn=n=net/scode=filter_6 >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/s =3net/scode=ht  >>   1_priv>qomme, turn=ne>   1_priv2.6.(sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s.17559n=net/scode==net/scode=filter_6
  v2.>caf">cks6caf">cks6caf">cks6 >
 ">clotsomme	         tt"> *
 *
d as leafl5 PuCB56rmsetmee*turn=net/scode=filter_6
  v2._d=_data  >
  v2.>caf
  v2._d=_dmsetmode=filter_6
  v2.>caclas*
  v2.>ca[ro"pedet/s =30 c12lass125omme        turn=net/5_ode=u3me5="6line" na6me="L5">   55<56rn=ne.137
  v2.>ca__l" _3" cl_d=_d_inis2.6.(9io >
  v2.>caf">claclasata  >
  v2.>caclas*cks6cks6_indexomme turn=neth_sfqpan>
cks6 *

  v2. >5
  v256       turn=n
 *
  v2.>caf">cla_indexomme turn=neth_sfqpan>
('maxflows&# 1]	d/sch_sfq.c#s"i>caf">cks6
  v2.6.31.1"L4" cltFQ_!net/scode=ht  > owslotsomme	       "> *
sso n cks6 owslotsomme	       "> *
sso n cks6 *

caf">cks6lows_et3" cl_d=_data  >
  v2.>caf5.3/et3" cl_d=_d_datan>
 *
caf">cks6
 [ec_datan>
indexomme turn=neth_code=val  >
  v2.i>caf">cks6__l" _3" cl_rrent sloto n ro th__l" _3" cl_rren2.6.(9io >
  v2.>caf">claclasata  >
  v2.>caclas*caf">cks6
  v2. >5
  v257 >
  v2.6.31.1"L4" cl1.137
57detmeeturn=ne  *turn=net/scode=ht  > owslotsomme	       "> *

  v2. >5
  v257f=/" Linkef 6red_setlvae table>('maxred_setlvae 2.6.(9io >
  v2.>caf">clalowslotsomme	       "> *
('maxvae _dat 1.137caf">SF5Q_MAX57       turn=n
indexomme turn=neth_sfqpan>
cham0me="L1">   1 *
L5">EMPTY_SLOTex  n ht[])n"/eL5">EMPTY_SLOTspan1.137caf5">SFQ579>
  v2.6.31.1.137caf">SF5Q_MAX58       turn=net/scode=n id="_indexomme turn=neth_sfqpan>

('maxNULLspan .137caf">S5FQ_EM58span c13lass132omme        structetu5dsfffffff5FAULT_HASH_DIVISORsults"5
	 >c58rmsetmee*turnwhile (an>
caf">cks6__l" _[e3" cl>qomme, turn=ne__l" _[e3" cl2.6.(9io >
  v2.>caf">claclasata  >
  v2.>caclas*
('maxNULLspan)31.118 *
   45<583n=net/scode===== lllunsignedninscode=filter_6l  tt/sclotsomme	      r>
 t/sched/an>
indexomme turn=neth_code=val  >
  v2.l" >caf">cks6
 16 bits"to store>allo5t,hre58rn=net/scode=========net/scode=ht  >>
  ">valomme)d/sch_sfq.c#L4" id="L4" class="15line" lomme)d/sch_sfq.xle>" =3net/scode=ht  >>indexomme turn=neth_sfqpan>
cham0me="L1">   1 owslotsomme	       "> *
  v2.>caf">cla_indexomme turn=neth_sfqpan>
('maxflows&# 1]	d/sch_sfq.c#s"lomme)d/sch_sfq.xle>"]1.137caf">5SFQ_A58f=/" Linkef 6lomme)d/sch_sfq.xle>" ==3net/scode=ht  >L5">EMPTY_SLOTex  n ht[])n"/eL5">EMPTY_SLOTspan)31.118 *caf">S5FQ_AL58       turn=nlomme)d/sch_sfq.xle>" =3net/scode=ht  >>indexomme turn=neth_sfqpan>
cde">SFQ_MAX_DEPTHode"&# 1]0]/" anchor  n dep" nam0me="L1">   1   15<589>
  v2.6.31.1"L4" cllllllllltFQ_net/scode=ht  >lomme)d/sch_sfq.xle>" fqpa=3net/scode=ht  >L5">MAX_FLOW15line" na1mme="L5">MAX_FLOW1span)31.118 *

  v2.>ca[ro"    :v2.6.31.1"L4" clllllllllrn=net/scode=ht  > cdex  n ht[])n"/e ch	d/ssfqpan>
('maxk=net eth_/" anchor  n depbackloglotsomme	      backlogn=net-=3net/scode=ht  >>   1_pkt_sso n cks6
caf">cks6caf">u16ommeeturn5=net/591n=net/scode=========================n>
caf">cks6
caf">cks6   35<59rmsetmee*turn  *turn=

  v2.>ca[ro"pedet/s++ c12lass125omme        turn=net/5L="""""""5hed/sch_sfq.c#L2" id="L25" cla593n=net/scode===== rn=================continue1.137>indexomme turn=neth_sfqpan>
cham0me="L1">   1lomme)d/sch_sfq.xle>"hc15lass15commeng" aleturn=net/s5Lenm is f5e>followpan>form>sn[SFQ_5MAX_F59detmeeturn=ne  *turn=========n>
 *
  v2.>caf">cla_indexomme turn=neth_sfqpan>
('maxflows&# 1]	d/sch_sfq.c#s"lomme)d/sch_sfq.xle>"]1.137 *
(index  n ht[])n"/et/sched/1.137   c5f/a><599>
  v2.6.31.1"L4" cltFQ_net/scode=ht  > owslotsomme	       "> *
sso n cks6_indexomme turn=neth_sfqpan>
  6ceast60       turn=n1"L4" clllllllllgotoi	d/sch_sfq.c#s"[ro"ata  >
  v2.>ca[ro"    1.137caf">u16ommeeturn6dexom601n=net/scode=========net/scode=ht  >lows_3" cl_addlotsomme	       "> /3" cl_add_datan>
 *caf">cks6_indexomme turn=neth_sfqpan>
('maxred_parm span).137 *
('maxvae _dat/" anchor  n dep>avglotsomme	      >avghed/ =3net/scode=ht  >red_calc_>avglotsomme	      red_calc_>avghed/an>
indexomme turn=neth_sfqpan>
('maxred_parm span,.137
  v2.>caf">clalowslotsomme	       "> *
('maxvae _dat,.137sn[0 ... SFQ_MAX6k_buf60 >
  v2.6.31.1"L4" cl====rn=n1"L4" cl============ llllllllllln>
 *
followpan>form>sn[SFQ_6k_buf60detmeeturn=ne  *turn=net/scode=ht  > owslotsomme	       "> *
>   1_pkt_sso n cks6
caf">cks6 #L4" c>caf">cks6
 " c_datan>
indexomme turn=neth_code=val  >
  v2.lomme)d/sch_sfq.xle>") c12lass125omme        turn=net/6=8L4" cla6shed/sch_sfq.c#L4" id="L6dexom60       turn=n owslotsomme	       "> *
sso n cks6   c6cla_h609>
  v2.6.31.1"L4" cllllllllltFQ_net/scode=ht  >_indexomme turn=neth_sfqpan>
NULLtable>('maxNULLspan)31==n whi  hputo nterthodvassItais the first flow /a>
  v2.6caf">61       turn=n1"L4" cleturn=ne  *turn=net/scode=ht  > owslotsomme	       "> *
   1lomme)d/sch_sfq.xle>"hc15lass15commeng" aleturn=net/s6      tur6=net/scode=allot  >
  v26>caf"611n=net/scode=================} else31.118 *
 6 3
 *
   1>indexomme turn=neth_sfqpan>
crrent sloto n ro thrren_datsfqpan>
c" nam0me="L1">   1
  62.>ca613n=net/scode===== rn=================net/scode=ht  >>indexomme turn=neth_sfqpan>
crrent sloto n ro thrren_datsfqpan>
c" nam0me="L1">   1lomme)d/sch_sfq.xle>"hc15lass15commeng" aleturn=net/s6 4="L4" c6e=d/o_vars  >
  v2.>caf"6d/o_v61rn=net/scode=================1.137
  62. >
61 >
  v2.6.31.1"L4" cl====rn=nnet/scode=ht  >>indexomme turn=neth_sfqpan>
crrent sloto n ro thrren_dat =ln>
 *
  v26 >
  61detmeeturn=ne  *turn=========n>
 *
>indexomme turn=neth_sfqpan>
cscaled_quantumex  n ht[])n"/e caled_quantum*
  v2.>caf">c6a_s i61f=/" Linkef 6
d fieldsn"/et6sched61       turn=n1.137
  v26>caf"619>
  v2.6.31.net/scode=ht  > cdex  n ht[])n"/e ch	d/ssfqpan>
sso n cks6dro"pedata  >
  v2.>ca[ro"pedet/shc15lass15commeng" aleturn=net/s6nt    tur6=net/scode=divisor  >
  62.>ca62       turn=net/scode=n id="/   1_tree_decrease_>sso n cks6sso_datan>
dro"pedata  >
  v2.>ca[ro"pedet/s) c12lass125omme        turn=net/6n     tur6
  v2.>caf">u8omme      6     62     1.137caf">u8omme      6     62rmset.137 6 4l  tpers="bata><>caf">cks6
 pers="bata><_dataunsignednlongode=val  >
  v2."rglotsomme	      "rgspan).137  >caf">u32omme    6     62rn=ne1.118 *
caf">u8omme      6     62turn=net/scodt/scode=cks6caf">cks6caf">cks6
  v2."rglotsomme	      "rgspan c12lass125omme        turn=net/6n.ix_pude6
  v2.>caf">u8omme      6     62detmeeturn=ne=net/scode=filter_6 >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/s =3net/scode=ht  >>   1_priv>qomme, turn=ne>   1_priv2.6.(sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s.17
 62f=/" Linkef 6net/scode=ht  >lpinlock_slotsomme	       pinlock_sdex  >
  v2.>caf">claroot_locktable>('maxroot_locket/s =3net/scode=ht  >>   1_locktable>('max>   1_lock_datan>
   1_root_sleepinglotsomme	      >   1_root_sleeping2.6.(sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s..17
  v2.>caf6>tcf_62     7
  v2.>caf">cla_i6dexom629>
  v2.6.31.net/scode=ht  > pin_locktable>('max pin_lock2.6.(sfq.c#L4" id="Lroot_locktable>('maxroot_locket/s.17
  v2.>caf"6cla_s63       turn=net/scode=n id="_indexomme turn=neth_sfqpan>
cks6<_dat =ln>
 6 2_indexomme turn=neth_sfqpan>

  v2.>cafilter_clased/s fio >fio >nnet/scode=ht  >>indexomme turn=neth_sfqpan>
crrent sloto n ro thrren_dat).137
  v2.>caf6>d/o_6armsetmee*turn  *turn=ode=filter_6 >
ret/sclotsomme	      r>
 ret/sched/asfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s.17
  v6.>caf633n=net/scode=class="15line" >pin_unlocktable>('max pin_unlock2.6.(sfq.c#L4" id="Lroot_locktable>('maxroot_locket/s.17
  v2.>caf"6cla_s63rn=ne.137
  v26 >
  63 >
  v2.6.31.tFQ_net/scode=ht  >_indexomme turn=neth_sfqpan>

  >
  v2.>caf"6cla_h63detmeeturn=ne  *turn=net/scode=ht  >mod_timerl Pulongest slomod_timer2.6.(9io >
  v2.>caf">cla_indexomme turn=neth_sfqpan>
jiffie table>('maxjiffie n=net+net/scode=n id="_indexomme turn=neth_sfqpan>
 *
  =net/scinscode=filter_6
 changelotsomme	      r>
 change>caf">cks6 *
 >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/s =3net/scode=ht  >>   1_priv>qomme, turn=ne>   1_priv2.6.(sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s.17 6 3
  v2.>catc;/sc_qopsdex  >
  v2.>caf">clactnt sloto n ro thctn_dat =ln>
caf">qomme, turn=ne/la>caf"2.6.(sfq.c#L4" id="Lopsata  >
  v2.>caops_dat)17
 6v2.>c643n=net/scode==net/scode=filter_6
  v2.>catc;/sc_qops_v1dex  >
  v2.>caf">clactn_v1ata  >
  v2.>cactn_v1_dat =ln>
('maxNULLspan .137
 64rn=net/scode=unsignedninscode=filter_6sso n cks6
  62.>ca64turn=net/scodt/scode=cks6('maxred_parm span >
  v2.>caf">cla"ata  >
  v2.>cap_dat =ln>
('maxNULLspan .137
  v2.>ca6">tim646n=nec15lass15commeng" aleturn=net/s6iort  tur6ass="148i25.3"
148  >
  62. >
64f=/" Linkef 6tFQ_net/scode=ht  >opsata  >
  v2.>caops_datsfqpan>
c"la>sso n cks6ssoed/s flpa3net/scode=ht  >"la>attr_sizelotsomme	      "la>attr_size>
  v2.>caf">clactnt sloto n ro thctn_dat))).137
  v26 >
  64       turn=nclaEINVALtable>('maxEINVALspan .137
  v2.6.31.tFQ_net/scode=ht  >opsata  >
  v2.>caops_datsfqpan>
c"la>sso n cks6ssoed/s fqpa=3net/scode=ht  >"la>attr_sizelotsomme	      "la>attr_size>
  v2.>caf">clactn_v1ata  >
  v2.>cactn_v1_dat))).137caf">clactn_v1ata  >
  v2.>cactn_v1_dat =ln>
caf">qomme, turn=ne/la>caf"2.6.(sfq.c#L4" id="Lopsata  >
  v2.>caops_dat)17caf">clactnt sloto n ro thctn_datsfqpan>
cdivisorl Pulongest slodivisored/s fio >fio >7>
  v2.>caf">in 2is_power_of_2l Pulongest slois_power_of_22.6.(sfq.c#L4" id="Lctnt sloto n ro thctn_datsfqpan>
cdivisorl Pulongest slodivisored/s) ||l
  v2.>caf">clactnt sloto n ro thctn_datsfqpan>
cdivisorl Pulongest slodivisored/s fqpau65536)).1376  4caf">claEINVALtable>('maxEINVALspan .137
  v2.>caf">valomme6<e654n=net/scode=tFQ_
  v2.>caf">clactn_v1ata  >
  v2.>cactn_v1_dat fio >fio >nnet/scode=ht  >ctn_v1ata  >
  v2.>cactn_v1_datsfqpan>
 *

  v65 >
  v2.6.31.1"L4" cl
  v2.>caf">cla"ata  >
  v2.>cap_dat =ln>
caf">cks6
  v2.>caf">cla"ata  >
  v2.>cap_dat), net/scode=ht  >GFP_KERNELtable>('maxGFP_KERNEL_dat)17"ata  >
  v2.>cap_dat)7claENOMEMtable>('maxENOMEMspan .137
  v2.1 6
  1265       turn=n1.137659>
  v2.6.31.net/scode=ht  > cd_tree_locktable>('max cd_tree_lock2.6.(sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s.17caf">clactnt sloto n ro thctn_datsfqpan>
cquantumex  n ht[])n"/equantum* *

cquantumex  n ht[])n"/equantum*
d as leafl6 PuCB66rmsetmee*turn  *turn=ode=filter_6indexomme turn=neth_sfqpan>
cscaled_quantumex  n ht[])n"/e caled_quantum*L5">ALLOT_SIZEex  n ht[])n"/eL5">ALLOT_SIZE_datan>
indexomme turn=neth_sfqpan>
   56<66rn=net/scode=n>



cpers="b periodata  >
  v2.>capers="b period_dat *ln>

  v2.>caHZ*
  v2.6.31.tFQ_net/scode=ht  >ctnt sloto n ro thctn_datsfqpan>
cflowsindexomme turn=flowsspan)7_indexomme turn=neth_sfqpan>


ctnt sloto n ro thctn_datsfqpan>
cflowsindexomme turn=flowsspan, net/scode=ht  >L5">MAX_FLOW15line" na1mme="L5">MAX_FLOW1span)17ctnt sloto n ro thctn_datsfqpan>
cdivisorl Pulongest slodivisored/s) 1.118 *

  v2. >6
  v266       turn=n
indexomme turn=neth_sfqpan>
cdivisorl Pulongest slodivisored/s =ln>

cdivisorl Pulongest slodivisored/s17
  v2.6.31.1"L4" clnet/scode=ht  >_indexomme turn=neth_sfqpan>


_indexomme turn=neth_sfqpan>
_indexomme turn=neth_sfqpan>
caf">clactn_v1ata  >
  v2.>cactn_v1_dat) 1.118 *
caf">clactn_v1ata  >
  v2.>cactn_v1_datsfqpan>
cde"thl Pulongest slodepthspan).137



ctn_v1ata  >
  v2.>cactn_v1_datsfqpan>
cde"thl Pulongest slodepthspan, net/scode=ht  >L5">MAX_DEPTH5line" na1mme="L5">MAX_DEPTHed/s)17caf">cla"ata  >
  v2.>cap_dat) 1.118 *

  v2. >6
  v267 >
  v2.6.31.1"L4" cllllllllln>

  v2.>caswa"_datan>
indexomme turn=neth_sfqpan>
('maxred_parm span,l
  v2.>caf">cla"ata  >
  v2.>cap_dat)17
67detmeeturn=ne  *turn=lllllllln>
('maxred_setlparm _datan>
indexomme turn=neth_sfqpan>
('maxred_parm span,7
  v2. >6
  v267f=/" Linkef 6

  v2.>cactn_v1_datsfqpan>
ctn_v1ata  >
  v2.>cactn_v1_datsfqpan>
c/th_malomme)d/sch_sfq./th_malspan,7caf">SF6Q_MAX67       turn=n

  v2.>cactn_v1_datsfqpan>
caf6">SFQ679>
  v2.6.31.1"L4" clllllllll*turn=lllllllln>

  v2.>cactn_v1_datsfqpan>


  v2.>cactn_v1_datsfqpan>
caf">SF6Q_MAX68       turn=n1"L4" cleturn=ne  *turn=lllllln>
('maxNULLspan,7caf">S6FQ_EM681n=net/scode=========================lllllln>

  v2.>cactn_v1_datsfqpan>
c68rmsetmee*turn  *turn=1.137   46<683n=net/scode===== llln>
indexomme turn=neth_sfqpan>


  v2.>cactn_v1_datsfqpan>

 16 bits"to store>allo6t,hre68rn=net/scode=========net/scode=ht  >>indexomme turn=neth_sfqpan>
chead[ro"ata  >
  v2.>cahead[ro"ed/s =ln>

  v2.>cactn_v1_datsfqpan>

  v2.>cahead[ro"ed/s17allotion>8 (1<<36) soh68 >
  v2.6.31.}7ctnt sloto n ro thctn_datsfqpan>
climisata  >
  v2.>calimis_dat) 1.118 *
caf">6SFQ_A68f=/" Linkef 6>indexomme turn=neth_sfqpan>
climisata  >
  v2.>calimis_dat =ln>

ctnt sloto n ro thctn_datsfqpan>
climisata  >
  v2.>calimis_dat, net/scode=ht  >_indexomme turn=neth_sfqpan>


caf">S6FQ_AL68       turn=n_indexomme turn=neth_sfqpan>


_indexomme turn=neth_sfqpan>
_indexomme turn=neth_sfqpan>

  v2.>calimis_dat)17   16<689>
  v2.6.31.1.137caf">u16ommeeturn6=net/691n=net/scode=net/scode=ht  >_sso n cks6 cdex  n ht[])n"/e ch	d/ssfqpan>
sso n cks6   36<69rmsetmee*turnwhile (net/scode=ht  > cdex  n ht[])n"/e ch	d/ssfqpan>
sso n cks6_indexomme turn=neth_sfqpan>

  v2.>calimis_dat)7 >
 [ro"ata  >
  v2.>ca >
 [ro"_datan>

sso n cks6sso_datan>
>sso n cks6 cdex  n ht[])n"/e ch	d/ssfqpan>
sso n cks6sn[0 ... SFQ_MAX6_FLOW69 >
  7followpan>form>sn[SFQ_6MAX_F69detmeeturn=nen>
cdel timerl Pulongest slodel timer_data9io >
  v2.>caf">cla_indexomme turn=neth_sfqpan>
_indexomme turn=neth_sfqpan>
 *


  v2.>caf">cla_indexomme turn=neth_sfqpan>
jiffie table>('maxjiffie n=net+net/scode=n id="_indexomme turn=neth_sfqpan>
   c6f/a><699>
  v2.6.31.1"L4" clet/scode=n id="_indexomme turn=neth_sfqpan>
cks6<_dat =ln>
  7ceast70       turn=n1.137caf">u16ommeeturn7dexom701n=net/scode=net/scode=ht  > cd_tree_unlocktable>('max cd_tree_unlock_datan>



  v2.>cap_dat)17sn[0 ... SFQ_MAX7k_buf70 >
  7followpan>form>sn[SFQ_7k_buf70detme=net/scvoid3_sfq.c#L4" id="L4>
 alow1>caf">cks6
 alow1_datan>

 *
caf">cks6
GFP_KERNELtable>('maxGFP_KERNEL_dat |l
  v2.>caf">cla__GFP_NOWARNtable>('max__GFP_NOWARN_dat)17   c7cla_h709>
  7
  v2.7caf">71       turn=niFQ_!net/scode=ht  >"trl Pulongest sloptred/s)7
  v27>caf"711n=net/scode=========sfq.c#L4" id="Lptrl Pulongest sloptred/s =ln>
caf">cks6
 7 3
  72.>ca713n=ne1.137
  v2.>caf"7d/o_v71rn=ne.137
  72. >
71 >
  =net/scvoid3net/scode=ht  >l  tfreeex  n ht[])n"/el  tfree>
  v27 >
  71detme1.118 *

  v2.>caf">c7a_s i71f=/" Linkef 6tFQ_net/scode=ht  >ad[rex  n ht[])n"/ead[red/s) 1.118 *

d fieldsn"/et7sched71       turn=nis_vmalow1_ad[rex  n ht[])n"/eis_vmalow1_ad[r>

  v27>caf"719>
  v2.6.31.1"L4" cllllllllln>


  72.>ca72       turn=n1"L4" clelse7caf">u8omme      7     721n=net/scode=================n>

caf">u8omme      7     72rmsetmee*turn1.137 7 4  >caf">u32omme    7     72rn=ne.137caf">u8omme      7     72 >
  =net/scvoid3net/scode=ht  >l  tdestroyata  >
  v2.>ca >
 [estroy_datat/scode=cks6caf">cks6caf">u8omme      7     72detme1.118 *

 72f=/" Linkef 6=net/scode=filter_6 >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/s =3net/scode=ht  >>   1_priv>qomme, turn=ne>   1_priv2.6.(sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s.17
  v2.>caf7>tcf_72     7
  v2.>caf">cla_i7dexom729>
  v2.6.31.net/scode=ht  >tcf [estroy chaio n cks6
  v2.>caf">cla_indexomme turn=neth_sfqpan>

  v2.>cafilter_clased/s.17
  v2.>caf"7cla_s73       turn=net/scode=n id="_indexomme turn=neth_sfqpan>
 7 2del timer_sy c>caf">cks6
  v2.>caf">cla_indexomme turn=neth_sfqpan>

  v2.>caf7>d/o_73rmsetmee*turnn>
caf">cla_indexomme turn=neth_sfqpan>
   1
  v7.>caf733n=net/scode=class="15line" >  tfreeex  n ht[])n"/el  tfree>caf">cla_indexomme turn=neth_sfqpan>
('maxflows&# 1.17
  v2.>caf"7cla_s73rn=net/scode=n>


('maxred_parm span)17
  v27 >
  73 >
  1.137
  >
  v2.>caf"7cla_h736n=nec15lass15commeng" aleturn=net/s7n7L4" cla7            tt"> *
 inisata  >
  v2.>car>
 inis_datat/scode=cks6caf">cks6 *

  v2.6.31.=net/scode=filter_6 >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/s =3net/scode=ht  >>   1_priv>qomme, turn=ne>   1_priv2.6.(sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s.17 7 3

<>caf">cks6s  tpers="bata><>caf">cks6
 pers="bata><_dat17
 7v2.>c743n=net/scode=class="15line" _indexomme turn=neth_sfqpan>
qomme, turn=nea_index  = aunsignednlong)de=val  >
  v2.4cdex  n ht[])n"/e ch	d/s17
 74rn=net/scode=n>

  v2.>caf">cla_indexomme turn=neth_sfqpan>

  72.>ca74 >
  7
  v2.>ca7">tim74detmeeturn=neforQ_net/scode=ht  >iex  n ht[])n"/eied/s =l0 code=filter_6L5">MAX_DEPTH5line" na1mme="L5">MAX_DEPTHed/s + 1 code=filter_6 *

  72. >
74f=/" Linkef 6>indexomme turn=neth_sfqpan>
cde"ata  >
  v2.>ca[ep_dat]	d/sch_sfq.c#s"iex  n ht[])n"/eied/s]/" anchor  n dep" nam0me="L1">   1iex  n ht[])n"/eied/s +net/scode=n id="L5">MAX_FLOW15line" na1mme="L5">MAX_FLOW1span17
  v27 >
  74       turn=n>indexomme turn=neth_sfqpan>
cde"ata  >
  v2.>ca[ep_dat]	d/sch_sfq.c#s"iex  n ht[])n"/eied/s]/" anchor  n depprev>qomme, turn=neprevspan =3net/scode=ht  >iex  n ht[])n"/eied/s +net/scode=n id="L5">MAX_FLOW15line" na1mme="L5">MAX_FLOW1span17
  v2.6.31.1.137_indexomme turn=neth_sfqpan>
climisata  >
  v2.>calimis_dat =ln>
MAX_DEPTH5line" na1mme="L5">MAX_DEPTHed/s17>
  v2.>caf">in 2


MAX_DEPTH5line" na1mme="L5">MAX_DEPTHed/s177  4

  v2.>caf">valomme7<e75rn=net/scode=n>


('maxNULLspan .137
  v75 >
  v2.6.31.net/scode=ht  >>indexomme turn=neth_sfqpan>
cdivisorl Pulongest slodivisored/s =ln>
DEFAULT_HASH_DIVISOR5line" na1mme="L5">DEFAULT_HASH_DIVISORspan .137
c_indexomme turn=neth_sfqpan>

DEFAULT_FLOW15line" na1mme="L5">DEFAULT_FLOW1span .137_indexomme turn=neth_sfqpan>

qomme, turn=nepode=clmtu_datan>
qomme, turn=ne_   1_dev2.6.(sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s..17
  v2.1 7
  1275       turn=n
  v2.>caf">cla_indexomme turn=neth_sfqpan>
L5">ALLOT_SIZEex  n ht[])n"/eL5">ALLOT_SIZE_datan>
indexomme turn=neth_sfqpan>
759>
  v2.6.31.net/scode=ht  >_indexomme turn=neth_sfqpan>
cks6<_dat =ln>

d as leafl7 PuCB76rmsetmee*turntFQ_net/scode=ht  >opsata  >
  v2.>caops_dat) 1.118 *s  tchangelotsomme	      r>
 change>opsata  >
  v2.>caops_dat)17   57<76rn=net/scode=========tFQ_
  v2.>caf">claerrl Pulongest sloerret/s).137
  v2.6.31.1"L4" clllllllllass="13sfq.c#L4" id="Lerrl Pulongest sloerret/s17
  v2. >7
  v276       turn=n
  v2.>caf">cla_indexomme turn=neth_sfqpan>
   1s  talow1>caf">cks6
 alow1_datatizeof(
  v2.>caf">cla_indexomme turn=neth_sfqpan>
   1


  v2.6.31.net/scode=ht  >_indexomme turn=neth_sfqpan>
('maxflows&# 1 =3net/scode=ht  >s  talow1>caf">cks6
 alow1_datatizeof(
  v2.>caf">cla_indexomme turn=neth_sfqpan>
('maxflows&# 1[0]) *ln>

   1_indexomme turn=neth_sfqpan>
('maxflows&# 1. 1.118 *
l  tdestroyata  >
  v2.>ca >
 [estroy_datasfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s.17caf">claENOMEMtable>('maxENOMEMspan .137iex  n ht[])n"/eied/s =l0 code=filter_6_indexomme turn=neth_sfqpan>

  v2. >7
  v277 >
  v2.6.31.1"L4" cl
  v2.>caf">cla_indexomme turn=neth_sfqpan>
   1L5">EMPTY_SLOTex  n ht[])n"/eL5">EMPTY_SLOTspan .137
776n=nec15lass15commeng" aleturn=net/s7.ort  tur7="78i25.3"
78  >
  v2. >7
  v277f=/" Linkef 6forQ_net/scode=ht  >iex  n ht[])n"/eied/s =l0 code=filter_6_indexomme turn=neth_sfqpan>
 *
caf">SF7Q_MAX77       turn=n

  v2.>carows_queue inis_data9io >
  v2.>caf">cla_indexomme turn=neth_sfqpan>
('maxflows&# 1[	d/sch_sfq.c#s"iex  n ht[])n"/eied/s].17caf7">SFQ779>
  v2.6.31.1"L4" clnet/scode=ht  >l  tsulktable>('max   tsulk_datan>
indexomme turn=neth_,enet/scode=ht  >iex  n ht[])n"/eied/s.17caf">SF7Q_MAX78       turn=n1.137caf">S7FQ_EM781n=net/scode=tFQ_net/scode=ht  >_indexomme turn=neth_sfqpan>

  v2.>calimis_dat fqpa=31).137c78rmsetmee*turn  *turn=sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/ssfqpan>
TCQ_F_CAN_BYPAS15line" na1mme="TCQ_F_CAN_BYPAS1span .137   47<783n=net/scode=else7
 16 bits"to store>allo7t,hre78rn=net/scode=========net/scode=ht  >4cdex  n ht[])n"/e ch	d/ssfqpan>
= ~net/scode=ht  >TCQ_F_CAN_BYPAS15line" na1mme="TCQ_F_CAN_BYPAS1span .137allotion>8 (1<<37) soh78 >
  v2.6.31.ass="130 c12lass125omme        turn=net/7d=net/sco7ched/sch_sfq.c#L4" id="L74" cl78detme1.137caf">7SFQ_A78f=/" .137caf">S7FQ_AL78     =net/scinscode=filter_6
 dum"ata  >
  v2.>ca >
 [um"_datat/scode=cks6caf">cks6   17<789>
  1.118 * >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/s =3net/scode=ht  >>   1_priv>qomme, turn=ne>   1_priv2.6.(sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s.17caf">u16ommeeturn7=net/791n=net/scode=unsignednchar >
  v2.>caf">clabex  n ht[])n"/eb&# 1 =3net/scode=ht  >skb_rren_poinserl Pulongest sloskb_rren_poinser2.6.(sfq.c#L4" id="L4kbex  n ht[])n"/e kbet/s)17   37<79rmsetmee*turn=net/scode=filter_6
  v2.>catc;/sc_qops_v1dex  net/scode=ht  >opsata  >
  v2.>caops_dat17('maxred_parm span >
  v2.>caf">cla"ata  >
  v2.>cap_dat =ln>

('maxred_parm span17
 po nters"to savj7fspac79rn=ne.137sn[0 ... SFQ_MAX7_FLOW79 >
  v2.6.31.net/scode=ht  >memseslotsomme	      memses_data9io >
  v2.>caf">claopsata  >
  v2.>caops_dat, 0,e=izeof(
  v2.>caf">claopsata  >
  v2.>caops_dat))17followpan>form>sn[SFQ_7MAX_F79detmeeturn=nen>
copsata  >
  v2.>caops_dat/" anchor  n depv0ata  >
  v2.>cav0_dat/" anchor  n depquantumex  n ht[])n"/equantum*

opsata  >
  v2.>caops_dat/" anchor  n depv0ata  >
  v2.>cav0_dat/" anchor  n deppers="b periodata  >
  v2.>capers="b period_dat =ln>



  v2.>caHZ*caf">claopsata  >
  v2.>caops_dat/" anchor  n depv0ata  >
  v2.>cav0_dat/" anchor  n deplimisata  >
  v2.>calimis_dat    =ln>


  v2.>calimis_dat17   c7f/a><799>
  v2.6.31.net/scode=ht  >opsata  >
  v2.>caops_dat/" anchor  n depv0ata  >
  v2.>cav0_dat/" anchor  n depdivisorl Pulongest slodivisored/s  =ln>

  8ceast80       turn=net/scode=n id="opsata  >
  v2.>caops_dat/" anchor  n depv0ata  >
  v2.>cav0_dat/" anchor  n depflowsindexomme turn=flowsspan    =ln>

caf">u16ommeeturn8dexom801n=net/scode=net/scode=ht  >opsata  >
  v2.>caops_dat/" anchor  n depde"thl Pulongest slodepthspan/scode==ln>

   38   3<80rmsetmee*turnn>

  v2.>caops_dat/" anchor  n dephead[ro"ata  >
  v2.>cahead[ro"ed/s de==ln>


  v2.>cahead[ro"ed/s17caf">cla"ata  >
  v2.>cap_dat) 1.118 *
sn[0 ... SFQ_MAX8k_buf80 >
  v2.6.31.1"L4" cl
  v2.>caf">claopsata  >
  v2.>caops_dat/" anchor  n depkth_mio n cks6

  v2.>cap_datsfqpan>
"ata  >
  v2.>cap_datsfqpan>
followpan>form>sn[SFQ_8k_buf80detmeeturn=ne  *turn=net/scode=ht  >opsata  >
  v2.>caops_dat/" anchor  n depkth_malomme)d/sch_sfq./th_malspancode==ln>

  v2.>cap_datsfqpan>
"ata  >
  v2.>cap_datsfqpan>
opsata  >
  v2.>caops_dat/" anchor  n depWloglotsomme	      Wlogn=ne

  v2.>cap_datsfqpan>

  v2.>caops_dat/" anchor  n depPloglotsomme	      Plogn=ne

  v2.>cap_datsfqpan>
   c8cla_h809>
  v2.6.31.1"L4" clnet/scode=ht  >opsata  >
  v2.>caops_dat/" anchor  n depScell_loglotsomme	      Scell_logn=ne Pu=ln>

  v2.>cap_datsfqpan>

  v2.8caf">81       turn=n1"L4" clnet/scode=ht  >opsata  >
  v2.>caops_dat/" anchor  n depmal_Pl Pulongest slomax_P_dat/tsp Pu=ln>

  v2.>cap_datsfqpan>

  v28>caf"811n=net/scode=1.137 8 3

  v2.>camemcpy_data9io >
  v2.>caf">claopsata  >
  v2.>caops_dat/" anchor  n dep=net table>('maxfnet _dat, 9io >
  v2.>caf">cla_indexomme turn=neth_sfqpan>
('maxfnet _dat, =izeof(
  v2.>caf">claopsata  >
  v2.>caops_dat/" anchor  n dep=net table>('maxfnet _dat))17
  82.>ca813n=net/scode=class="15line" opsata  >
  v2.>caops_dat/" anchor  n depflagsindexomme turn=flagsed/s tsp Pu=ln>
indexomme turn=neth_sfqpan>

  v2.>caf"8d/o_v81rn=ne.137
  82. >
81 >
  v2.6.31.tFQ_net/scode=ht  >nla_puam0me="L1">   1TCA_OPTION15line" na1mme="TCA_OPTION1_dat, =izeof(
  v2.>caf">claopsata  >
  v2.>caops_dat), 9io >
  v2.>caf">claopsata  >
  v2.>caops_dat)).137
  v28 >
  81detmeeturn=ne  *turn=gotocode=filter_6
  v2.>caf">c8a_s i81f=/" .137
d fieldsn"/et8sched81       turn=nass="13sfq.c#L4" id="L4kbex  n ht[])n"/e kbet/ssfqpan>

  v28>caf"819>
  7
  82.>ca82     ode=filter_6caf">u8omme      8     821n=net/scode=net/scode=ht  >nlmsg_trimex  n ht[])n"/e/lmsg_trim2.6.(sfq.c#L4" id="L4kbex  n ht[])n"/e kbet/s,enet/scode=ht  >bex  n ht[])n"/eb&# 1)17caf">u8omme      8     82rmsetmee*turnass="13-117 8 4  >caf">u32omme    8     82rn=ne.137caf">u8omme      8     82 >
  =net/sct/scode=cks6caf">cks6caf">cks6caf">u8omme      8     82detme1.118 *

 82f=/" Linkef 6ass="13sfq.c#L4" id="LNULLtable>('maxNULLspan .137
  v2.>caf8>tcf_82     1.137
  v2.>caf">cla_i8dexom829>
  7
  v2.>caf"8cla_s83     =net/scunsignednlonge=cks6caf">cks6 8 2 *

  v2.>caf8>d/o_83rmsetmee*turnass="130 c12lass125omme        turn=net/8n"L4" cla8e=tc clad/o_ng" s  >
  v8.>caf833n=ne1.137
  v2.>caf"8cla_s83rn=ne.137
  v28 >
  835    =net/scunsignednlonge=cks6
  v2.>ca   tbind2.6.(t/scode=cks6caf">cks6
  >
  v2.>caf"8cla_h83detmeeturn=ne  *turn=llllllllscode=net/scode=ht  >u32l Pulongest slouarmsetesfq.c#L4" id="LPulonidata  >
  v2.>caPulonid&# 1).137 * *
/* we cannot byp""" queue    1ip"""" anymore */
  v2.6.31.net/scode=ht  >4cdex  n ht[])n"/e ch	d/ssfqpan>
= ~net/scode=ht  >TCQ_F_CAN_BYPAS15line" na1mme="TCQ_F_CAN_BYPAS1span .137 8 3
 8v2.>c843n=ne=net/scvoid3net/scode=ht  >l  tpuam0me="L1">   1caf">cks6 *

  82.>ca84 >
  1.137
  v2.>ca8">tim846n=nec15lass15commeng" aleturn=net/s8iort  tur8ass="148i25.3"
148  >
  82. >
84f=/" =net/sc=net/scode=filter_6   1caf">cks6
  v28 >
  84     1.118 *

  v2.6.31.=net/scode=filter_6 >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/s =3net/scode=ht  >>   1_priv>qomme, turn=ne>   1_priv2.6.(sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s.17cnt sloto n ro thcl&# 1).137>
  v2.>caf">in 28  4
  v2.>caf">cla_indexomme turn=neth_sfqpan>

  v2.>cafilter_clased/s .137
  v2.>caf">valomme8<e85rn=ne1.137
  v85 >
  7
 dum"_quot;>qomme, turn=net/scdum"_quot;2.6.(t/scode=cks6caf">cks6
  v2.1 8
  1285     1.118 *
859>
  v2.6.31.net/scode=ht  >tcmlotsomme	      tcm&# 1sfqpan>

  v|=3net/scode=ht  >TC_H_MINtable>('maxTC_H_MIN2.6.(sfq.c#L4" id="Lcnt sloto n ro thcl&# 1) .137
d as leafl8 PuCB86rmset.137
 dum"_quot;_=net table>('maxf>
 dum"_quot;_=net 2.6.(t/scode=cks6caf">cks6   58<86rn=net/scode=========tsp Puuuuuuuuuuu=net/scode=filter_6
  v2.>cag/at_dum"	d/sc_sfq.c#L4" id="Ldata  >
  v2.>cad&# 1).137
  1.118 * >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/s =3net/scode=ht  >>   1_priv>qomme, turn=ne>   1_priv2.6.(sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s.17s>
 indelomme)d/sch_sfq.s>
 indelmsetesfq.c#L4" id="Lidlomme)d/sch_sfq.idlet/s =3net/scode=ht  >>indexomme turn=neth_sfqpan>
   1
  v2. >8
  v286       turn=n=net/scode=filter_6
  v2.>cag/at_=net _queuemsetesfq.c#L4" id="Lq table>('maxqs&# 1 =3{ 0 }17
  v2.6.31.=net/scode=filter_6('maxtc;/sc_x=net msetesfq.c#L4" id="Lx=net table>('maxx=net msete=3{ 0 }17idlomme)d/sch_sfq.idlet/s !=3net/scode=ht  >L5">EMPTY_SLOTex  n ht[])n"/eL5">EMPTY_SLOTspan) 1.118 *
 >
 loam0me="L1">   1   1
  v2.>caf">cla_indexomme turn=neth_sfqpan>
('maxflows&# 1[	d/sch_sfq.c#s"idlomme)d/sch_sfq.idlet/s]17   14loam0me="L1">   1
   1L5">ALLOT_SHIFTex  n ht[])n"/eL5">ALLOT_SHIFTed/s .137
  v2. >8
  v287 >
  v2.6.31.1"L4" cl
  v2.>caf">cla_ table>('maxqs&# 1/" anchor  n depklso n cks64loam0me="L1">   1

87detmeeturn=ne  *turn=net/scode=ht  >_ table>('maxqs&# 1/" anchor  n depbackloglotsomme	      backloged/s =3net/scode=ht  >4loam0me="L1">   1

  v2. >8
  v287f=/" Linkef 61.137caf">SF8Q_MAX87       turn=ntFQ_net/scode=ht  >g/at_=net _copy_queueata  >
  v2.>cag/at_=net _copy_queue2.6.(sfq.c#L4" id="Ldata  >
  v2.>cad&# 1, 9io >
  v2.>caf">cla_ table>('maxqs&# 1) flpa30).137caf8">SFQ879>
  v2.6.31.1"L4" class="13-117caf">SF8Q_MAX88       turn=nass="13net/scode=ht  >g/at_=net _copy_ap"ata  >
  v2.>cag/at_=net _copy_ap"2.6.(sfq.c#L4" id="Ldata  >
  v2.>cad&# 1, 9io >
  v2.>caf">clax=net table>('maxx=net mset, =izeof(
  v2.>caf">clax=net table>('maxx=net mset))17caf">S8FQ_EM881n=ne1.137c88rmset.137   48<883n=ne=net/scvoid3net/scode=ht  >l  twalktable>('max   twalk2.6.(t/scode=cks6caf">cks6   1_walkerl Pulongest slo>   1_walker	d/sc_sfq.c#L4" id="Larglotsomme	      arg&# 1).137
 16 bits"to store>allo8t,hre88rn=ne1.118 *allotion>8 (1<<38) soh88 >
  v2.6.31.=net/scode=filter_6 >
  v2.>caf">qomme, turn=net/scode=cla_index  >
  v2.>caf">cla_indexomme turn=net/s =3net/scode=ht  >>   1_priv>qomme, turn=ne>   1_priv2.6.(sfq.c#L4" id="L4cdex  n ht[])n"/e ch	d/s.17caf">8SFQ_A88f=/" .137caf">S8FQ_AL88       turn=ntFQ_net/scode=ht  >arglotsomme	      arg&# 1sfqpan>

  v2.>calno"&# 1).137   18<889>
  v2.6.31.1"L4" class="117caf">u16ommeeturn8=net/891n=net/scode=forQ_net/scode=ht  >iex  n ht[])n"/eied/s =l0 code=filter_6_indexomme turn=neth_sfqpan>
 *
   38<89rmsetmee*turn  *turn=tFQ_net/scode=ht  >_indexomme turn=neth_sfqpan>
   1L5">EMPTY_SLOTex  n ht[])n"/eL5">EMPTY_SLOTspan ||.118 *
arglotsomme	      arg&# 1sfqpan>
arglotsomme	      arg&# 1sfqpan>

  v2.>calki"span) 1.118 *

 po nters"to savj8fspac89rn=net/scode=========tsp Puuunet/scode=ht  >arglotsomme	      arg&# 1sfqpan>
sn[0 ... SFQ_MAX8_FLOW89 >
  v2.6.31.1"L4" clllllllllcontinue17followpan>form>sn[SFQ_8MAX_F89detmeeturn=ne  *turn=1.137arglotsomme	      arg&# 1sfqpan>
caf">cks6iex  n ht[])n"/eied/s + 1,enet/scode=ht  >arglotsomme	      arg&# 1) flpa30) 1.118 *
arglotsomme	      arg&# 1sfqpan>

  v2.>calno"&# 1 =l117   c8f/a><899>
  v2.6.31.1"L4" clllllllllbreak17  9ceast90       turn=n1"L4" cl1.137caf">u16ommeeturn9dexom901n=net/scode=tsp Puuunet/scode=ht  >arglotsomme	      arg&# 1sfqpan>
   39   3<90rmsetmee*turn1.137sn[0 ... SFQ_MAX9k_buf905    =net/scconste=net/scode=filter_6('maxQ   1_quot;_op msetesfq.c#L4" id="Lt/scquot;_op table>('maxt/scquot;_op msete=3{.137followpan>form>sn[SFQ_9k_buf90detmeeturn=ne/" anchor  n depleafex  n ht[])n"/eseaf2.6.de=tsp Puuu=sp Puuunet/scode=ht  >4  tseafex  n ht[])n"/e   tseaf2.6.,.1374  tgeslotsomme	         tges2.6.,.137   14  tpuam0me="L1">   1   c9cla_h909>
  v2.6.31./" anchor  n deptcf_chaio n cks6
  v2.6.3=sp Puuunet/scode=ht  >4  tfind_tcfm0me="L1">   1
  v2.9caf">91       turn=n/" anchor  n depbind_tcfm0me="L1">   14  tbindata  >
  v2.>ca   tbind2.6.,.137
  v29>caf"911n=net/scode=/" anchor  n depunbind_tcfm0me="L1">   14  tpuam0me="L1">   1 9 3
  v2.>cadum"	d/sce=tsp Puuu=sp Puuunet/scode=ht  >4  tdum"_quot;>qomme, turn=net/scdum"_quot;2.6.,.137
  92.>ca913n=net/scode=/" anchor  n depdum"_=net table>('maxdum"_=net n=net/sco=sp Puuunet/scode=ht  >4  tdum"_quot;_=net table>('maxf>
 dum"_quot;_=net 2.6.,.137
  v2.>caf"9d/o_v914n=net/scode=/" anchor  n depwalktable>('maxwalk2.6.ce=tsp Puuu=sp Puuunet/scode=ht  >4  twalktable>('max   twalk2.6.,.137
  92. >
91 >
  }17
  v29 >
  916n=nec15lass15commeng" aleturn=net/s9h7="L4" c9id=_data  >
  v2.>caf">c9a_s i91f=/" =net/sc=net/scode=filter_6('maxQ   1_op msetesfq.c#L4" id="Lt/scq   1_op table>('maxt/scq   1_op msetesfq.c#L4" id="L__read_mostlyata  >
  v2.>ca__read_mostlymsete=3{.137
d fieldsn"/et9sched91       turn=n/" anchor  n depcl_op table>('maxcl_op 2.6.ce=tsp Pu=sp Puuu9io >
  v2.>caf">clat/scquot;_op table>('maxt/scquot;_op mset,.137
  v29>caf"919>
  v2.6.31./" anchor  n depidata  >
  v2.>caid&# 1             =sp Puuunspan""""""""=neing">"   "
  92.>ca92       turn=n/" anchor  n deppriv_=izem0me="L1">   1
  v2.6.3=sp Puuu=izeof(=net/scode=filter_6 >
  v2.>caf">qomme, turn=net/scode=cla_index ),.137caf">u8omme      9     921n=net/scode=/" anchor  n depenqueueata  >
  v2.>caenqueuen=net/scode==sp Puuunet/scode=ht  >4  tenqueueata  >
  v2.>ca4  tenqueuemset,.137caf">u8omme      9     92rmsetmee*turn/" anchor  n depdequeueata  >
  v2.>cadequeuen=net/scode==sp Puuunet/scode=ht  >4  tdequeueata  >
  v2.>ca4  tdequeuemset,.137 9 4('maxpeek2.6.ce=tsp Puuu=sp Puuunet/scode=ht  >>   1_peektdequeuedata  >
  v2.>ca>   1_peektdequeuedmset,.137  >caf">u32omme    9     924n=net/scode=/" anchor  n dep[ro"ata  >
  v2.>ca[ro"ed/s de=/scode==sp Puuunet/scode=ht  >4  tdro"ata  >
  v2.>ca4  tdro"mset,.137caf">u8omme      9     925>
  v2.6.31./" anchor  n depinisata  >
  v2.>cainis_dat de=/scode==sp Puuunet/scode=ht  >4  tinisata  >
  v2.>car  tinismset,.137caf">u8omme      9     92detmeeturn=ne/" anchor  n depreseslotsomme	      reses_dat de=/scode=sp Puuunet/scode=ht  >4  treseslotsomme	      4  tresesmset,.137
 92f=/" Linkef 6/" anchor  n depdestroyata  >
  v2.>ca[estroy_datt/scode==sp Puuunet/scode=ht  >4  tdestroyata  >
  v2.>ca >
 [estroy_dat,.137
  v2.>caf9>tcf_92       turn=n/" anchor  n depchangelotsomme	      change>NULLtable>('maxNULLspan,.137
  v2.>caf">cla_i9dexom929>
  v2.6.31./" anchor  n depdum"ata  >
  v2.>cadum"	d/sce=tsp Puuu=sp Puuunet/scode=ht  >4  tdum"table>('maxf>
 dum"span,.137
  v2.>caf"9cla_s93       turn=n/" anchor  n depownerl Pulongest sloowner_dat de=/scode=sp Puuunet/scode=ht  >THIS_MODULEl Pulongest sloTHIS_MODULEspan,.137 9 2
  v2.>caf9>d/o_93rmset.137
  v9.>caf933etme=net/scinscode=filter_6
  v2.>ca_tinismsetunet/scode=ht  >4  tmodule inisata  >
  v2.>car  tmodule inis2.6.(void).137
  v2.>caf"9cla_s93rn=ne1.118 *

  v29 >
  93 >
  v2.6.31.ass="13" anchor  n depregister_q   1>caf">cks6
  v2.>caf">clat/scq   1_op table>('maxt/scq   1_op mset.17
  >
  v2.>caf"9cla_h93detme1.137 *__exisata  >
  v2.>ca_texismsetunet/scode=ht  >4  tmodule exisata  >
  v2.>ca4  tmodule exis2.6.(void).137 *

  v2.6.31.net/scode=ht  >unregister_q   1>caf">cks6
  v2.>caf">clat/scq   1_op table>('maxt/scq   1_op mset.17caf">clamodule inisata  >
  v2.>camodule inis2.6.(net/scode=ht  >4  tmodule inisata  >
  v2.>car  tmodule inis2.6.).137 9 3caf">clamodule exisata  >
  v2.>camodule exis2.6.(net/scode=ht  >4  tmodule exisata  >
  v2.>ca4  tmodule exis2.6.).137
 9v2.>c943n=nenet/scode=ht  >MODULE_LICENSEl Pulongest sloMODULE_LICENSE2.6.(nspan""""""""=neing">"GPL"
 94rn=ne





The original LXR software by the LXR communisy_dat, this experimensal version by lxr@perux.no_dat.


lxr.perux.no kindly hosted by Redpill Lerpro A1_dat, provider of Leruxcconsulting and operet/ons services since 1995.