DELTA 351522 4911 11262 SVNptS_%" Dx%^8B{ExE>@pIsy8U! {!l?B=@d~ea" dtu7wgzpyj E=s^c)&K7: KdOpZB\^l5Z!oi2>.d]$+Rh}]Y14 :^5]g7r&JAa1lQ4nZXbpF1PI~H_[x^Xmo bi*M$J[8/չG^뮗i}1M{[gfyfv6<-"8SGpz^Wv}1 ÂSʧ"1*AOˮߺX "㙠x;e\K/e{lAwNm,? Q B>YZsAZ7_TQ 6/\Q=Rɠё4[i`.lV%XOpck-DB(\1IO$x^ u[E<\ m?oӡm*~`A(Oa|-ohok?; 翏~W}׫18aɢ*"RQ-S.՘'j,%o||g)P8ѓbϓY :)P[{cd:lu)׶^u}?;DT" M},dXH`+?3iLC6MwoK#涷˞,5M<^"5p1BD.Pxhj~E)cCۙ!wGSIs~՚>[¸p %߰{~0fk{\p#ӄY/ovv+ktVBaf#1!j|ʧ&.*;sX/}+N'6tC)Ĝ{Xf׏Y+AY.tkLj 4Z !ghK5ƿÃ=ruZ#v@ձžYVbۇ7{Us!ř?㿪p5k*X$xRe:Ώ5\=ZDw[SUD;7Ud7ề{>Z6,"$\$q.YH騧ocX8FENDREP DELTA 360218 0 453 SVN;&h%7{7Qy/S&Jm)f/nhop.h> #include ro_nh->nh_ifp)) return; ro->ro_nh = NULL; rt_tmpt_tmp == NULL) return; if (rn_mpath_next((struct radix_node *)rt_tmp) == NULL) { ro->ro_nh = rt_tmp->rt_nhop; nhop_ref_object(ro->ro_nh); RT_UNLOCK(rt_tmp); return; } rt = rt_mpath_selectrte(rt_tmpt_tmp); return; } if (rt_tmp != rt) { RTFREE_LOCKED(rt_tmp); ro->ro_nh = rt->rt_nhop; nhop_ref_object(ro->ro_nh); } else RT_UNLOCK(rt_tmpENDREP DELTA 360218 479 398 SVNXw N)/ro->ro_nh != NULL) { if (NH_IS_VALID(ro->ro_nh)) return; NH_FREE(ro->ro_nh); ro->ro_nh = NULL; } rt = rtalloc1_fib(&ro->ro_dst, 1, ignore, fibnum); if (rt != NULL) { ro->ro_nh = rt->rt_nhop; nhop_ref_object(rt->rt_nhop); RT_UNLOCK(rt); }ENDREP DELTA 360017 0 44 SVNV3' &Vdp(t"M\{}Y nhop_object *ro_nhNHFREE(_ro) do { \ if ((_ro)->ro_nh) { \ NH_FREE((_ro)->ro_nh); \ (_ro)->ro_nh = NULL; \ } \ } while (0) #define RO_INVALIDATE_CACHE(ro) do { if ((ro)->ro_nh != NULL) { \ NH_FREE((ro)->ro_nh); \ (ro)->ro_nhNHENDREP DELTA 359823 26115 926 SVNWW  PRnhENDREP DELTA 359823 27633 1418 SVNl  D)C /* Verify struct route compatiblity */ /* Assert 'struct route_in' is compatible with 'struct route' */ CHK_STRUCT_ROUTE_COMPAT(struct route_in, ro_dst4);ENDREP DELTA 359823 29078 273 SVNEm ( i&^g&struct route_in { /* common fields shared among all 'struct route' */ struct nhop_object *ro_nh; struct llentry *ro_lle; char *ro_prepend; uint16_t ro_plen; uint16_t ro_flags; uint16_t ro_mtu; /* saved ro_rt mtu */ uint16_t spare; /* custom sockaddr */ struct sockaddr_in ro_dst4; };ENDREP DELTA 359381 0 2913 SVN_#+W*Rn@m#_/x^eOo@)ibvLl56! V%?{7ofZQ)~+(!Y%k [Iz"57)oX#6˘aેӚ5G]f_T3:qsux:.v:Oq"/R-yz 4\L>QN\4[*& rgEYF9_se>0m 0gGY\0ɲLe/pOldcвH/|L=ɾqݜ2vLu;:UG7.fI6{d=D4f*Ei~fůlENDREP DELTA 277331 5232 5846 SVNQk+q)yS}&+=o?qV5G?0"Fll\EwIT}lTmx,a;*6 Y>G^8),>?rwBBZlTg7{f7{xltU6Sn+}7_ 6|#OgI\Qro&@SV%YQy(Qyv*Brpb6~rjq/96~H:1/&HqVv9/` G/ Fx^Zs۸lH:uIW~$isnhIȒF' L|+%ۻH_?t;@,o|p2ГqNża/e.;\G?do2yOy<̋3RQ3Q0YRrpc-RɟTd":Z}l oc'thYD#*I~cY{\z Qdټk |==ּzLL$+fR$v}˨,(ar$+I-|,a+venӣhy!eA)eAj՘6 |:bw; qÌ&A+2 EzHYdvΞٛb }8g~LEH ` lM&)q KM/#>]u,5φS~99p|ew47MryG)|ijZDӎجY\X!g~Y*YGำ(GPM='[b*geiA3G#^HQ(ԶT'& gU*MN7NxKg4Z\&W_Mڛ76EC Z| lUlg)Ki|ƇS8 lU3z&d$)=NKpeșIXL -Vl7_  +Rbދ?F2>6 =M6hϞmh{=PHO>gg4${}$C"XWG%Jf -bͯX'gxz2~g²j&g~dj$gzj1[Mq ~0pg7@o((<,$ aXD)OǜO٘/F 0wy$|PǗ5X "D#!ܠjˎ\.r>fhP66肜Y͞fLIG|e3$Q9G-p"lL!ȅAHT$:)$-|pOZ4'2f~&*VeN^i/lP>([/}ڮIrZ3k&r; ΈUzs x̏)98|;Inֲ$Vc^"/($%`e^(:zjH,T<S@? IThDQݐW+g8&$^&*/a/hS4sfP?ېi{ B0NLj=r\R\9~P}l#T; GFO܊YFE@Q7gٹ-t۞rQƛ4>f OG B뚓-'Q1mF o(E7ZM*X7#UPyl¢ڈ輆.+W؍UN`u0g!F#څmKˬ )"t$z+>P@QnAm QoڶY55eg9"G~[;0z(:Z*bb&$+/DkD JǝͲ1 NV2QInvT&AϒC%^~4]zXsof|6Ǡ.F9\OFr՝EcU[^fj9vJ(5qW;狦V,+}$ cp \=bड़Y1Yz ζj~dsC+Hw D]5TnP|xtbٗX"~Dd*ߣL~v݅bA- g0sʹ@%zUR^/א5xф+{\2D7@L`G h Oxj(Xt F)'JW ĔsTL[UzGI4e0#x`cv#߫ع r?؍f 8j*i5]囪n5lr5*^7I}L> Mfܫ x? RiNZ-d73 Ĕ534 w>^P93 u1֢k\ 䩠ӛذ+c60eƕf2VhuO҄QH2-bZ?dz>mH@3M *LlԊdZ;*{vv66>{^"ՍVJ{:tv'Z:\+dS/轞;gx0rp(M B1WʨρHs|#|[-RgЙ6~s#Q)"yD7FЁ6sWhYtnNj圼j|H|&@H,:i25ɰnădyIrrȗPB_XfR9b A*k~҉Njv-WBh1!˨* U9ƪ(;Ea,r&Z߆7o-@PߐZ+ T5mhcԋR-r՚|`<_%Ylp;`G)M Qw8F;d+OxҥX|›:c&ji:I0hP 8 ƶ8idPd:,14 |Q{2]nxMGG%#hBXՌkEo1XN$Qn +/h1;oȦpϘFm-ba77~^lKqzVQ#O` BPUxqW!ns~jro)RO_NHFREE(&net->ro);RO_NHFREE(&net->ro);nhRO_NHFREE(&net->ro);_DEL_IP_ADDRESS) { /* * Address being deleted on this ep don't * list. */ continue; } sctp_ifap = laddr->ifa; switch (sctp_ifap->address.sa.sa_family) { #ifdef INET case AF_INET: to = &sctp_ifQjjgENDREP DELTA 350588 147 66 SVN_2@~?+~f~iLLd~{rgl zfyx^j@)H-hQXrQR4f7l6m16B!L2gPQ'"P hJa{R O= #= d߮~F1,=N8l||tňL@,u |8Iv{T`\]^2M:l8aiװbb)RPIJwkYm(+!eRꔉdp>v&HeB k=qCj1E M +RtX\6,0RF8 =UD+.nIJyj Ah$guՄٝ=6.@"됨QdU3YǡENDREP DELTA 359156 0 2538 SVNd_c o{yn<X,:Bj0.G`o'p+FuBj5Kt]nh == NULL) { /* * Need a route to cache. */ SCTP_RTALLOC(ro, vrf_id, inp->fibnum); } if (ro->ro_nhRO_NHFREE(ro);nhnhNHFREE(ro); } else { if ((ro->ro_nhnhnhRO_NHFREE(ro);nhNHnh == NULL) { /* R if ((ro->ro_nhnh &stcb->asoc, ND_IFINFO(ifp)->linkmtu); } } } return (ret); } #endif default: Su ttt>data for control but the * problem is it becomes yet one more level * of tracking to do if for some reasou ttt */ req_out = (struct sctp_stream_reset_out_request *)((caddr_t)ch + len); /* now how long will this param be? */ cK*z)st2iQtK%#@ynh&ro->ro_nh->gw_sa); if (sctp_cmpaddr((struct sockaddr *)&gw6, &ro->ro_nh->gw_sanh&ro->ro_nh->gw4_sa&ro->ro_nh->gw4_saENDREP DELTA 359405 248 545 SVNd:)9x|31.E3ZYAVCD>'nh); hcmtu = sctp_hc_get_mtu(&net->ro._l_addr, stcb->sctp_ep->fibnum); net->mtu = sctp_min_mtu(hcmtu, rmtu, imtu);nhnhnh->nh_ifp != netfirst->ro.ro_nh->nhnhnh->nh_ifp != net->ro.ro_nh->nhnh == NULL) && (net->ro.ro_nh /* delete this address if cached */ RO_NHFREE(&net->ro);ENDREP DELTA 359379 170 33 SVN26  JT^truct nhop_object *ro_nhENDREP DELTA 359405 818 1307 SVNO! `jbN'2t[nhnhRO_NHFREE(&net->ro);nhENDREP DELTA 357708 355 22 SVNZ  @: RO_NHFREE(&(__net)->ro);ENDREP DELTA 359919 3739 44 SVNkuIp72](Ctroute/nhopnh != NULL) mtu = tp->t_inpcb->inp_route6.ro_nh->nhnh != NULL) mtu = tp->t_inpcb->inp_route.ro_nh->nhENDREP DELTA 359487 547 886 SVN</`d6J;nh == NULL) || (bbr->rc_inp->inp_route.ro_nh->nhnh->nh''1;0f[QB>YJ9nh != NULL) mtu = inp->inp_route6.ro_nh->nhnh != NULL) mtu = inp->inp_route.ro_nh->nhnh && inp->inp_route.ro_nh->nhnh->nhnh->nhnh == NULL) || (inp->inp_route.ro_nh->nhENDREP DELTA 358333 246873 352 SVN9`!9U_route/nhopnh) { NH_FREE(inp->inp_route.ro_nh); inp->inp_route.ro_nh = (struct nhop_objectENDREP DELTA 193511 16240 9822 SVN SC^x^YHa`4&Q*[$d[X ˴N9ب`NbTn}716,B!0„* (z꡽ܗs߽V2F:TqB<kN`C"S}*\Ip1,`䥨IhME\iG:1b MPœⳃecATiF(u# n:c .IB] U _&:*a4nL~V)* g3=W'*m9JWjm;-2/5"@/?@Jpv)}̣)8 :y~p YA /n# +`'Gċ|Nu# mh*s=Ng?3݃>0mr' W q.Ey ,Ma_7q:M,.p]y^Qfa)|(sȯ]}/e\͟)](Cj>MKL**܁ZeC%u':ݠnIx^[//;Ler+]](ɼ(LEKE-;;N?~KW\ߋZ&}qegi_a`ng0 h[qtҜ4Gp.;YI~6꾷x4:Zrq;NtD>i6k% 2先cN}{9t1빨 2£h)lPnoxX΍_0bhstX`W:Gkg/]4Kr ^;+iu3I0m."?_Xй~d6aZyw>YF5=?r$m|F Z@TX0݇lb8zB1xڛ^"kĐ6 ?F +lKdA gfv(['Hn6@w6&KZ9ׅA01Uc8ZI՝ڗ2K{)pY y X!g  <;-i-0mL&ȃ@\\[ny+Z,:, χ$YBpJut򥕠H XY|Vޯ2ZMTL+8w[lk~IN'6Xx*)y%9n4跼U[x죣5hD6iX*VX!·x!.,@h8t(ݵ1|EL^w ]BU(X'K¡]Nhy8Cgd^lVH@^x34{htnqϰe!/nK?߿h3arGzCxDبm %}pJ|CՂ:'ԧTCAHO}HB~MxZÄ  34(aLGH<3|!vwe?[Xd(fґT aFE} 68K-qe>zme—n׆b|!vՏsyRDe~K͛  bwq4Q'u[+̳}iE85P(è >ذ@7a?qnkJupܣւQL'R'ފ|ve1) 0hS8z.^G_/Q^n pڑCb>P۸C`@G~+0,s`4]& QN\ "p]ؘ8M$M<,WRbMK8iT9ul_^w)2U^ Oᷬ$qmzAtbv!I-^k} Ó⌆f5 He 'IU.5P/(tvĹ՛LFs<mi^Ы=f<1Wn^HVrw+{/_e\J9%ޭଲ?BUF{R)P ߻O!Ri3QtsF+eکD:RN%r[M&/Ue{<R e(S1-);ڀ_2-wq֩+5$.V^l+ 27Sx IZB5 dKh);Ձt1Eq*j6~5{'[ .d4g@Įxc.s/z"T?W73"c ; u9X GíPv)QfyĖL(A0U, 7(DS\+gQ[/8#򲅥$--RLr?1+5Zԇg;XXx*kgevb.*{ -F=fVzZfgBĀg_Y_+!5{߲զ]*2a- ]mfH|Jwe@)9iո]Q.IM"+\1ݪARTaĎXjE<7N^|)QE̸vGU-p[ߑnӋ5YbЛpK!4aC$ǥ!¡zAQ)ay{+G LCkh8pMD JeQD*KF)TuZt3~,.uOmSlg~j!8g~DU+< b8!2>c˼4=5N¼rdh1K> :Z'}LQC% :+0JgZ^5P >W|E[:En(iW*4Xݨ7Mh,Y {~f^}K58rVVDKa׉)1,)>y22]HG!A0 {gQFARP7q9(/!xk-!U.>v*ˡZ&O9֝H cfimWDBqC*w\8)>.VRQKI2>-I% \%NJdL>h)aS%QmVTb@ +̭(Nb9vJIlb\ʝD\ېFm#,fUcTk4ߕL.k)9Us7YD7ڲCC?̠8BzT4|\tRúdC aoK;8>ڄ4Xi.}|: tX|Xk;st;wFxhppUlě6K8 P_4$v礶ڂuKZ51XxIE$Hn?z1ّK3uaC Z0&MQ &1F{Ր]($ NAyqZClԿ*=-*0 <u,DJS ̋qtJNA8w'VQHiF!])euǒ5yczƝv:¢вgQyC jqVo+(!Jnлg-$*x6cmڋ_CN!g"J!lxFܨF)X|0,lzeΪBMKhT>;Ll0$uӋ$e03AEڹ}SSh^hoТJ{LRՋ`e@/ҎtSMDOw՛&׻$R%ZߕaN.|lo5XRC~,浘,4WW|cS鷟6 # P V`}*^ Xj8rip "Ug|,uø\_KPcj,0RoQzE 6Ci-_o- VJUXtR6&1zq^H^q`f9 MMq#Pz /Ԣ%"8|2#K` ҥX[X%Z̟~ UӁHavJohr5?;%Ư )%J'cʊ߸L%%._4Ƿŷ m~c :Auw:6*'͸_ARG-/׶@T^]&THjfmWH^MQ YNV:q4pl8Ȯ;,uڣ02v0ϯrlsnxɘm|vk"\E &\rRU_nvdՕmKQ/~|f/fE~-*y&L{K,jF %'&rE܁&ڈeg?Vx`Agm#Om\,HW!C>C/T8x 3*0U,>/H 3{rX̧7-TQ͏ }n6Z%`r)x5r}[Nx%uR26I~h 5K`ʏfpp"AsDCĥ w}҇_Ga^mP& _.0oۡk3f#aQ1(<@sf9)]QEtдY/fd~!3'>"}.rZ/|@d㶹~ۥ_d}= dyŜ(wDkp EReW>@($"vb5+a)W>|ftԂ">9zZ,U+ *Hl~M FLxn"Yp^f)H_=|>̃k ,TYX `PkpDc3<x ^/$ܕ +X 4-%,~!Xr ҫ y.З1(E!xZ׳n ~ Iۦ>RU#(iNeۥqSQ9}%Vbu ))ҷ@ VBw,mp)C#a(O*2PJt-YvUN1SV>cg-[w+!uh5l]&юX)ܴs|`{u/Gs>ĈStG5$I rVsn:gN/*Wt5tʋ*/1?^ B ]J~1Y˭|m? #Au9C)'1žɈ/Xmu?t[w]/UV ܄}BlF^ZBJP?4k=-vq/.UBof#HFpELvU_uU%?2'{X^K+&b(˘`vrY,x x2 bgQ9Bf d^O1Um6I>FG,ur Z-V=k6-!fS?wJbxx6 xIhh 8"5Scu:P!͑ Y*\DL/䆧1)~"$c5ʣ&2DX&zq .)ű)g~II}:+HjTXE|>//S0.Ӡ?<˹%̤[4<ZԷ% >VU*RF^hVdU *ʫ"9cd>MHMpM# ѵ3Ɖ HECkD)RJ9OGQXR@[Fi({l0X8A?tyk+OWFE Ւk .+ߩqݍ}q7S ͞zuw%Onq/9JK'4#^ݲ9hfS(zA/CkG^Оm: X/OSN:f->/7PHqDHcV,H1Æc@1 ";yhK] sht=d6W@v4 .,wap>A1vܝ=HV@C>sENDREP DELTA 359919 3810 5631 SVN{"zS&A+/7L/ uoY CmH[|vM[NVK \HQtID\?geKHӸ;Dn=cᅺ<]T6vԦpEvZ̠"&E~OLId CX9Y&CWdlvkZaehC~  Ο{t%&k4{8>]5 +T^BR\m:=Ճ'N]oðpUĭP*aj9fwxM* 4{mQhh;{"T~@fg+0L'ڐ?:K-