7p  java/lang/Object()V   org/freertr/rtr/rtrRiftIface helloTimerI    deadTimer   metric   suppressAddrZ  unsuppressAddr  connectedCheckorg/freertr/util/notifier  ! "#notifLorg/freertr/util/notifier; % &'lowerLorg/freertr/rtr/rtrRift; ) *+ifaceLorg/freertr/ip/ipFwdIface;-org/freertr/tab/tabGen , 0 12advertLorg/freertr/tab/tabGen;` 5 6  echoTimer8org/freertr/tab/tabAverage 7; <(II)V > ?@ echoParamLorg/freertr/tab/tabAverage; BCD EForg/freertr/rtr/rtrRiftudpCoreLorg/freertr/prt/prtUdp; HIJ KLorg/freertr/prt/prtUdp listenStop9(Lorg/freertr/ip/ipFwdIface;ILorg/freertr/addr/addrIP;I)Z N OPconnMLorg/freertr/prt/prtGenConn; RST UVorg/freertr/prt/prtGenConn setClosing()Z X YPconnU [ \need2run^org/freertr/addr/addrIP ] abc deorg/freertr/ip/ipFwdIfaceaddrLorg/freertr/addr/addrIP; ]g hVisIPv4j 224.0.0.120 ]l mn fromString(Ljava/lang/String;)Zp ff02::a1f7rrift Ht uv packetListenz(Lorg/freertr/prt/prtServP;Lorg/freertr/ip/ipFwdIface;ILorg/freertr/addr/addrIP;ILjava/lang/String;ILjava/lang/String;II)Z Hx yz packetConnect(Lorg/freertr/prt/prtServP;Lorg/freertr/ip/ipFwdIface;ILorg/freertr/addr/addrIP;ILjava/lang/String;ILjava/lang/String;II)Lorg/freertr/prt/prtGenConn; R| } timeout  org/freertr/util/bitsrandomW()I  nonceLjava/lang/Thread (Ljava/lang/Runnable;)V start  ready   dynamicMetric 7  getResult(I)I  rtrIdJ  nameLjava/lang/String;  upTime  timePast(J)Ljava/lang/String; makeConcatWithConstants9(JLjava/lang/String;Ljava/lang/String;)Ljava/lang/String;  org/freertr/user/userFormatadd(Ljava/lang/String;)V  java/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String;  epeer ](Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; &(Ljava/lang/String;)Ljava/lang/String;  java/util/List(Ljava/lang/Object;)Z   passiveIntorg/freertr/util/cmds  cfgLineJ(Ljava/util/List;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V   bfdTrigger '(Ljava/lang/String;I)Ljava/lang/String;    ipInfoCfgLorg/freertr/sec/secInfoCfg;  org/freertr/sec/secInfoUtl getConfigA(Ljava/util/List;Lorg/freertr/sec/secInfoCfg;Ljava/lang/String;)Vdisabledicmpechoudpechotwamp (I)Ljava/lang/String;  7 %(Ljava/util/List;Ljava/lang/String;)VB4 . enable enable protocol processing  org/freertr/user/userHelpingA4 . bfd enable bfd triggered down@4 . passive do not form neighborshipB4 . suppress-prefix do not advertise interface>4 . unsuppress-prefix do advertise interface G4 . verify-source check source address of updates ?4 5 metric metric of the interface.5 . metric;4 5 hello-time time between hellos25 . time in msA4 5 dead-time time before neighbor downipinfo check peers  getHelp4(Lorg/freertr/user/userHelping;ILjava/lang/String;)V94 5 dynamic-metric dynamic peer metric95 6 mode dynamic peer metric :6 . disabled forbid echo requests"86 . icmpecho icmp echo requests$76 . udpecho udp echo requests&96 . twamp twamp echo requests 7( )!(Lorg/freertr/user/userHelping;)V+ipinfo - .equals 0 12doCfgStrR(Lorg/freertr/sec/secInfoCfg;Lorg/freertr/util/cmds;Z)Lorg/freertr/sec/secInfoCfg;4dynamic-metric 6 78word()Ljava/lang/String;:mode B! = >wakeup@time B CDstr2num(Ljava/lang/String;)I 7F GHdoConfig,(Ljava/lang/String;Lorg/freertr/util/cmds;)ZJalgo 7L M string2algo O PbadCmdRbfdTsuppress-prefixVunsuppress-prefixXpassiveZ hello-time\ dead-time_ verify-source ab c ifwNumeorg/freertr/enc/encThrift dhorg/freertr/enc/encThriftEntry g gm noputField(IIJ)V Bq rnodeID Bt u level gw xyelmLjava/util/List; d{ n|(IILjava/util/List;)V ~ org/freertr/pack/packHolder merge2end ~ <msbPutW   nonceR ~ <msbPutD ~ putSkip(I)V ~  merge2beg  org/freertr/util/debugger rtrRiftEvnt  org/freertr/util/loggerdebug   putMyHeader()Lorg/freertr/enc/encThrift;  org/freertr/cfg/cfgAllhostName 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;  getBytes()[B g n(II[B)V a  mtu B  ipSize   lnkId g{ dm ~ (ZZ)V d toPacket (Lorg/freertr/pack/packHolder;)V   rtrRiftTraf d show()Ljava/util/List;   lieCnt   putPackHead"(Lorg/freertr/pack/packHolder;II)V R send2net (Lorg/freertr/pack/packHolder;)Z   flood  V openUniConn B 2ties , size , get(I)Ljava/lang/Comparable;org/freertr/rtr/rtrRiftTie , find.(Ljava/lang/Comparable;)Ljava/lang/Comparable;  differs(Lorg/freertr/rtr/rtrRiftTie;)Z t   direct   putHeader2"()Lorg/freertr/enc/encThriftEntry;  elements Lorg/freertr/enc/encThriftEntry;   tieCnt   getRemain   putHeader3 g  <putTypKV   putHeader1java/util/ArrayList   org/freertr/util/state$statesupLorg/freertr/util/state$states; a networkLorg/freertr/addr/addrPrefix; R epeerAddr !"# $%org/freertr/addr/addrPrefixmatches(Lorg/freertr/addr/addrType;)Z ( )info ~+ ,msbGetW ~. /getByte R1 2 portLoc4lie6tie ]9 :; copyBytes()Lorg/freertr/addr/addrIP; = >?getTime()J A B lastHeard D EsendLie ~G HgetSkip dJ K fromPacket dN OPgetField$(II)Lorg/freertr/enc/encThriftEntry; gN gS Tval gV WXdat[B Z [([B)V ^ _erroraorg/freertr/sec/secInfoCls Bc defwdCoreLorg/freertr/ip/ipFwd; `g h(Lorg/freertr/pipe/pipeSide;Lorg/freertr/prt/prtGenConn;Lorg/freertr/ip/ipPrt;Lorg/freertr/ip/ipFwd;Lorg/freertr/addr/addrIP;ILorg/freertr/addr/addrIP;)Vjorg/freertr/sec/secInfoWrk il m;(Lorg/freertr/sec/secInfoCfg;Lorg/freertr/sec/secInfoCls;)V o pq ipInfoResLorg/freertr/sec/secInfoWrk; is tudoWork(Z)Z x ywarn ,{ |clear a~ bfdAddJ(Lorg/freertr/addr/addrIP;Lorg/freertr/rtr/rtrBfdClnt;Ljava/lang/String;)Z ~ msbGetD   (I)Ljava/lang/Object;    getHeader#(Lorg/freertr/enc/encThriftEntry;)Z  better  sendTide(Lorg/freertr/rtr/rtrRiftTie;)V  copyHead()Lorg/freertr/rtr/rtrRiftTie; , put  expire  sendTire  sleep i V need2drop a bfdDel8(Lorg/freertr/addr/addrIP;Lorg/freertr/rtr/rtrBfdClnt;)Z  echoTimeorg/freertr/clnt/clntPing   @meas  efwd  +src  etrg  torg/freertr/clnt/clntEcho    Fudp   org/freertr/clnt/clntTwamp        sendTie java/lang/Exception   traceback(Ljava/lang/Throwable;)V! '(JLjava/lang/String;)Ljava/lang/String;   compareTo!(Lorg/freertr/rtr/rtrRiftIface;)Ijava/lang/Comparablejava/lang/Runnableorg/freertr/rtr/rtrBfdClntorg/freertr/prt/prtServP Signature6Lorg/freertr/tab/tabGen;7(Lorg/freertr/rtr/rtrRift;Lorg/freertr/ip/ipFwdIface;)VCodeLineNumberTableunregister2udp StackMapTable register2udp getMetric showNeighs!(Lorg/freertr/user/userFormat;Z)VrouterGetConfig&(Ljava/util/List;Ljava/lang/String;I)V:(Ljava/util/List;Ljava/lang/String;I)V routerGetHelprouterDoConfig,(Ljava/lang/String;Lorg/freertr/util/cmds;)VrouterUnConfigtoStringclosedInterface(Lorg/freertr/ip/ipFwdIface;)V datagramReady(Lorg/freertr/prt/prtGenConn;)VdatagramAccept(Lorg/freertr/prt/prtGenConn;)ZdatagramClosed datagramWork datagramErrorx(Lorg/freertr/prt/prtGenConn;Lorg/freertr/pack/packHolder;Lorg/freertr/addr/addrIP;Lorg/freertr/util/counter$reasons;I)Z datagramState>(Lorg/freertr/prt/prtGenConn;Lorg/freertr/util/state$states;)Z datagramRecv<(Lorg/freertr/prt/prtGenConn;Lorg/freertr/pack/packHolder;)Zrun bfdPeerDown(Ljava/lang/Object;)IMethodParametersLjava/lang/Object;Ljava/lang/Comparable;Ljava/lang/Runnable;Lorg/freertr/rtr/rtrBfdClnt;Lorg/freertr/prt/prtServP; SourceFilertrRiftIface.javaBootstrapMethods|| |||| enablepassive!bfd#suppress-prefix%unsuppress-prefix'verify-source) metric + hello-time - dead-time / ipinfo 1 unknown=3dynamic-metric mode5 dynamic-metric time 7 rift on 9tx lie ;:= tx thrift=?tx tie A tx tire C tx tide Egot from out of subnet peer Grx  I rx thrift=Kneighbor  () miscabledMneighbor  () upO rx tide Q rx tire Srx tie Ugot empty tie element from Wgot invalid tie header from Yneighbor  () down[stopping peer  ()] ^_` a$java/lang/invoke/StringConcatFactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; InnerClassesdorg/freertr/util/statestatesg org/freertr/util/counter$reasonsiorg/freertr/util/counterreasonsl%java/lang/invoke/MethodHandles$Lookupnjava/lang/invoke/MethodHandlesLookup!"pq  6 ?@  *+OPYP&'12"#e u  B    \\*** * ****Y *+$*,(*,Y./*34*7Y9:=:5 :N]b"g'27<GM[~E*$A*(GW*$A*(GW*MQW*W *WQW*Z(07?D? ]Y_L*(`f +ikW +okW*$A**(qsW*$A**(qsW**$A**(+qwM*M*M{*~*ZY*:&A\| ]]]$***<**=  N*+***)+*(****   'M%sQ+,W+*ƚ,θ+*Ԛ,θ+*,θ+*,θ+*,θ+,*W+,*W+,* W+*,*< '.5:#:::*:+*,+,*4W*=+,b 'A[u !"#%'(*+-. 0 13566G7P8YXXXXq L )****** * * *********!*#*%*'V@ABCD'E/F7G?HGIOJWK_LgMoNwOPQRSTlg+*,**,/+3,,5L+9,P,5L*+,*+,*+,*+,**$;<+?,*,5A4*=+,E+I,*=,5K*$;<,N+Q, *Ա+S,**$;<+U,**$;<+W, *Ʊ+Y,*,5A+[,*,5A +],*,5A*$;<6] ^_a"b'c1d6e;fDgIiRjWl`meonpsr}s~uvwyz|}~  $/0:EFP[ef0  C+*,**,/+3,',5L+9,**$;<,N+Q, *Ա+^, *+S,**$;<+U,**$;<+W, *Ʊv "'16@AEFPUV`efpu (8% *(`Z(*(a+(a*(a+(a$&~JdYfLgYiM,jl, l, *$pl,*$sl+ ,vz+"!/=HV+}+++++*+ *+ ++++:  *4;AFLQUQEL*M*LgYiMgYiN- *(-*(al-l-*(*$`l*2gYi: *l*l- v- lgYi: l-  v- * ll, -v+ ,vzgYiM+ ~Y:+ř+ȸ*Y`***MW~"*CR\sz    ,6AKdggg~Vx >*W**$A**(**qwW*W*W{!" $+%2&4(<) **ۙ<*$޶*$M,,*/,**$s,*WgYiN- ,v- ,vgYi: -v*: vz ~Y:řȸ*Y`**,*WWz-.01'2+3.5@6C8Y9\;b<q>y?@ABCDEFGHIKLMN0P8 #{ggd~"X*ۙ*WgYiM, +vgYiN-,v-   gYi: -v*: vz ~Y:řȸ*Y`***WWZSTVWY%Z3[;\F]N^W_c`iavb~cdefhijk gggd~R*ۙ*W gYiM, + v, + v,YgYiN- ,v*: -vz ~Y:řȸ*Y`**+*WWVnoqrt%u3vAwOxWybzh{t||}~ggd~& +* {      4 ,  @ +QW*ƙ*"*(+ +&',*,-"+0 35+7*+8*,*, ** *<@ *C*+0,FdYfN-,Iř-ȸL-M:Q:RjQ:*RQ:*R-M:Q:Q:U*YUYQ:*RQ:*R***$sd**$s`**\]*=`Y*$b**(`f:*iY*kn*nrW**vw*<**/z**$;<*ԙ*(**q}W*, > ,F ,FdYf:,IřȸLM:M:Q:+Q:v6vfvg: Q:  >Y:   Q# *$  * Q:+Q:v6vBvg: Y:   Q*/ W* <Q:̲+Y:Q*]Q*]<ha*/*/W*$*$W*$;<*v &24?AKMSr}  $- 2 4 > FKMV[]fkmuw!"#$&'(*+,./ 011:3M4T5Y6`7e8o9v:<>?ABCEGHIKLNOPRSTVWX Y[\#]%_-`/bAcRd[e`fchli{j~lmobqstuvxyz|} +18:CHNZcow;% B +!dgg  @Jdggg 0ggg :g -/- *Z* **n@*n6*(**W*W*WQW*W**$;<*C***4a<*WYL+*=+*$b+*(+]Y_+*+§zYM,*=,*$A,*(,]Y_,*,ͧ=YN-*=-*$A-*(-]Y_-*-*< e*ָ<@*@e* **]*(**W*W*WQW*W**$;\@\B\D\F\H\J\L\N\P\R\T\V\X\Zbce@fhj@kmo