ELF >s@@UHSPH%C1H11E1E1jjHH%H1H%HeH %HHeH4%HH(LJHH(LJFHH(LJ2HH(LJHH(LJHH(LJHHv(džHHH:HH%H%H%H%H[]fffff.UHH<%1]ff.UHSPHhHHHH@@`'H@@H@HH@0H@8H@PeH %HHI(HX@\HHH@HHHH H@ HH(H1 H[]UHAWAVSPIM>IwHt"H^H<%1HHuIw Ht'fff.H^H<%1HHuI>HH[A^A_]fff.UHHHOI8HT]ffff.UHAWAVAUATSH(uHL3HCH4%IAE(EM@Ef@E~HD9DMEf@AE(D9DNE~HA?AFDH]HKDA8DA)IcHE+~LIcHAF\AF\IcvX9INHH+HHIFHAHQIVHuIVIVHHAIVH IFIN HH+IcvXHHIHAHQIV HuIV IV(H9HAIV(H IF(AF\E91DUDEH}DMH<%1HHt-IcvXHHHIFHHHHAIVH IFH<%1HHDMH}DEDUt,IcvXHHHIH9HHHAIV(H IF(E9wTE~OeH%HH@(H9EσrHHHHHHcIFH~EeH %HHI(H9Eσr HHHHXE9EeH%HH@(H9gJ ?Q mXW` k > > > > > > >9 m>XF aHN AHV aP^ AP ?h <] >  ?i ?i <Z8 ?=\x ?f ?f5 > > > @#b > @b > >  >4 > > >= a@ > > >$ >9 > N >c >x > d d$FreeBSD: head/sys/netinet/cc/cc_cdg.c 336676 2018-07-24 16:35:52Z andrew $FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1)cdgF2T4OOO^< _(<@;H;P;X;``;h;p;p l<j<c== =38BP=2`= hep==B>=6d==B> =(; 0=@=ZXBp>=; ==B>=; ==kB0> @=@HdP=`=xB>=d==B>=d= =8<@=+P<X=h`p<<==Q; =YA<<<`<<loss_compete_hold_backoffNumber of consecutive delay-gradient based congestion episodes to hold the window backoff for loss based CC compatibilitycdg_qdiffsamplebeta_lossNNumber of samples used for moving average smoothing (0 = no smoothing)exp_backoff_scaleversionerttcdgloss_compete_consec_congCAIA delay-gradient congestion control related settingsScaling parameter for the probabilistic exponential backoffIncrement the window increase factor alpha by 1 MSS segment every alpha_inc RTTs during congestion avoidance mode.ANumber of consecutive delay-gradient based congestion episodes which will trigger loss based CC compatibilityCurrent algorithm/implementation version numberbeta_delayIULoss-based window decrease factor as a percentage (on loss-based backoff, w = w * beta_loss / 100)kernel0.1alpha_incsmoothing_factorcdg dataDelay-based window decrease factor as a percentage (on delay-based backoff, w = w * beta_delay / 100)B<0<< <P(<0<8<p@<<0<H<x  t ] C ( ^7 X&Pa" !Z"##$<%%&V'((d)**f+,,[-..E//0$11]223*44W55677388P99h::};<<==>>"??#@@!AABBCCDyDDfEENFF3GGHHH`II9JJKxKKILLM{MMDNN OkOO+PPPGQQR\RRSkSSTsTT UvUUVrVVWhWW XYXXXDYYY*ZuZZ [T[[[-\u\\]G]]]^Y^^^ _b___#`c```a\aaabMbbbb7cpcccdQdddd+eaeeee3ffffff0gagggg#hShhhh i;ihiiiijFjqjjjjkDknkkkkl7l_lllllmEmjmmmmm!nDngnnnnno6oWoxooooop:pZpypppppq/qLqjqqqqqqr0rLrgrrrrrrs s:sTsmsssssstt0tGt_tvtttttttu)u>uTuiu~uuuuuuu v!v5vHv\vovvvvvvvvww'w9wJw[wmw~wwwwwwwwxx!x1xAxPx_xox~xxxxxxxxxyyy*y7yEyRy`ymyzyyyyyyyyyyyzzz'z3z>zJzUz`zkzwzzzzzzzzzzzzzz {{{'{1{:{D{M{V{`{i{r{{{{{{{{{{{{{{{{{{| |||"|*|2|9|A|H|P|W|^|f|m|t|{|||||||||||||||||||||} }}}}!}&},}2}7}=}B}H}M}S}X}]}b}h}m}r}w}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~ ~~~~~~"~%~)~-~0~4~7~;~>~B~E~I~L~P~S~V~Z~]~`~d~g~j~m~p~s~v~y~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   !#GNU|^сm$][dJㄿNcc_cdg.ko.debug[u 3 b    @ }  ( 8H @ 0 ;d  0HExb0Z %`p a  ('7rD`W_ gx``P``p`S``0`)De  0p`  *;Rj  $ 4 @ E R ` g s           # ; E [ .symtab.strtab.shstrtab.rela.text.comment.rela.data.relaset_sysinit_set.relaset_sysuninit_set.rodata.str1.1.relaset_sysctl_set.relaset_modmetadata_setset_vnet.bss.rodata.note.gnu.build-id.gnu_debuglink.SUNW_ctfM_CDGM_CDG_init_sys_initM_CDG_uninit_sys_uninit__set_modmetadata_set_sym__mod_metadata_md_cdg__set_modmetadata_set_sym__mod_metadata_md_cdg_on_ertt__set_modmetadata_set_sym__mod_metadata_md_cdg_on_kernel__set_sysctl_set_sym_sysctl___net_inet_tcp_cc_cdg__set_sysctl_set_sym_sysctl___net_inet_tcp_cc_cdg_alpha_inc__set_sysctl_set_sym_sysctl___net_inet_tcp_cc_cdg_beta_delay__set_sysctl_set_sym_sysctl___net_inet_tcp_cc_cdg_beta_loss__set_sysctl_set_sym_sysctl___net_inet_tcp_cc_cdg_exp_backoff_scale__set_sysctl_set_sym_sysctl___net_inet_tcp_cc_cdg_loss_compete_consec_cong__set_sysctl_set_sym_sysctl___net_inet_tcp_cc_cdg_loss_compete_hold_backoff__set_sysctl_set_sym_sysctl___net_inet_tcp_cc_cdg_smoothing_factor__set_sysctl_set_sym_sysctl___net_inet_tcp_cc_cdg_version__set_sysinit_set_sym_M_CDG_init_sys_init__set_sysinit_set_sym_cdgmodule_sys_init__set_sysinit_set_sym_vnet_init_cdg_init_vnet_sys_init__set_sysuninit_set_sym_M_CDG_uninit_sys_uninit__set_sysuninit_set_sym_vnet_init_cdg_init_vnet_sys_uninit_cdg_depend_on_ertt_cdg_depend_on_kernel_mod_metadata_md_cdg_mod_metadata_md_cdg_on_ertt_mod_metadata_md_cdg_on_kernelcc_cdgcdg_ack_receivedcdg_beta_handlercdg_cb_destroycdg_cb_initcdg_cong_signalcdg_conn_initcdg_exp_backoff_scale_handlercdg_init_vnetcdg_init_vnet_vnet_initcdg_mod_destroycdg_mod_initcdgmodule_sys_initertt_idprobexpqdiffsample_zonesysctl___net_inet_tcp_cc_cdg_alpha_incsysctl___net_inet_tcp_cc_cdg_beta_delaysysctl___net_inet_tcp_cc_cdg_beta_losssysctl___net_inet_tcp_cc_cdg_exp_backoff_scalesysctl___net_inet_tcp_cc_cdg_loss_compete_consec_congsysctl___net_inet_tcp_cc_cdg_loss_compete_hold_backoffsysctl___net_inet_tcp_cc_cdg_smoothing_factorsysctl___net_inet_tcp_cc_cdg_versionvnet_entry_cdg_alpha_incvnet_entry_cdg_beta_delayvnet_entry_cdg_beta_lossvnet_entry_cdg_consec_congvnet_entry_cdg_exp_backoff_scalevnet_entry_cdg_hold_backoffvnet_entry_cdg_smoothing_factorvnet_init_cdg_init_vnet_sys_initvnet_init_cdg_init_vnet_sys_uninitcdg_cc_algosysctl___net_inet_tcp_cc_cdg__start_set_modmetadata_set__start_set_pcpu__start_set_sysctl_set__start_set_sysinit_set__start_set_sysuninit_set__start_set_vnet__stop_set_modmetadata_set__stop_set_pcpu__stop_set_sysctl_set__stop_set_sysinit_set__stop_set_sysuninit_set__stop_set_vnet_sx_slock_int_sx_sunlock_intcc_modeventfreekhelp_get_idkhelp_get_osdmallocmalloc_initmalloc_uninitmodule_register_initnewreno_cc_algorandomsysctl___net_inet_tcp_ccsysctl_handle_intsysctl_handle_stringuma_zalloc_arguma_zcreateuma_zdestroyuma_zfree_argvnet_deregister_sysinitvnet_headvnet_register_sysinitvnet_sxlocklP4/xڴ{Uǟ1k͵mwsw/%;QRM!r(5:.MNJ Fut /7gzl3xcRDTfjkd1ue4#F!/dHm kXtf{ؗMYDԛed ^rM+z`_<ƌS`r-jeBY$eQL6\v>~UY+FkvZSw[OzD|J+iS5ӦUԪXpUחYKTjiPHd<(ebyDcjt-ELǷ_}=Byz@_,Ӧeh}f mfJh7T23 hkBAA(<N: CkICu.ym4 (Y83pi*XGtӣyQGѺg\c93ւ}5# tr^uDߣw#u^.؛.=m7,%goĚha@:y01- $m/~ hK</Rn~åE,61zw>&r^Wfw%l5Jxv=bݖ̩}ENiT';sqZJ窴v>:é:>hS/;t(Ӿa9t4$vGPd_#QԨ>>iR2MKEW#%>,v3~&ͯ&ץ8$|ꥲq7in2[t_XlѰO+W7ʤ-Mk uP>e:|v 9̝?3nkD_3Kf5=v0M "\~ݻ4$5tGd9o|K0=I>Q \^K-B+YWk6"{{?y];#巑[6S~7R~3f~C ~-B0 ș ~HMT~ZHm!&2Ga9 ~ݾ=SFPSR͋3Sm _&礋x- ~|sC}ߏo3_̔LuiIC֘)X}*;LV%| L =!řz: { t@GA̎s蟥Ό㲸<=rh$NhBS4 bٱn,/|00a,Wr7aI<ѭx5F%~:,oٚ^qV6,[,{mz~ٺA,efr3y/, \r˯t73;oQul.x/YcȉOnlE>{}q:<|>,{q|g,SG>\@^B). ǾyPaնnboUIߎj?'lN!8O}?'?OsX<[d5yꊼ{K5#M>@='?q;+YVZp/O۩KkVf'̓{}`q~O?D"|j1\Yzca:RduG̋'^^'p;ͻuۼ|pЂ|3z*~>ML2mkӱ~c-^+@1URSc@=Øvfkx d _t×J9 E!rh('2ׁRfG>KF)n\NxVIT§ >/|FEK9E Φh=Tm`r- u+""}nE~+TwHEzX9#69'vs^&fGN#gc/ib+Tө( H9\{;X<"#bUQR5ZQAźⵃ֞ Pn_&Տ[0ӻ 5\]~s\x_1 C/y[̎8EɃGajGq<=ܟG;#>XkۆR# \ K*%SZnwYs#+I}G:RLQ]1,!8,y08?ҏO-$ouKZ% IG#|(GS{2}/)_ ~_JJQÕxP;JѺ?J(ِτTjf ( k)[b!SB^$䘿$d׿OJ)rzFQH8p8TXGMl[g._.vtеLfAwr;woֳ.z~&>o,Jܱ\R&VC'gK.UD?,Zg^_f2H韶n\ު ^ 7 1fT—m̼Vz HmLq@Na:옮USbꦘdތ/0V2;P~wwJ~ݏ1<ߛ% UbH*NET4N8c~R'žI~5fwA1]A} =}\v`>}p>{31VObXDzgl` >= fQ:?}gY ~maIg,f&ڭ^l躣vCh;}14O[{ю= ҟp}jĺ ?QmAney*9,4L3˙ |V-azcv$3j|f,0Yd0K=Ff1i#dfo:cyUs3+%>g6#CY͌nn_{xMb_EM&Y$o4}$>m8Ei71M)Lb]a:p-6{m|6Ik̓MD2R}_-iBy˛仩T;MR~ t\|KUd] .*/r6-M ]thcnFAYFom j5 fܘkqøY;c7hND36wyf}z<۬g6Sы:E/UkB-lo-ZRfi6f-2'ȸ":EC[xm-1.j5`1?-r?O099{7mZks㶒Oح37u֌UcK$OE#D_tI>xh4P/_͞_fIϨӿMm'US^qiUV jN4:$cF`$;}2676ly):iwl6MZ[ҢJl4y:J3f`}D P=\o8MRy>Aޞt0EٻAP0ʯ~\<eSIחml2 ӝ e?:u$,Ҳ{Žy'`HΒjGxd.̝:AI]Q ?hiR,TY.`Zk8n͘6O k,y4;'mA/`/PK5`/ӪŢln]ZS4}ҹ!\Ue\P:ɺPYS݁av5Ua3JWr&xc4 K5eY7b"!mrQu`WPB,V ֞{[is[>v+DY 24qsg 8:= IGY#ʹ,(]_fwe1O`V x[QMrj 6衆=۾'v/eH3&{"O B/JfPA~NQ ntDb`wf6%!u'OE;i% LAMfGX;qS k,0{ffmӛbv gJ6&H XW܏.ݓQ,P yPc1$Gjvb_a.9sqYCЏWƳz% t,'8ڨd3M+r{ClXAcmGqpS~枒E;uRaf{sH݁0 Oh+ 0vI+xfgjwi~w4cPliZ53-[;`D^S>6+@*4ósy]kgjoG{IyKDQT#dQV;۪l!ؤ36EeYoEz\#Ǧ0KMV *V#(6o;1W$EПm$J*)m tlB,T=QpC߾#jC*Gp 0XdZv_czҗhr ; $ihU$2v^?іzGR}R粣u.)Ъ_ǁ LɧgY%4옋CWEgqA;%-e*Q%Z98~ ڧب) ͨ1k!ZȽR})cY;AZa潅a<= dEyEX[JSL)+!JBW>L]i2%|T-"|`kR/8%UHyZrIɝ{%*_$ T8>t3WK?I&u};F7*oq*se/C{߁RwI6I p  yߐ 񨎽>WB{=vyC^2z(g ڋku'nم^m(&R7 pʔ;q䖏jq?ȣt뼀0\V~V B# Ǔ;"A_;.続 Pѩ@TW7 ^]w;NoʈƩ1mc%]:7X7H3U5 2+:>nu$N<(){w &0cy /N_LXe*܊(iZAUAھęVK> DUry_ߙhC"3!{E<~P"PQTޑjg*"w"khrD5ԏW4t4h*$, ^ rcWoGWgEWC T)#A%FӺKZ*.uSYkyKƨ):;^\QZyIW!c,k}Ǹ-)?W%K8C3[uT"pihG~ Z>gj/vc]σ֝Z䜞^ J 4|h{'YiڍPId0* ɺ W^X tm1kS!s԰)#u?@ ջnPqWVv$nM; O"6Ɲ>ED~F[˽TEG:IP^AkOPթ :[`Dhe͒wf72!fQn{Np6j9'],V/DBa_|m$ZRakN^bBۂ`F#/* NMKHzZ^T $ơ GV#=^$av4ER-nl-\l-P=غf\zZ #w5Nw^8n$Dum?!GkkR5q3"I{]#p~tV9SӨ3-Rg#YS^{v*Y'~Sd{0{>%vxsafX;iHg>٬^|`CvdRX Y&jC|2_Lc2h.Cʼ a3X0)? TIJHmh? gɇ^maX+~b9mrIm,a8DP9ɒa)D='Y`^,smQ 4'(#/eJ&/( P>] Œgޖw*<)p21aMZ("So C82̎e_!LkjxlRAF&kxaC~7P9}$SB.i9n`^My_@,T'F~{xS(AIbmsCE5tuѹN%&q\68@|!G78 ;OJȃzËZ7 7MS"+p1kuHj֚`'G.Zj?#8Uϸ % ?vV)p=4K A.PUhUt8&^!Nm[@=Ș:T/N( A  \y,Sk:,ɀ&,*i>X1ĥ [9O4K}L-0`gX$5Α"u$%M." O Kڟ̆;-GCCz@%H_Íb#A"G?}b!B-Wٗ [ϋ5ϳzLx_  &ߖ[Vf<[/Ea=3y<<R<yzc5E=\}{Xl"[^bk xvWpUŏF_֓'a6O/ͷP~Ws%7UԱ|[,?V~]<eh y~.?fa2*wD^/:ݘ v֋