linux/net/sched/cls_tcindex.c
<<
>>
Prefs
   1/*
   2 * net/sched/cls_tcindex.c      Packet classifier for skb->tc_index
   3 *
   4 * Written 1998,1999 by Werner Almesberger, EPFL ICA
   5 */
   6
6.27.20"
	  >
  v2.6.27.20   3
  v2.6.14.7
  
  
 t"> * net/sched/cls_tcindex.c      Packetv2.6.30.83  >
  v2.6.17.13
  
  
 13
  v2.6.22.15
  
   
	  
  
  8 13
 13
  v2.6.22.15
  
   
	  
  
  9 13
 13
  v2.6.22.15
  
   
	  
  
  0   3 
	  
  
  >   3 
	  
  
     4 
	  
  
   */1

  v2.6.22.15
  
     
	  
  
  
  v2.6.27.20
  v2.6.22.15
  
     
	  
  
  1
  v215al
	  >
  v2.6.22.15
  
     
	  
  
  
  
  S1arch
	  
  
  1
 13
 13 *
18 13
 13   319 13
 13 * Written 1998,1999 by Wernercessary. At least, u32 fiesn't seem to use such dirty h>
   3 *
>   4 */2
 m">
code=PERFECT_HASH_THRESHOLD class="li/op">PERFECT_HASH_THRESHOLDal Sea4/a> v2.6.27.20 m">
code=DEFAULT_HASH_SIZE class="li/op">DEFAULT_HASH_SIZEal Seeeeeea4/a> 2 2 v225rch S2arch 2 13 13 m"> code=PRIV class="li/op">PRIVal ("> code=tp class="li/op">tpal )Seeeeee ((struct "> code=ttion17_data class="li/op">ttion17_dataal S*) ("> code=tp class="li/op">tpal )_tcin"> code=root class="li/op">rootal )/button> 28 13 13 29 13 13 code=ttion17_filterame="L2 class="li/op">ttion17_filterame="L2al S{/button> 3 code=ttf_ex2" class="li/op">ttf_ex2"al Seeeeee "> code=ex2" class="li/op">ex2"al n/button> 4 code=ttf_me="L2 class="li/op">ttfame="L2al Seeee "> code=me= class="li/op">re"al n/button> */ v2.6.27.20 3 v235> * struct "> code=ttion17_filter class="li/op">ttion17_filteral S{/button> S36al Seeeeee "> code=u17.13u1arch< "> code=key.13keyal n/button> 3 13 13 code=ttion17_filterame="L2 class="li/op">ttion17_filterame="L2al S"> code=me="L2 class="li/op">me="L2al n/button> 38 13 13 code=ttion17_filter class="li/op">ttion17_filteral S*"> code=nn fallass="li/op">nn fal n/button> 39 13 13 3 4 code=ttion17_data class="li/op">ttion17_dataal S{/button> */4 code=ttion17_filterame="L2 class="li/op">ttion17_filterame="L2al S*"> code=perfect class="li/op">perfectal npaspan> v2.6.27.20 code=ttion17_filter class="li/op">ttion17_filteral S**"> code=h class="li/op">hal npaspan> 4 v246.14.6 t"> * net/ssssssssssssssssssssssssssssssssssssssNULL if unused ched/cls_tcindex.c Packetv2.6.30.83 > 4 v2.6.147.13 S46al Seeeeee "> code=u17.13u1arch< "> code=mask.13maskal npppppppppppppppaspan> code=shift class="li/op">shiftal nppppppppppppppaspan> code=h>sh class="li/op">h>shal npppppppppppppppaspan> d ched/cls_tcindex.c Packetv2.6.30.83 > 49option>49 13 13 code=alloc_h>sh class="li/op">alloc_h>shal npppppppppaspan> code=fall_through class="li/op">fall_throughal npppppppaspan> 5ame="L3"5> 3 4 */5 * st> < const struct "> code=ttf_ex2_map class="li/op">ttf_ex2_maprch< "> code=ttion17_ex2_map class="li/op">ttion17_ex2_maprch< =S{/button> v2.6.27.20 code=police class="li/op">policerch< =S"> code=TCA_TCINDEX_POLICE class="li/op">TCA_TCINDEX_POLICErch<,/button> v255al Seeeeee ."> code=
apre crch< =S">
 code=TCA_TCINDEX_ACT class="li/op">TCA_TCINDEX_ACTrch
	  
  
  
  
  S56al
	}n/button>
	  
  
  5
 13
 13
	  
  
  58 13
 13 * st>
	< ">
 code=inon>
 1lass="li/op">inon>
rch< int/button>
	  
  
  59 13
 13 * W>
 code=ttion17_filterais_se2 class="li/op">ttion17_filterais_se2al
	(struct ">
 code=ttion17_filterame="L2 class="li/op">ttion17_filterame="L2al
	S*">
 code=r class="li/op">ral
	)/button>
	  
  
     3
 code=ttf_ex2"ais_predicativ
 1lass="li/op">ttf_ex2"ais_predicativ
al
	(&n">
 code=r class="li/op">ral
	_tcin">
 code=ex2" class="li/op">ex2"al
	) ||S">
 code=m class="li/op">ral
	_tcin">
 code=me= class="li/op">re"al
	.">
 code=ref="nd class="li/op">ref="ndal
	n/button>
	  
  
     4 */6

	  
  
  
  v2.6.27.20 * st>
	< struct ">
 code=ttion17_filterame="L2 class="li/op">ttion17_filterame="L2al
	S*/button>
	  
  
  6
  v265> * W>
 code=ttion17_ id="L1"lass="li/op">ttion17_ id="Lal
	(struct ">
 code=ttion17_data class="li/op">ttion17_dataal
	S*">
 code=p class="li/op">prch<, ">
 code=u17.13u1arch< ">
 code=key.13keyal
	)/button>
	  
  
  
  
  S66al
	{/button>
	  
  
  6
 13
 13
 code=ttion17_filter class="li/op">ttion17_filteral
	S*">
 code=f class="li/op">fal
	n/button>
	  
  
  68 13
 13
	  
  
  69 13
 13
 code=p class="li/op">prch<_tcin">
 code=perfect class="li/op">perfectal
	)/button>
	  
  
  
 code=ttion17_filterais_se2 class="li/op">ttion17_filterais_se2al
	(">
 code=p class="li/op">prch<_tcin">
 code=perfect class="li/op">perfectal
	 + ">
 code=key.13keyal
	) ?/button>
	  
  
     3prch<_tcin">
 code=perfect class="li/op">perfectal
	 + ">
 code=key.13keyal
	 : ">
 code=NULL.13NULLal
	n/button>
	  
  
     4
 code=p class="li/op">prch<_tcin">
 code=h class="li/op">hal
	)S{/button>
	  
  
   */7

 code=f class="li/op">fal
	 =S">
 code=p class="li/op">prch<_tcin">
 code=h class="li/op">hal
	[">
 code=key.13keyal
	 %S">
 code=p class="li/op">prch<_tcin">
 code=h>sh class="li/op">h>shal
	];S">
 code=f class="li/op">fal
	nS">
 code=f class="li/op">fal
	 =S">
 code=f class="li/op">fal
	_tcin">
 code=nn fallass="li/op">nn fal
	)/button>
	  
  
  
  v2.6.27.20
 code=f class="li/op">fal
	_tcin">
 code=key.13keyal
	 ==S">
 code=key.13keyal
	)/button>
	  
  
  7
  v275al
	Seeeeee Seeeeee ppppppppSeeeeee 0b1843c&n">
 code=f class="li/op">fal
	_tcin">
 code=me="L2 class="li/op">me="L2al
	n/button>
	  
  
  
  
  S76al
	Seeeeee }/button>
	  
  
  

 13
 13
	  
  
  78 13
 13
 code=NULL.13NULLal
	n/button>
	  
  
  79 13
 13
	  
  
     3   4
 code=ttion17_ref="ney class="li/op">ttion17_ref="neyal
	(struct ">
 code=sk_suff class="li/op">sk_suffal
	S*">
 code=skb class="li/op">skbrch<, const struct ">
 code=ttf_proto 1lass="li/op">ttf_protoal
	S*">
 code=tp class="li/op">tpal
	,/button>
	  
  
   */8

 code=ttf_me="L2 class="li/op">ttfame="L2al
	S*">
 code=re= class="li/op">re"al
	)/button>
	  
  
  
  v2.6.27.20
	  
  
  8
  v285al
	Seeeeee struct ">
 code=ttion17_data class="li/op">ttion17_dataal
	S*">
 code=p class="li/op">prch< =S">
 code=PRIV class="li/op">PRIVal
	(">
 code=tp class="li/op">tpal
	)n/button>
	  
  
  
  
  S86al
	Seeeeee struct ">
 code=ttion17_filterame="L2 class="li/op">ttion17_filterame="L2al
	S*">
 code=f class="li/op">fal
	n/button>
	  
  
  8
 13
 13
 code=key.13keyal
	 = (">
 code=skb class="li/op">skbrch<_tcin">
 code=dex.c#L5 class="li/op">ttx.c#L5" 
	 &nS">
 code=p class="li/op">prch<_tcin">
 code=mask.13maskal
	) "lxr_preS">
 code=p class="li/op">prch<_tcin">
 code=shift class="li/op">shiftal
	n/button>
	  
  
  88 13
 13
	  
  
  89 13
 13
 code=pr_debug class="li/op">pr_debugal
	("span>
&quoindeion17_ref="ney(skb %p,tp %p,me= %p),p %p\n&quoined/cls_,/button>
	  
  
  
 code=skb class="li/op">skbrch<, ">
 code=tp class="li/op">tpal
	, ">
 code=me= class="li/op">re"al
	, ">
 code=p class="li/op">prch<)n/button>
	  
  
     3   4
 code=f class="li/op">fal
	 =S">
 code=ttion17_ id="L1"lass="li/op">ttion17_ id="Lal
	(">
 code=p class="li/op">prch<, ">
 code=key.13keyal
	)n/button>
	  
  
   */9

 code=f class="li/op">fal
	)S{/button>
	  
  
  
  v2.6.27.20
 code=p class="li/op">prch<_tcin">
 code=fall_through class="li/op">fall_throughal
	)/button>
	  
  
  9
  v295al
	Seeeeee Seeeeee pppppppp0b1843c-1n/button>
	  
  
  
  
  S96al
	Seeeeee Seeeeee ">
 code=me= class="li/op">re"al
	_tcin">
 code=ref="nd class="li/op">ref="ndal
	 =S">
 code=TC_H_MAKE class="li/op">TC_H_MAKEal
	(">
 code=TC_H_MAJ class="li/op">TC_H_MAJal
	(">
 code=tp class="li/op">tpal
	_tcin">
 code=q class="li/op">qrch<_tcin">
 code=h>ndl
 1lass="li/op">h>ndl
al
	), ">
 code=key.13keyal
	)n/button>
	  
  
  9
 13
 13
 code=me= class="li/op">re"al
	_tcin">
 code=ref=" class="li/op">ref="al
	 =S0n/button>
	  
  
  98 13
 13
 code=pr_debug class="li/op">pr_debugal
	("span>
&quoinalg 0x%x\n&quoined/cls_, ">
 code=me= class="li/op">re"al
	_tcin">
 code=ref="nd class="li/op">ref="ndal
	)n/button>
	  
  
  99 13
 13
	  
  
  00   30>   3
 code=re= class="li/op">re"al
	 =S">
 code=f class="li/op">fal
	_tcin">
 code=me= class="li/op">re"al
	n/button>
	  
  
     4
 code=pr_debug class="li/op">pr_debugal
	("span>
&quoinmap 0x%x\n&quoined/cls_, ">
 code=me= class="li/op">re"al
	_tcin">
 code=ref="nd class="li/op">ref="ndal
	)n/button>
	  
  
   */103n/oo03rch
	  
  
  
  v2.6.27.20
 code=ttf_ex2"aexec class="li/op">ttfaex2"aexecal
	(">
 code=skb class="li/op">skbrch<, &n">
 code=f class="li/op">fal
	_tcin">
 code=ex2" class="li/op">ex2"al
	, ">
 code=me= class="li/op">re"al
	)n/button>
	  
  
  105n/oo05rch<}/button>
	  
  
  
  
  
	  
  
  10
 13
 13
	  
  
  108 13
 13 * st>
	< unsig> d longS">
 code=ttion17_ge2 class="li/op">ttion17_ge2al
	(struct ">
 code=ttf_proto 1lass="li/op">ttf_protoal
	S*">
 code=tp class="li/op">tpal
	, ">
 code=u3>   4u32al
	S">
 code=h>ndl
 1lass="li/op">h>ndl
al
	)/button>
	  
  
  109 13
 13
	  
  
  >0   3
 code=ttion17_data class="li/op">ttion17_dataal
	S*">
 code=p class="li/op">prch< =S">
 code=PRIV class="li/op">PRIVal
	(">
 code=tp class="li/op">tpal
	)n/button>
	  
  
  >>   3
 code=ttion17_filterame="L2 class="li/op">ttion17_filterame="L2al
	S*">
 code=r class="li/op">ral
	n/button>
	  
  
     4 */11

 code=pr_debug class="li/op">pr_debugal
	("span>
&quointtion17_ge2(tp %p,h>ndl
 0x%08x)\n&quoined/cls_, ">
 code=tp class="li/op">tpal
	, ">
 code=h>ndl
 1lass="li/op">h>ndl
al
	)n/button>
	  
  
  
  v2.6.27.20
 code=p class="li/op">prch<_tcin">
 code=perfect class="li/op">perfectal
	 &n&nS">
 code=h>ndl
 1lass="li/op">h>ndl
al
	 "lxr=S">
 code=p class="li/op">prch<_tcin">
 code=alloc_h>sh class="li/op">alloc_h>shal
	)/button>
	  
  
  11
  v115al
	Seeeeee Seeeeee 0b1843c0n/button>
	  
  
  
  
  116al
	Seeeeee ">
 code=r class="li/op">ral
	 =S">
 code=ttion17_ id="L1"lass="li/op">ttion17_ id="Lal
	(">
 code=p class="li/op">prch<, ">
 code=h>ndl
 1lass="li/op">h>ndl
al
	)n/button>
	  
  
  11
 13
 13
 code=r class="li/op">ral
	 &n&nS">
 code=ttion17_filterais_se2 class="li/op">ttion17_filterais_se2al
	(">
 code=r class="li/op">ral
	) ? (unsig> d long)c">
 code=r class="li/op">ral
	 : 0ULn/button>
	  
  
  118 13
 13
	  
  
  119 13
 13
	  
  
     3 *
	< voidS">
 code=ttion17_pu2 class="li/op">ttion17_pu2al
	(struct ">
 code=ttf_proto 1lass="li/op">ttf_protoal
	S*">
 code=tp class="li/op">tpal
	, unsig> d longS">
 code=f class="li/op">fal
	)/button>
	  
  
  >   4 */12

 code=pr_debug class="li/op">pr_debugal
	("span>
&quointtion17_pu2(tp %p,f 0x%lx)\n&quoined/cls_, ">
 code=tp class="li/op">tpal
	, ">
 code=f class="li/op">fal
	)n/button>
	  
  
  
  v2.6.27.20
	  
  
  12
  v125rch
	  
  
  
  
  12arch
	  
  
  12
 13
 13
	< int ">
 code=ttion17_ini2 class="li/op">ttion17_ini2al
	(struct ">
 code=ttf_proto 1lass="li/op">ttf_protoal
	S*">
 code=tp class="li/op">tpal
	)/button>
	  
  
  128 13
 13
	  
  
  129 13
 13
 code=ttion17_data class="li/op">ttion17_dataal
	S*">
 code=p class="li/op">prch
	  
  
     3
 code=pr_debug class="li/op">pr_debugal
	("span>
&quointtion17_ini2(tp %p)\n&quoined/cls_, ">
 code=tp class="li/op">tpal
	)n/button>
	  
  
     4
 code=p class="li/op">prch< =S">
 code=kzalloc.13kzallocal
	(sizeof(struct ">
 code=ttion17_data class="li/op">ttion17_dataal
	), ">
 code=GFP_KERNEL.13GFP_KERNELal
	)n/button>
	  
  
   */1


 code=p class="li/op">prch<)/button>
	  
  
  
  v2.6.27.20
 code=ENOMEM class="li/op">ENOMEMrch
	  
  
  13
  v135rch
	  
  
  
  
  136al
	Seeeeee ">
 code=p class="li/op">prch<_tcin">
 code=mask.13maskal
	 =S0xffffn/button>
	  
  
  13
 13
 13
 code=p class="li/op">prch<_tcin">
 code=h>sh class="li/op">h>shal
	 =S">
 code=DEFAULT_HASH_SIZE class="li/op">DEFAULT_HASH_SIZEal
	n/button>
	  
  
  138 13
 13
 code=p class="li/op">prch<_tcin">
 code=fall_through class="li/op">fall_throughal
	 =S1n/button>
	  
  
  139 13
 13
	  
  
  
 code=tp class="li/op">tpal
	_tcin">
 code=root class="li/op">rootal
	 =S">
 code=p class="li/op">prch
	  
  
     3   4 */14

	  
  
  
  v2.6.27.20
	  
  
  14
  v145al
	st>
	< int/button>
	  
  
  
  
  146al
	">
 code=__ttion17_delet
 1lass="li/op">__ttion17_delet
al
	(struct ">
 code=ttf_proto 1lass="li/op">ttf_protoal
	S*">
 code=tp class="li/op">tpal
	, unsig> d longS">
 code=arg class="li/op">argal
	, int ">
 code=lock.13lockrch<)/button>
	  
  
  14
 13
 13
	  
  
  148 13
 13
 code=ttion17_data class="li/op">ttion17_dataal
	S*">
 code=p class="li/op">prch< =S">
 code=PRIV class="li/op">PRIVal
	(">
 code=tp class="li/op">tpal
	)n/button>
	  
  
  149 13
 13
 code=ttion17_filterame="L2 class="li/op">ttion17_filterame="L2al
	S*">
 code=r class="li/op">ral
	 = (struct ">
 code=ttion17_filterame="L2 class="li/op">ttion17_filterame="L2al
	S*)c">
 code=arg class="li/op">argal
	n/button>
	  
  
  
 code=ttion17_filter class="li/op">ttion17_filteral
	S*">
 code=f class="li/op">fal
	 =S">
 code=NULL.13NULLal
	n/button>
	  
  
     3   4
 code=pr_debug class="li/op">pr_debugal
	("span>
&quointtion17_delet
(tp %p,arg 0x%lx),p %p,f %p\n&quoined/cls_, ">
 code=tp class="li/op">tpal
	, ">
 code=arg class="li/op">argal
	, ">
 code=p class="li/op">prch<, ">
 code=f class="li/op">fal
	)n/button>
	  
  
   */15

 code=p class="li/op">prch<_tcin">
 code=perfect class="li/op">perfectal
	)S{/button>
	  
  
  
  v2.6.27.20
 code=m class="li/op">ral
	_tcin">
 code=me= class="li/op">re"al
	.">
 code=ref=" class="li/op">lass=rch<)/button>
	  
  
  1

  v155al
	Seeeeee Seeeeee pppppppp0b1843c-">
 code=ENOENT class="li/op">ENOENTal
	n/button>
	  
  
  
  
  156al
	Seeeeee } else {/button>
	  
  
  15
 13
 13
 code=i class="li/op">ial
	n/button>
	  
  
  158 13
 13
 code=ttion17_filter class="li/op">ttion17_filteral
	S**">
 code=walk.13walkal
	 =S">
 code=NULL.13NULLal
	n/button>
	  
  
  159 13
 13
	  
  
  
 code=i class="li/op">ial
	 =S0n ">
 code=i class="li/op">ial
	.6.22 ">
 code=p class="li/op">prch<_tcin">
 code=h>sh class="li/op">h>shal
	n ">
 code=i class="li/op">ial
	++)/button>
	  
  
     3
 code=walk.13walkal
	 =S">
 code=p class="li/op">prch<_tcin">
 code=h class="li/op">hal
	+">
 code=i class="li/op">ial
	nS*">
 code=walk.13walkal
	n ">
 code=walk.13walkal
	 =S&n(*">
 code=walk.13walkal
	)_tcin">
 code=nn fallass="li/op">nn fal
	)/button>
	  
  
     4
 code=walk.13walkal
	)_tcin">
 code=me="L2 class="li/op">me="L2al
	 ==S">
 code=r class="li/op">ral
	)/button>
	  
  
   */16

 code=found class="li/op">foundal
	n/button>
	  
  
  
  v2.6.27.20
 code=ENOENT class="li/op">ENOENTal
	n/button>
	  
  
  16
  v165rch
	  
  
  
  
  166al
	">
 code=found class="li/op">foundal
	:/button>
	  
  
  16
 13
 13
 code=f class="li/op">fal
	 =S*">
 code=walk.13walkal
	n/button>
	  
  
  168 13
 13
 code=lock.13lockrch<)/button>
	  
  
  169 13
 13
 code=ttf_tree_lock.13ttf_tree_lockal
	(">
 code=tp class="li/op">tpal
	)n/button>
	  
  
  
 code=walk.13walkal
	 =S">
 code=f class="li/op">fal
	_tcin">
 code=nn fallass="li/op">nn fal
	n/button>
	  
  
     3
 code=lock.13lockrch<)/button>
	  
  
     4
 code=ttf_tree_unlock.13ttf_tree_unlockal
	(">
 code=tp class="li/op">tpal
	)n/button>
	  
  
   */17

	  
  
  
  v2.6.27.20
 code=ttf_unbion_filter class="li/op">ttf_unbion_filteral
	(">
 code=tp class="li/op">tpal
	, &n">
 code=m class="li/op">ral
	_tcin">
 code=me= class="li/op">re"al
	)n/button>
	  
  
  17
  v175al
	Seeeeee ">
 code=ttf_ex2"adestroy class="li/op">ttf_ex2"adestroyal
	(">
 code=tp class="li/op">tpal
	, &n">
 code=m class="li/op">ral
	_tcin">
 code=ex2" class="li/op">ex2"al
	)n/button>
	  
  
  
  
  176al
	Seeeeee ">
 code=kfree.13kfreeal
	(">
 code=f class="li/op">fal
	)n/button>
	  
  
  1

 13
 13
	  
  
  178 13
 13
	  
  
  179 13
 13
	  
  
  
 code=ttion17_delet
 1lass="li/op">ttion17_delet
al
	(struct ">
 code=ttf_proto 1lass="li/op">ttf_protoal
	S*">
 code=tp class="li/op">tpal
	, unsig> d longS">
 code=arg class="li/op">argal
	)/button>
	  
  
     3   4
 code=__ttion17_delet
 1lass="li/op">__ttion17_delet
al
	(">
 code=tp class="li/op">tpal
	, ">
 code=arg class="li/op">argal
	, 1)n/button>
	  
  
   */18

	  
  
  
  v2.6.27.20
	  
  
  18
  v185al
	st>
	< ">
 code=inon>
 1lass="li/op">inon>
rch< int/button>
	  
  
  
  
  186al
	">
 code=valid_perfect_h>sh class="li/op">valid_perfect_h>shal
	(struct ">
 code=ttion17_data class="li/op">ttion17_dataal
	S*">
 code=p class="li/op">prch<)/button>
	  
  
  18
 13
 13
	  
  
  188 13
 13
 code=p class="li/op">prch<_tcin">
 code=h>sh class="li/op">h>shal
	 _preS(">
 code=p class="li/op">prch<_tcin">
 code=mask.13maskal
	 "lxr_preS">
 code=p class="li/op">prch<_tcin">
 code=shift class="li/op">shiftal
	)n/button>
	  
  
  189 13
 13
	  
  
     3 *
	< const struct ">
 code=nla_policy class="li/op">nla_policyal
	 ">
 code=ttion17_policy class="li/op">ttion17_policyal
	[">
 code=TCA_TCINDEX_MAX class="li/op">TCA_TCINDEX_MAXal
	 + 1] =S{/button>
	  
  
     4
 code=TCA_TCINDEX_HASH class="li/op">TCA_TCINDEX_HASHal
	]eeeee pppppppp=S{ .">
 code=typ
 1lass="li/op">typ
al
	 =S">
 code=NLA_U3>   4NLA_U3>al
	 },/button>
	  
  
   */19

 code=TCA_TCINDEX_MASK class="li/op">TCA_TCINDEX_MASKal
	]eeeee pppppppp=S{ .">
 code=typ
 1lass="li/op">typ
al
	 =S">
 code=NLA_U17.13NLA_U17al
	 },/button>
	  
  
  
  v2.6.27.20
 code=TCA_TCINDEX_SHIFT class="li/op">TCA_TCINDEX_SHIFTal
	]eeeee ppppppp=S{ .">
 code=typ
 1lass="li/op">typ
al
	 =S">
 code=NLA_U3>   4NLA_U3>al
	 },/button>
	  
  
  19
  v195al
	Seeeeee [">
 code=TCA_TCINDEX_FALL_THROUGH class="li/op">TCA_TCINDEX_FALL_THROUGHal
	]eeeee =S{ .">
 code=typ
 1lass="li/op">typ
al
	 =S">
 code=NLA_U3>   4NLA_U3>al
	 },/button>
	  
  
  
  
  196al
	Seeeeee [">
 code=TCA_TCINDEX_CLASSID class="li/op">TCA_TCINDEX_CLASSIDal
	]eeeee ppppp=S{ .">
 code=typ
 1lass="li/op">typ
al
	 =S">
 code=NLA_U3>   4NLA_U3>al
	 },/button>
	  
  
  19
 13
 13
	  
  
  198 13
 13
	  
  
  199 13
 13
	< int/button>
	  
  
  
 code=ttion17_set_parm" class="li/op">ttion17_set_parm"al
	(struct ">
 code=ttf_proto 1lass="li/op">ttf_protoal
	S*">
 code=tp class="li/op">tpal
	, unsig> d longS">
 code=bas
 1lass="li/op">bas
al
	, ">
 code=u3>   4u32al
	S">
 code=h>ndl
 1lass="li/op">h>ndl
al
	,/button>
	  
  
     3
 code=ttion17_data class="li/op">ttion17_dataal
	S*">
 code=p class="li/op">prch<, struct ">
 code=ttion17_filterame="L2 class="li/op">ttion17_filterame="L2al
	S*">
 code=r class="li/op">ral
	,/button>
	  
  
     4
 code=nlattr class="li/op">nlattral
	S**">
 code=tb class="li/op">tbrch<, struct ">
 code=nlattr class="li/op">nlattral
	S*">
 code=es2 class="li/op">es2rch<)/button>
	  
  
   */203n/o203rch<{/button>
	  
  
  
  v2.6.27.20
 code=err class="li/op">erral
	, ">
 code=balloc.13ballocal
	 =S0n/button>
	  
  
  205n/o205al
	Seeeeee struct ">
 code=ttion17_filterame="L2 class="li/op">ttion17_filterame="L2al
	S">
 code=new_filterame="L2 class="li/op">new_filterame="L2al
	, *">
 code=old_r class="li/op">old_ral
	 =S">
 code=r class="li/op">ral
	n/button>
	  
  
  
  
  
 code=ttion17_filterame="L2 class="li/op">ttion17_filterame="L2al
	S">
 code=cr class="li/op">cral
	n/button>
	  
  
  
 13
 code=ttion17_data class="li/op">ttion17_dataal
	S">
 code=cp class="li/op">cprch
	  
  
  208 13
 13
 code=ttion17_filter class="li/op">ttion17_filteral
	S*">
 code=f class="li/op">fal
	 =S">
 code=NULL.13NULLal
	npaspan>

 code=ttf_ex2" class="li/op">ttf_ex2"al
	S">
 code=
 1lass="li/op">erch
	  
  
  0   3>   3
 code=err class="li/op">erral
	 =S">
 code=ttf_ex2"avalidat
 1lass="li/op">ttf_ex2"avalidat
al
	(">
 code=tp class="li/op">tpal
	, ">
 code=tb class="li/op">tbrch<, ">
 code=es2 class="li/op">es2rch<, &n">
 code=
 1lass="li/op">erch<, &n">
 code=ttion17_ex2_map class="li/op">ttion17_ex2_maprch<)n/button>
	  
  
     4
 code=err class="li/op">erral
	 6.22 0)/button>
	  
  
   */21

 code=err class="li/op">erral
	n/button>
	  
  
  
  v2.6.27.20
	  
  
  21
  v215al
	Seeeeee ">
 code=memcpy class="li/op">memcpyal
	(&n">
 code=cp class="li/op">cprch<, ">
 code=p class="li/op">prch<, sizeof(">
 code=cp class="li/op">cprch<))n/button>
	  
  
  
  
  216al
	Seeeeee ">
 code=memse2 class="li/op">memse2al
	(&n">
 code=new_filterame="L2 class="li/op">new_filterame="L2al
	, 0, sizeof(">
 code=new_filterame="L2 class="li/op">new_filterame="L2al
	))n/button>
	  
  
  
 13
	  
  
  218 13
 13
 code=old_r class="li/op">old_ral
	)/button>
	  
  
  219 13
 13
 code=memcpy class="li/op">memcpyal
	(&n">
 code=cr class="li/op">cral
	, ">
 code=m class="li/op">ral
	, sizeof(">
 code=cr class="li/op">cral
	))n/button>
	  
  
     3
 code=memse2 class="li/op">memse2al
	(&n">
 code=cr class="li/op">cral
	, 0, sizeof(">
 code=cr class="li/op">cral
	))n/button>
	  
  
  >   4 */22

 code=tb class="li/op">tbrch<[">
 code=TCA_TCINDEX_HASH class="li/op">TCA_TCINDEX_HASHal
	])/button>
	  
  
  
  v2.6.27.20
 code=cp class="li/op">cprch<.">
 code=h>sh class="li/op">h>shal
	 =S">
 code=nla_get_u3>   4nla_get_u3>al
	(">
 code=tb class="li/op">tbrch<[">
 code=TCA_TCINDEX_HASH class="li/op">TCA_TCINDEX_HASHal
	])n/button>
	  
  
  22
  v225rch
	  
  
  
  
  226al
	Seeeeee if (">
 code=tb class="li/op">tbrch<[">
 code=TCA_TCINDEX_MASK class="li/op">TCA_TCINDEX_MASKal
	])/button>
	  
  
  
 13
 code=cp class="li/op">cprch<.">
 code=mask.13maskal
	 =S">
 code=nla_get_u17.13nla_get_u17al
	(">
 code=tb class="li/op">tbrch<[">
 code=TCA_TCINDEX_MASK class="li/op">TCA_TCINDEX_MASKal
	])n/button>
	  
  
  228 13
 13
	  
  
  229 13
 13
 code=tb class="li/op">tbrch<[">
 code=TCA_TCINDEX_SHIFT class="li/op">TCA_TCINDEX_SHIFTal
	])/button>
	  
  
  
 code=cp class="li/op">cprch<.">
 code=shift class="li/op">shiftal
	 =S">
 code=nla_get_u3>   4nla_get_u3>al
	(">
 code=tb class="li/op">tbrch<[">
 code=TCA_TCINDEX_SHIFT class="li/op">TCA_TCINDEX_SHIFTal
	])n/button>
	  
  
     3   4
 code=err class="li/op">erral
	 =S-">
 code=EBUSY class="li/op">EBUSYal
	n/button>
	  
  
   */2



  v2.6.27.20
23
  v235rch

 code=cp class="li/op">cprch<.">
 code=perfect class="li/op">perfectal
	)S{/button>
	  
  
  23
 13
 13
 code=valid_perfect_h>sh class="li/op">valid_perfect_h>shal
	(&n">
 code=cp class="li/op">cprch<) ||/button>
	  
  
  238 13
 13
 code=cp class="li/op">cprch<.">
 code=h>sh class="li/op">h>shal
	 _preS">
 code=cp class="li/op">cprch<.">
 code=alloc_h>sh class="li/op">alloc_h>shal
	)/button>
	  
  
  239 13
 13
 code=errou2 class="li/op">errou2al
	n/button>
	  
  
  
 code=cp class="li/op">cprch<.">
 code=h class="li/op">hal
	 _ampn&nS">
 code=cp class="li/op">cprch<.">
 code=h>sh class="li/op">h>shal
	 !=S">
 code=cp class="li/op">cprch<.">
 code=alloc_h>sh class="li/op">alloc_h>shal
	)/button>
	  
  
     3
 code=errou2 class="li/op">errou2al
	n/button>
	  
  
     4 */24

 code=err class="li/op">erral
	 =S-">
 code=EINVAL.13EINVALal
	n/button>
	  
  
  
  v2.6.27.20
 code=tb class="li/op">tbrch<[">
 code=TCA_TCINDEX_FALL_THROUGH class="li/op">TCA_TCINDEX_FALL_THROUGHal
	])/button>
	  
  
  24
  v245al
	Seeeeee Seeeeee ">
 code=cp class="li/op">cprch<.">
 code=fall_through class="li/op">fall_throughal
	 =S">
 code=nla_get_u3>   4nla_get_u3>al
	(">
 code=tb class="li/op">tbrch<[">
 code=TCA_TCINDEX_FALL_THROUGH class="li/op">TCA_TCINDEX_FALL_THROUGHal
	])n/button>
	  
  
  
  
  24arch
	  
  
  24
 13
 13
 code=cp class="li/op">cprch<.">
 code=h>sh class="li/op">h>shal
	)S{/button>
	  
  
  248 13
 13
shing 30.83 is below the threshold.ed/cls_tcindex.c      Packetv2.6.30.83  >
2 0me="L3"250   3
25ame="L3"25>   3
 code=cp class="li/op">cprch<.">
 code=mask.13maskal
	 "lxr_preS">
 code=cp class="li/op">cprch<.">
 code=shift class="li/op">shiftal
	).6.22 ">
 code=PERFECT_HASH_THRESHOLD class="li/op">PERFECT_HASH_THRESHOLDal
	)/button>
	  
  
     4
 code=cp class="li/op">cprch<.">
 code=h>sh class="li/op">h>shal
	 =S(">
 code=cp class="li/op">cprch<.">
 code=mask.13maskal
	 "lxr_preS">
 code=cp class="li/op">cprch<.">
 code=shift class="li/op">shiftal
	).+S1n/button>
	  
  
   */25

	  
  
  
  v2.6.27.20
 code=cp class="li/op">cprch<.">
 code=h>sh class="li/op">h>shal
	 =S">
 code=DEFAULT_HASH_SIZE class="li/op">DEFAULT_HASH_SIZEal
	n/button>
	  
  
  2

  v255al
	Seeeeee }/button>
	  
  
  
  
  25arch
	  
  
  25
 13
 13
 code=cp class="li/op">cprch<.">
 code=perfect class="li/op">perfectal
	 &n&nS!">
 code=cp class="li/op">cprch<.">
 code=h class="li/op">hal
	)/button>
	  
  
  258 13
 13
 code=cp class="li/op">cprch<.">
 code=alloc_h>sh class="li/op">alloc_h>shal
	 =S">
 code=cp class="li/op">cprch<.">
 code=h>sh class="li/op">h>shal
	n/button>
	  
  
  259 13
 13
	  
  
  ndl
 &nS~(mask "lxr_preSshift))ed/cls_tcindex.c      Packetv2.6.30.83  >
26ame="L3"26>   3ndl
s that may bef="e valid after s="e futureed/cls_tcindex.c      Packetv2.6.30.83  >
26ame="L4"26>   4nge. While this is extrenely unlikely to ever matter,ed/cls_tcindex.c      Packetv2.6.30.83  >
26span cla26ss="comment"> */26


26
6.27.2026"
	  >
  v2.6.27.20
26
  v265al
	Seeeeee if (">
 code=cp class="li/op">cprch<.">
 code=perfect class="li/op">perfectal
	 ||S">
 code=valid_perfect_h>sh class="li/op">valid_perfect_h>shal
	(&n">
 code=cp class="li/op">cprch<))/button>
	  
  
  
  
  266al
	Seeeeee Seeeeee if (">
 code=h>ndl
 1lass="li/op">h>ndl
al
	 "lxr=S">
 code=cp class="li/op">cprch<.">
 code=alloc_h>sh class="li/op">alloc_h>shal
	)/button>
	  
  
  26
 13
 13
 code=errou2 class="li/op">errou2al
	n/button>
	  
  
  268 13
 13
	  
  
  269 13
 13
	  
  
  
 code=err class="li/op">erral
	 =S-">
 code=ENOMEM class="li/op">ENOMEMrch
	  
  
     3
 code=cp class="li/op">cprch<.">
 code=perfect class="li/op">perfectal
	 &n&nS!">
 code=cp class="li/op">cprch<.">
 code=h class="li/op">hal
	)S{/button>
	  
  
     4
 code=valid_perfect_h>sh class="li/op">valid_perfect_h>shal
	(&n">
 code=cp class="li/op">cprch<))S{/button>
	  
  
   */27

 code=cp class="li/op">cprch<.">
 code=perfect class="li/op">perfectal
	 =S">
 code=kcalloc.13kcallocal
	(">
 code=cp class="li/op">cprch<.">
 code=h>sh class="li/op">h>shal
	, sizeof(*">
 code=r class="li/op">ral
	), ">
 code=GFP_KERNEL.13GFP_KERNELal
	)n/button>
	  
  
  
  v2.6.27.20
 code=cp class="li/op">cprch<.">
 code=perfect class="li/op">perfectal
	)/button>
	  
  
  27
  v275al
	Seeeeee Seeeeee pppppppp        goto ">
 code=errou2 class="li/op">errou2al
	n/button>
	  
  
  
  
  276al
	Seeeeee Seeeeee         ">
 code=balloc.13ballocal
	 =S1n/button>
	  
  
  2

 13
 13
	  
  
  278 13
 13
 code=cp class="li/op">cprch<.">
 code=h class="li/op">hal
	 =S">
 code=kcalloc.13kcallocal
	(">
 code=cp class="li/op">cprch<.">
 code=h>sh class="li/op">h>shal
	, sizeof(">
 code=f class="li/op">fal
	), ">
 code=GFP_KERNEL.13GFP_KERNELal
	)n/button>
	  
  
  279 13
 13
 code=cp class="li/op">cprch<.">
 code=h class="li/op">hal
	)/button>
	  
  
  
 code=errou2 class="li/op">errou2al
	n/button>
	  
  
     3
 code=balloc.13ballocal
	 =S2n/button>
	  
  
     4 */28

	  
  
  
  v2.6.27.20
	  
  
  28
  v285al
	Seeeeee if (">
 code=cp class="li/op">cprch<.">
 code=perfect class="li/op">perfectal
	)/button>
	  
  
  
  
  286al
	Seeeeee Seeeeee ">
 code=r class="li/op">ral
	 =S">
 code=cp class="li/op">cprch<.">
 code=perfect class="li/op">perfectal
	 +S">
 code=h>ndl
 1lass="li/op">h>ndl
al
	n/button>
	  
  
  28
 13
 13
	  
  
  288 13
 13
 code=r class="li/op">ral
	 =S">
 code=ttion17_lookup class="li/op">ttion17_lookupal
	(&n">
 code=cp class="li/op">cprch<, ">
 code=h>ndl
 1lass="li/op">h>ndl
al
	) ? : &n">
 code=new_filterame="L2 class="li/op">new_filterame="L2al
	n/button>
	  
  
  289 13
 13
	  
  
  
 code=r class="li/op">ral
	 == &n">
 code=new_filterame="L2 class="li/op">new_filterame="L2al
	)S{/button>
	  
  
     3
 code=f class="li/op">fal
	 =S">
 code=kzalloc.13kzallocal
	(sizeof(*">
 code=f class="li/op">fal
	), ">
 code=GFP_KERNEL.13GFP_KERNELal
	)n/button>
	  
  
     4
 code=f class="li/op">fal
	)/button>
	  
  
   */29

 code=errou2_alloc.13errou2_allocal
	n/button>
	  
  
  
  v2.6.27.20
	  
  
  29
  v295rch
	  
  
  
  
  296al
	Seeeeee if (">
 code=tb class="li/op">tbrch<[">
 code=TCA_TCINDEX_CLASSID class="li/op">TCA_TCINDEX_CLASSIDal
	])S{/button>
	  
  
  29
 13
 13
 code=cr class="li/op">cral
	.">
 code=me= class="li/op">re"al
	.">
 code=ref="id class="li/op">ref="idal
	 =S">
 code=nla_get_u3>   4nla_get_u3>al
	(">
 code=tb class="li/op">tbrch<[">
 code=TCA_TCINDEX_CLASSID class="li/op">TCA_TCINDEX_CLASSIDal
	])n/button>
	  
  
  298 13
 13
 code=ttf_bion_filter class="li/op">ttf_bion_filteral
	(">
 code=tp class="li/op">tpal
	, &n">
 code=cr class="li/op">cral
	.">
 code=me= class="li/op">re"al
	, ">
 code=bas
 1lass="li/op">bas
al
	)n/button>
	  
  
  299 13
 13
	  
  
     3
 code=ttf_ex2"ach>nge class="li/op">ttf_ex2"ach>ngeal
	(">
 code=tp class="li/op">tpal
	, &n">
 code=cr class="li/op">cral
	.">
 code=ex2" class="li/op">ex2"al
	, &n">
 code=
 1lass="li/op">erch<)n/button>
	  
  
     4 */303n/o303al
	Seeeeee ">
 code=ttf_tree_lock.13ttf_tree_lockal
	(">
 code=tp class="li/op">tpal
	)n/button>
	  
  
  
  v2.6.27.20
 code=old_r class="li/op">old_ral
	 _ampn&nS">
 code=old_r class="li/op">old_ral
	 !=S">
 code=r class="li/op">ral
	)/button>
	  
  
  305n/o305al
	Seeeeee Seeeeee ">
 code=memse2 class="li/op">memse2al
	(">
 code=old_r class="li/op">old_ral
	, 0, sizeof(*">
 code=old_r class="li/op">old_ral
	))n/button>
	  
  
  
  
  
	  
  
  
 13
 code=memcpy class="li/op">memcpyal
	(">
 code=p class="li/op">pal
	, &n">
 code=cp class="li/op">cprch<, sizeof(">
 code=cp class="li/op">cprch<))n/button>
	  
  
  308 13
 13
 code=memcpy class="li/op">memcpyal
	(">
 code=m class="li/op">ral
	, &n">
 code=cr class="li/op">cral
	, sizeof(">
 code=cr class="li/op">cral
	))n/button>
	  
  
  309 13
 13
	  
  
  0   3
 code=r class="li/op">ral
	 == &n">
 code=new_filterame="L2 class="li/op">new_filterame="L2al
	)S{/button>
	  
  
  >   3
 code=ttion17_filter class="li/op">ttion17_filteral
	S**">
 code=fp class="li/op">fprch
	  
  
     4 */31

 code=f class="li/op">fal
	_tcin">
 code=key class="li/op">keyal
	 =S">
 code=h>ndl
 1lass="li/op">h>ndl
al
	n/button>
	  
  
  
  v2.6.27.20
 code=f class="li/op">fal
	_tcin">
 code=me="L2 class="li/op">me="L2al
	 =S">
 code=new_filterame="L2 class="li/op">new_filterame="L2al
	n/button>
	  
  
  31
  v315al
	Seeeeee Seeeeee ">
 code=f class="li/op">fal
	_tcin">
 code=nn fallass="li/op">nn fal
	 =S">
 code=NULL.13NULLal
	n/button>
	  
  
  
  
  316al
	Seeeeee Seeeeee hed/(">
 code=fp class="li/op">fprch< =S">
 code=p class="li/op">prch<_tcin">
 code=h class="li/op">hal
	+(">
 code=h>ndl
 1lass="li/op">h>ndl
al
	 "#37; ">
 code=p class="li/op">prch<_tcin">
 code=h>sh class="li/op">h>shal
	)nS*">
 code=fp class="li/op">fprch
 code=fp class="li/op">fprch< =S&n(*">
 code=fp class="li/op">fprch<)_tcin">
 code=nn fallass="li/op">nn fal
	)/button>
	  
  
  
 13

 code=fp class="li/op">fprch< =S">
 code=f class="li/op">fal
	n/button>
	  
  
  319 13
 13
	  
  
  
 code=ttf_tree_unlock.13ttf_tree_unlockal
	(">
 code=tp class="li/op">tpal
	)n/button>
	  
  
     3>   4 */32

	  
  
  
  v2.6.27.20
 code=errou2_alloc.13errou2_allocal
	:/button>
	  
  
  32
  v325al
	Seeeeee if (">
 code=balloc.13ballocal
	 == 1)/button>
	  
  
  
  
  326al
	Seeeeee Seeeeee ">
 code=kfree.13kfreeal
	(">
 code=cp class="li/op">cprch<.">
 code=perfect class="li/op">perfectal
	)n/button>
	  
  
  
 13
 code=balloc.13ballocal
	 == 2)/button>
	  
  
  328 13
 13
 code=kfree.13kfreeal
	(">
 code=cp class="li/op">cprch<.">
 code=h class="li/op">hal
	)n/button>
	  
  
  329 13
 13
 code=errou2.13errou2al
	:/button>
	  
  
  
 code=ttf_ex2"adestroy class="li/op">ttf_ex2"adestroyal
	(">
 code=tp class="li/op">tpal
	, &n">
 code=
 1lass="li/op">erch<)n/button>
	  
  
     3
 code=err.13erral
	n/button>
	  
  
     4 */3


	  
  
  
  v2.6.27.20
	< int/button>
	  
  
  33
  v335rch
 code=ttion17_ch>nge class="li/op">ttion17_ch>ngeal
	(struct ">
 code=sk_buff class="li/op">sk_buffal
	S*">
 code=in_skb class="li/op">in_skbal
	,/button>
	  
  
  
  
  336al
	Seeeeee Seeeeeestruct ">
 code=ttf_proto 1lass="li/op">ttf_protoal
	S*">
 code=tp class="li/op">tpal
	, unsig> d longS">
 code=bas
 1lass="li/op">bas
al
	, ">
 code=u3>   4u32al
	S">
 code=h>ndl
 1lass="li/op">h>ndl
al
	,/button>
	  
  
  
 13
 code=nlattr class="li/op">nlattral
	S**">
 code=tca class="li/op">ttaal
	, unsig> d longS*">
 code=arg class="li/op">argal
	)/button>
	  
  
  338 13
 13
	  
  
  339 13
 13
 code=nlattr class="li/op">nlattral
	S*">
 code=op2.13op2rch< =S">
 code=tca class="li/op">ttaal
	[">
 code=TCA_OPTIONS class="li/op">TCA_OPTIONSal
	]n/button>
	  
  
  
 code=nlattr class="li/op">nlattral
	S*">
 code=tb class="li/op">tbrch<[">
 code=TCA_TCINDEX_MAX class="li/op">TCA_TCINDEX_MAXal
	 + 1]n/button>
	  
  
     3
 code=ttion17_data class="li/op">ttion17_dataal
	S*">
 code=p class="li/op">prch< =S">
 code=PRIV class="li/op">PRIVal
	(">
 code=tp class="li/op">tpal
	)n/button>
	  
  
     4
 code=ttion17_filterame="L2 class="li/op">ttion17_filterame="L2al
	S*">
 code=r class="li/op">ral
	 =S(struct ">
 code=ttion17_filterame="L2 class="li/op">ttion17_filterame="L2al
	S*)S*">
 code=arg class="li/op">argal
	n/button>
	  
  
   */34

 code=err class="li/op">erral
	n/button>
	  
  
  
  v2.6.27.20
	  
  
  34
  v345al
	Seeeeee ">
 code=pradebug class="li/op">pradebugal
	("span>
"ttion17_ch>nge(tp "#37;p,h>ndl
 0x"#37;08x,tta "#37;p,arg "#37;p),op2 "#37;p,"ed/cls_tcindex.c      Packetv2.6.30.83  >
34  v2.6.1347.13
  
  346al
	Seeeeee Seee"span>
"p "#37;p,r "#37;p,*arg 0x"#37;lx\n"ed/cls_,/button>
	  
  
  34
 13
 13
 code=tp class="li/op">tpal
	, ">
 code=h>ndl
 1lass="li/op">h>ndl
al
	,S">
 code=tca class="li/op">ttaal
	, ">
 code=arg class="li/op">argal
	, ">
 code=op2.13op2rch<, ">
 code=p class="li/op">prch<, ">
 code=m class="li/op">ral
	, ">
 code=arg class="li/op">argal
	 ?S*">
 code=arg class="li/op">argal
	 : 0L)n/button>
	  
  
  348 13
 13
	  
  
  349 13
 13
 code=op2.13op2rch<)/button>
	  
  
     3   4
 code=err class="li/op">erral
	 =S">
 code=nla_parse_nested class="li/op">nla_parse_nestedal
	(">
 code=tb class="li/op">tbrch<, ">
 code=TCA_TCINDEX_MAX class="li/op">TCA_TCINDEX_MAXal
	, ">
 code=op2.13op2rch<, ">
 code=ttion17_policy class="li/op">ttion17_policyal
	)n/button>
	  
  
   */35

 code=err class="li/op">erral
	 6.22 0)/button>
	  
  
  
  v2.6.27.20
 code=err.13erral
	n/button>
	  
  
  3

  v355rch
	  
  
  
  
  356al
	Seeeeee 0b1843c">
 code=ttion17_set_parm" class="li/op">ttion17_set_parm"al
	(">
 code=tp class="li/op">tpal
	, ">
 code=bas
 1lass="li/op">bas
al
	, ">
 code=h>ndl
 1lass="li/op">h>ndl
al
	,S">
 code=p class="li/op">prch<, ">
 code=m class="li/op">ral
	, ">
 code=tb class="li/op">tbrch<, ">
 code=tca class="li/op">ttaal
	[">
 code=TCA_RATE class="li/op">TCA_RATEal
	])n/button>
	  
  
  35
 13
 13
	  
  
  358 13
 13
	  
  
  359 13
 13
	  
  
  
 code=ttion17_walk.13ttion17_walkal
	(struct ">
 code=ttf_proto 1lass="li/op">ttf_protoal
	S*">
 code=tp class="li/op">tpal
	, struct ">
 code=ttf_walker class="li/op">ttf_walkeral
	S*">
 code=walker class="li/op">walkeral
	)/button>
	  
  
     3   4
 code=ttion17_data class="li/op">ttion17_dataal
	S*">
 code=p class="li/op">prch< =S">
 code=PRIV class="li/op">PRIVal
	(">
 code=tp class="li/op">tpal
	)n/button>
	  
  
   */36

 code=ttion17_filter class="li/op">ttion17_filteral
	S*">
 code=f class="li/op">fal
	, *">
 code=nn fallass="li/op">nn fal
	n/button>
	  
  
  
  v2.6.27.20
 code=i class="li/op">ial
	n/button>
	  
  
  36
  v365rch
	  
  
  
  
  366al
	Seeeeee ">
 code=pradebug class="li/op">pradebugal
	("span>
"ttion17_walk(tp "#37;p,walker "#37;p),p "#37;p\n"ed/cls_,e">
 code=tp class="li/op">tpal
	, ">
 code=walker class="li/op">walkeral
	,S">
 code=p class="li/op">prch<)n/button>
	  
  
  36
 13
 13
 code=p class="li/op">prch<_tcin">
 code=perfect class="li/op">perfectal
	)S{/button>
	  
  
  368 13
 13
 code=i class="li/op">ial
	 =S0n ">
 code=i class="li/op">ial
	.6.22 ">
 code=p class="li/op">prch<_tcin">
 code=h>sh class="li/op">h>shal
	n ">
 code=i class="li/op">ial
	++)S{/button>
	  
  
  369 13
 13
 code=p class="li/op">prch<_tcin">
 code=perfect class="li/op">perfectal
	[">
 code=i class="li/op">ial
	].">
 code=me= class="li/op">re"al
	.">
 code=ref=" class="li/op">lass=al
	)/button>
	  
  
     3
 code=walker class="li/op">walkeral
	_tcin">
 code=count class="li/op">countal
	.6lxr=S">
 code=walker class="li/op">walkeral
	_tcin">
 code=skip class="li/op">skipal
	)S{/button>
	  
  
     4
 code=walker class="li/op">walkeral
	_tcin">
 code=fn class="li/op">fnal
	(">
 code=tp class="li/op">tpal
	,/button>
	  
  
   */37
 d long) (">
 code=p class="li/op">prch<_tcin">
 code=perfect class="li/op">perfectal
	+">
 code=i class="li/op">ial
	), ">
 code=walker class="li/op">walkeral
	)/button>
	  
  
  
  v2.6.27.20
	  
  
  37
  v375al
	Seeeeee Seeeeee pppppppp                ">
 code=walker class="li/op">walkeral
	_tcin">
 code=stop class="li/op">stopal
	 =S1n/button>
	  
  
  
  
  376al
	Seeeeee Seeeeee                         0b1843n/button>
	  
  
  3

 13
 13
	  
  
  378 13
 13
	  
  
  379 13
 13
 code=walker class="li/op">walkeral
	_tcin">
 code=count class="li/op">countal
	++n/button>
	  
  
     3   4
 code=p class="li/op">prch<_tcin">
 code=h class="li/op">hal
	)/button>
	  
  
   */38

	  
  
  
  v2.6.27.20
 code=i class="li/op">ial
	 =S0n ">
 code=i class="li/op">ial
	.6.22 ">
 code=p class="li/op">prch<_tcin">
 code=h>sh class="li/op">h>shal
	n ">
 code=i class="li/op">ial
	++)S{/button>
	  
  
  38
  v385al
	Seeeeee Seeeeee hed/(">
 code=f class="li/op">fal
	 =S">
 code=p class="li/op">prch<_tcin">
 code=h class="li/op">hal
	[">
 code=i class="li/op">ial
	]n ">
 code=f class="li/op">fal
	n ">
 code=f class="li/op">fal
	 =S">
 code=ne fallass="li/op">nn fal
	)S{/button>
	  
  
  
  
  386al
	Seeeeee Seeeeee Seeeeee ">
 code=nn fallass="li/op">nn fal
	 =S">
 code=f class="li/op">fal
	_tcin">
 code=nn fallass="li/op">nn fal
	n/button>
	  
  
  38
 13
 13
 code=walker class="li/op">walkeral
	_tcin">
 code=count class="li/op">countal
	.6lxr=S">
 code=walker class="li/op">walkeral
	_tcin">
 code=skip class="li/op">skipal
	)S{/button>
	  
  
  388 13
 13
 code=walker class="li/op">walkeral
	_tcin">
 code=fn class="li/op">fnal
	(">
 code=tp class="li/op">tpal
	, (unsig> d long) &n">
 code=f class="li/op">fal
	_tcin">
 code=me="L2 class="li/op">me="L2al
	,/button>
	  
  
  389 13
 13
 code=walker class="li/op">walkeral
	) 6.22 0)S{/button>
	  
  
  
 code=walker class="li/op">walkeral
	_tcin">
 code=stop class="li/op">stopal
	 =S1n/button>
	  
  
     3   4 */39

	  
  
  
  v2.6.27.20
 code=walker class="li/op">walkeral
	_tcin">
 code=count class="li/op">countal
	++n/button>
	  
  
  39
  v395al
	Seeeeee Seeeeee }/button>
	  
  
  
  
  396al
	Seeeeee }/button>
	  
  
  39
 13
 13
	  
  
  398 13
 13
	  
  
  399 13
 13
	  
  
  
 code=ttion17_destroy_elenet/ class="li/op">ttion17_destroy_elenet/al
	(struct ">
 code=ttf_proto 1lass="li/op">ttf_protoal
	S*">
 code=tp class="li/op">tpal
	,/button>
	  
  
     3
 code=arg class="li/op">argal
	, struct ">
 code=ttf_walker class="li/op">ttf_walkeral
	S*">
 code=walker class="li/op">walkeral
	)/button>
	  
  
     4 */403n/o403al
	Seeeeee 0b1843c">
 code=__ttion17_delet
 1lass="li/op">__ttion17_delet
al
	(">
 code=tp class="li/op">tpal
	, ">
 code=arg class="li/op">argal
	, 0)n/button>
	  
  
  
  v2.6.27.20
	  
  
  405n/o405rch
	  
  
  
  
  
	  
  
  
 13
	< voidc">
 code=ttion17_destroy class="li/op">ttion17_destroyal
	(struct ">
 code=ttf_proto 1lass="li/op">ttf_protoal
	S*">
 code=tp class="li/op">tpal
	)/button>
	  
  
  
 13
	  
  
  409 13
 13
 code=ttion17_data class="li/op">ttion17_dataal
	S*">
 code=p class="li/op">prch< =S">
 code=PRIV class="li/op">PRIVal
	(">
 code=tp class="li/op">tpal
	)n/button>
	  
  
  0   3
 code=ttf_walker class="li/op">ttf_walkeral
	S">
 code=walker class="li/op">walkeral
	n/button>
	  
  
  >   3   4
 code=pradebug class="li/op">pradebugal
	("span>
"ttion17_destroy(tp "#37;p),p "#37;p\n"ed/cls_,e">
 code=tp class="li/op">tpal
	, ">
 code=p class="li/op">prch<)n/button>
	  
  
   */41

 code=walker class="li/op">walkeral
	.">
 code=rount class="li/op">countal
	.=c0n/button>
	  
  
  
  v2.6.27.20
 code=walker class="li/op">walkeral
	.">
 code=skip class="li/op">skipal
	.=c0n/button>
	  
  
  41
  v415al
	Seeeeee ">
 code=walker class="li/op">walkeral
	.">
 code=fn class="li/op">fnal
	 = &n">
 code=ttion17_destroy_elenet/ class="li/op">ttion17_destroy_elenet/al
	n/button>
	  
  
  
  
  416al
	Seeeeee ">
 code=ttion17_walk.13ttion17_walkal
	(">
 code=tp class="li/op">tpal
	, &n">
 code=walker class="li/op">walkeral
	)n/button>
	  
  
  
 13
 code=kfree.13kfreeal
	(">
 code=p class="li/op">prch<_tcin">
 code=perfect class="li/op">perfectal
	)n/button>
	  
  
  
 13
 code=kfree.13kfreeal
	(">
 code=p class="li/op">prch<_tcin">
 code=h class="li/op">hal
	)n/button>
	  
  
  419 13
 13
 code=kfree.13kfreeal
	(">
 code=p class="li/op">prch<)n/button>
	  
  
  
 code=tp class="li/op">tpal
	_tcin">
 code=moo2 class="li/op">moo2rch< =S">
 code=NULL.13NULLal
	n/button>
	  
  
     3>   4 */42

	  
  
  
  v2.6.27.20
	< int ">
 code=ttion17_dump class="li/op">ttion17_dumpal
	(struct ">
 code=ttf_proto 1lass="li/op">ttf_protoal
	S*">
 code=tp class="li/op">tpal
	,eunsig> d longS">
 code=fh class="li/op">fhal
	,/button>
	  
  
  42
  v425al
	Seeestruct ">
 code=sk_buff class="li/op">sk_buffal
	S*">
 code=skb class="li/op">skbal
	, struct ">
 code=ttmsg class="li/op">ttmsgal
	S*">
 code=t class="li/op">tal
	)/button>
	  
  
  
  
  426al
	{/button>
	  
  
  
 13
 code=ttion17_data class="li/op">ttion17_dataal
	S*">
 code=p class="li/op">prch< =S">
 code=PRIV class="li/op">PRIVal
	(">
 code=tp class="li/op">tpal
	)n/button>
	  
  
  428 13
 13
 code=ttion17_filterame="L2 class="li/op">ttion17_filterame="L2al
	S*">
 code=r class="li/op">ral
	 =S(struct ">
 code=ttion17_filterame="L2 class="li/op">ttion17_filterame="L2al
	S*)S">
 code=fh class="li/op">fhal
	n/button>
	  
  
  429 13
 13 d charS*">
 code=b class="li/op">brch< =S">
 code=skb_tail_pointer class="li/op">skb_tail_pointeral
	(">
 code=skb class="li/op">skbal
	)n/button>
	  
  
  
 code=nlattr class="li/op">nlattral
	S*">
 code=nestallass="li/op">nns/al
	n/button>
	  
  
     3   4
 code=pradebug class="li/op">pradebugal
	("span>
"ttion17_dump(tp "#37;p,fh 0x"#37;lx,skb "#37;p,t "#37;p),p "#37;p,r "#37;p,b "#37;p\n"ed/cls_,/button>
	  
  
   */4


 code=tp class="li/op">tpal
	, ">
 code=fh class="li/op">fhal
	,S">
 code=skb class="li/op">skbal
	, ">
 code=t class="li/op">tal
	,S">
 code=p class="li/op">prch<, ">
 code=m class="li/op">ral
	, ">
 code=b class="li/op">brch<)n/button>
	  
  
  
  v2.6.27.20
 code=pradebug class="li/op">pradebugal
	("span>
"p_tcinperfect "#37;p p_tcinh "#37;p\n"ed/cls_,e">
 code=p class="li/op">prch<_tcin">
 code=perfect class="li/op">perfectal
	,e">
 code=p class="li/op">prch<_tcin">
 code=h class="li/op">hal
	)n/button>
	  
  
  43
  v435rch
	  
  
  
  
  436al
	Seeeeee ">
 code=nestallass="li/op">nns/al
	 =S">
 code=nla_nns/_st>rtallass="li/op">nla_nns/_st>rtal
	(">
 code=skb class="li/op">skbal
	, ">
 code=TCA_OPTIONS class="li/op">TCA_OPTIONSal
	)n/button>
	  
  
  
 13
 code=nestallass="li/op">nns/al
	 ==S">
 code=NULL.13NULLal
	)/button>
	  
  
  438 13
 13
 code=nla_put_failure.13nla_put_failureal
	n/button>
	  
  
  439 13
 13
	  
  
  
 code=fh class="li/op">fhal
	)S{/button>
	  
  
     3
 code=t class="li/op">tal
	_tcin">
 code=ttm_h>ndl
 1lass="li/op">ttm_h>ndl
al
	 =S~0n "span>
   4
 code=nla_put_u3>   4nla_put_u3>al
	(">
 code=skb class="li/op">skbal
	, ">
 code=TCA_TCINDEX_HASH class="li/op">TCA_TCINDEX_HASHal
	,e">
 code=p class="li/op">prch<_tcin">
 code=h>sh class="li/op">h>shal
	) ||/button>
	  
  
   */44

 code=nla_put_u17.13nla_put_u16al
	(">
 code=skb class="li/op">skbal
	, ">
 code=TCA_TCINDEX_MASK class="li/op">TCA_TCINDEX_MASKal
	,e">
 code=p class="li/op">prch<_tcin">
 code=mask.13maskal
	) ||/button>
	  
  
  
  v2.6.27.20
 code=nla_put_u3>   4nla_put_u3>al
	(">
 code=skb class="li/op">skbal
	, ">
 code=TCA_TCINDEX_SHIFT class="li/op">TCA_TCINDEX_SHIFTal
	,e">
 code=p class="li/op">prch<_tcin">
 code=shift class="li/op">shiftal
	) ||/button>
	  
  
  44
  v445al
	Seeeeee Seeeeee pppp">
 code=nla_put_u3>   4nla_put_u3>al
	(">
 code=skb class="li/op">skbal
	, ">
 code=TCA_TCINDEX_FALL_THROUGH class="li/op">TCA_TCINDEX_FALL_THROUGHal
	,e">
 code=p class="li/op">prch<_tcin">
 code=fall_through class="li/op">fall_throughal
	))/button>
	  
  
  
  
  446al
	Seeeeee Seeeeee Seeeeee goto ">
 code=nla_put_failure.13nla_put_failureal
	n/button>
	  
  
  44
 13
 13
 code=nla_nns/_end class="li/op">nla_nns/_endal
	(">
 code=skb class="li/op">skbal
	, ">
 code=nestallass="li/op">nns/al
	)n/button>
	  
  
  448 13
 13
	  
  
  449 13
 13
 code=p class="li/op">prch<_tcin">
 code=perfect class="li/op">perfectal
	)S{/button>
	  
  
  
 code=t class="li/op">tal
	_tcin">
 code=ttm_h>ndl
 1lass="li/op">ttm_h>ndl
al
	 =S">
 code=m class="li/op">ral
	-">
 code=p class="li/op">prch<_tcin">
 code=perfect class="li/op">perfectal
	n/button>
	  
  
     3   4
 code=ttion17_filter class="li/op">ttion17_filteral
	S*">
 code=f class="li/op">fal
	n/button>
	  
  
   */45

 code=i class="li/op">ial
	n/button>
	  
  
  
  v2.6.27.20
	  
  
  4

  v455al
	Seeeeee Seeeeee pppppppp">
 code=t class="li/op">tal
	_tcin">
 code=ttm_h>ndl
 1lass="li/op">ttm_h>ndl
al
	 =S0n/button>
	  
  
  
  
  456al
	Seeeeee Seeeeee Seeeeee hed/(">
 code=i class="li/op">ial
	 =S0n !">
 code=t class="li/op">tal
	_tcin">
 code=ttm_h>ndl
 1lass="li/op">ttm_h>ndl
al
	 _ampn&nS">
 code=i class="li/op">ial
	.6.22 ">
 code=p class="li/op">prch<_tcin">
 code=h>sh class="li/op">h>shal
	n ">
 code=i class="li/op">ial
	++)S{/button>
	  
  
  45
 13
 13
 code=f class="li/op">fal
	 =S">
 code=p class="li/op">prch<_tcin">
 code=h class="li/op">hal
	[">
 code=i class="li/op">ial
	]n !">
 code=t class="li/op">tal
	_tcin">
 code=ttm_h>ndl
 1lass="li/op">ttm_h>ndl
al
	 _ampn&nS">
 code=f class="li/op">fal
	n/button>
	  
  
  458 13
 13
 code=f class="li/op">fal
	 =S">
 code=f class="li/op">fal
	_tcin">
 code=nn fallass="li/op">nn fal
	)S{/button>
	  
  
  459 13
 13
 code=f class="li/op">fal
	_tcin">
 code=me="L2 class="li/op">me="L2al
	 ==S">
 code=r class="li/op">ral
	)/button>
	  
  
  
 code=t class="li/op">tal
	_tcin">
 code=ttm_h>ndl
 1lass="li/op">ttm_h>ndl
al
	 =S">
 code=f class="li/op">fal
	_tcin">
 code=key class="li/op">keyal
	n/button>
	  
  
     3   4 */46

	  
  
  
  v2.6.27.20
 code=pradebug class="li/op">pradebugal
	("span>
"h>ndl
 = "#37;d\n"ed/cls_,e">
 code=t class="li/op">tal
	_tcin">
 code=ttm_h>ndl
 1lass="li/op">ttm_h>ndl
al
	)n/button>
	  
  
  46
  v465al
	Seeeeee Seeeeee if (">
 code=r class="li/op">ral
	_tcin">
 code=me= class="li/op">me=al
	.">
 code=ref=" class="li/op">lass=al
	 _ampn&n/button>
	  
  
  
  
  466al
	Seeeeee Seeeeee Seee">
 code=nla_put_u3>   4nla_put_u3>al
	(">
 code=skb class="li/op">skbal
	, ">
 code=TCA_TCINDEX_CLASSID class="li/op">TCA_TCINDEX_CLASSIDrch<, ">
 code=m class="li/op">ral
	_tcin">
 code=me= class="li/op">me=al
	.">
 code=ref="id class="li/op">ref="idal
	))/button>
	  
  
  46
 13
 13
 code=nla_put_failure.13nla_put_failureal
	n/button>
	  
  
  468 13
 13
	  
  
  469 13
 13
 code=ttf_ex2"adump class="li/op">ttf_ex2"adumpal
	(">
 code=skb class="li/op">skbal
	, &n">
 code=m class="li/op">ral
	_tcin">
 code=ex2" class="li/op">ex2"al
	, &n">
 code=ttion17_ex2_map class="li/op">ttion17_ex2_mapal
	)S6.22 0)/button>
	  
  
  
 code=nla_put_failure.13nla_put_failureal
	n/button>
	  
  
     3
 code=nla_nns/_end class="li/op">nla_nns/_endal
	(">
 code=skb class="li/op">skbal
	, ">
 code=nestallass="li/op">nns/al
	)n/button>
	  
  
     4 */47

 code=ttf_ex2"adump_st>2" class="li/op">ttf_ex2"adump_st>2"al
	(">
 code=skb class="li/op">skbal
	, &n">
 code=m class="li/op">ral
	_tcin">
 code=ex2" class="li/op">ex2"al
	, &n">
 code=ttion17_ex2_map class="li/op">ttion17_ex2_mapal
	)S6.22 0)/button>
	  
  
  
  v2.6.27.20
 code=nla_put_failure.13nla_put_failureal
	n/button>
	  
  
  47
  v475al
	Seeeeee }/button>
	  
  
  
  
  47arch
	  
  
  4

 13
 13
 code=skb class="li/op">skbal
	_tcin">
 code=len class="li/op">lenal
	n/button>
	  
  
  478 13
 13
	  
  
  479 13
 13
 code=nla_put_failure.13nla_put_failureal
	:/button>
	  
  
  
 code=nlmsg_trim.13nlmsg_trimal
	(">
 code=skb class="li/op">skbal
	, ">
 code=b class="li/op">brch<)n/button>
	  
  
     3   4 */48

	  
  
  
  v2.6.27.20
	< struct ">
 code=ttf_proto_op" class="li/op">ttf_proto_op"al
	S">
 code=rere
 code=__read_mostly class="li/op">__read_mostlyal
	 =S{/button>
	  
  
  48
  v485al
	Seeeeee .">
 code=kind class="li/op">kindal
	Seeeeee See=eeeeee "span>
"ttion17"ed/cls_,/button>
	  
  
  
  
  486al
	Seeeeee .">
 code=ref="ify class="li/op">ref="ifyal
	Seeeeee=eeeeee ">
 code=ttion17_ref="ify class="li/op">ttion17_ref="ifyal
	,/button>
	  
  
  48
 13
 13
 code=initallass="li/op">inital
	Seeeeee See=eeeeee ">
 code=ttion17_initallass="li/op">ttion17_inital
	,/button>
	  
  
  488 13
 13
 code=destroy class="li/op">destroyal
	eeee See=eeeeee ">
 code=ttion17_destroy class="li/op">ttion17_destroyal
	,/button>
	  
  
  489 13
 13
 code=getallass="li/op">getal
	Seeeeee Seee=eeeeee ">
 code=ttion17_getallass="li/op">ttion17_getal
	,/button>
	  
  
  
 code=pu2.13putal
	Seeeeee Seee=eeeeee ">
 code=ttion17_pu2.13ttion17_pu2al
	,/button>
	  
  
     3
 code=rh>nge class="li/op">ch>ngeal
	eeee Seee=eeeeee ">
 code=ttion17_ch>nge class="li/op">ttion17_ch>ngeal
	,/button>
	  
  
     4
 code=delet
 1lass="li/op">delet
al
	eeee Seee=eeeeee ">
 code=ttion17_delet
 1lass="li/op">ttion17_delet
al
	,/button>
	  
  
   */49

 code=walk.13walkal
	eeeeee Seee=eeeeee ">
 code=ttion17_walk.13ttion17_walkal
	,/button>
	  
  
  
  v2.6.27.20
 code=dump class="li/op">dumpal
	eeeeee Seee=eeeeee ">
 code=ttion17_dump class="li/op">ttion17_dumpal
	,/button>
	  
  
  49
  v495al
	Seeeeee .">
 code=owner class="li/op">owneral
	eeeeee See=eeeeee ">
 code=THIS_MODULE class="li/op">THIS_MODULEal
	,/button>
	  
  
  
  
  496al
	}n/button>
	  
  
  49
 13
 13
	  
  
  498 13
 13
	< int ">
 code=__initallass="li/op">__inital
	 ">
 code=initoption17allass="li/op">initoption17al
	(void)/button>
	  
  
  499 13
 13
	  
  
  
 code=registerattf_proto_op" class="li/op">registerattf_proto_op"al
	(&n">
 code=rere
	  
  
     3   4 */503n/o503al
	st>
	< voidc">
 code=__exitallass="li/op">__exital
	 ">
 code=exitoption17allass="li/op">exitoption17al
	(void)/button>
	  
  
  
  v2.6.27.20
	  
  
  505n/o505al
	Seeeeee ">
 code=unregisterattf_proto_op" class="li/op">unregisterattf_proto_op"al
	(&n">
 code=rere
	  
  
  
  
  
	  
  
  
 13
	  
  
  
 13
 code=module_initallass="li/op">module_inital
	(">
 code=initoption17allass="li/op">initoption17al
	)/button>
	  
  
  
 13
 code=module_exitallass="li/op">module_exital
	(">
 code=exitoption17allass="li/op">exitoption17al
	)/button>
	  
  
  0   3
 code=MODULE_LICENSE class="li/op">MODULE_LICENSEal
	("span>
"GPL"ed/cls_)n/button>
	  
  
  >   3
	mailto:lxr@spaux.no">lxr@spaux.noal
	.

lxr.spaux.no kindly hosted by button> http://www.redpill-spapro.no">Redpill Lpapro ASal , provider of Lpaux con="L2ing and oper> on= service= since 1995.