7  org/freertr/ip/ipRtr()V   org/freertr/rtr/rtrPvrplabelsZ   segrouIdxI   segrouMax   segrouBase  bierIdx  bierSub  bierLen ! "bierMax $ %  suppressAddr'org/freertr/util/notifier & * +,notifLorg/freertr/util/notifier; . / need2run 1 23fwdCoreLorg/freertr/ip/ipFwd; 5 67udpCoreLorg/freertr/prt/prtUdp; 9 :;tcpCoreLorg/freertr/prt/prtTcp;=org/freertr/addr/addrIPv4 < @ ABrouterIDLorg/freertr/addr/addrIPv4;Dorg/freertr/tab/tabGen C G HIifacesLorg/freertr/tab/tabGen; KLM Norg/freertr/ip/ipFwd ipVersion PQR ST&org/freertr/tab/tabRouteAttr$routeTypepvrp4(Lorg/freertr/tab/tabRouteAttr$routeType; PV WTpvrp6 Y ZrouterCreateComputed K\ ]^ routerAddB(Lorg/freertr/ip/ipRtr;Lorg/freertr/tab/tabRouteAttr$routeType;I)V`java/lang/Thread _b c(Ljava/lang/Runnable;)V _e fstart hij kljava/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String;n opmakeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; rst u org/freertr/util/debugger rtrPvrpEvntn xyz {|org/freertr/util/loggerdebug(Ljava/lang/String;)V~org/freertr/rtr/rtrPvrpIface } 7(Lorg/freertr/rtr/rtrPvrp;Lorg/freertr/ip/ipFwdIface;)V C add.(Ljava/lang/Comparable;)Ljava/lang/Comparable; }  register2udp & wakeupn C del } unregister2udp } closeNeighborsorg/freertr/user/userFormat|router|name|uptime '(Ljava/lang/String;Ljava/lang/String;)V5iface|router|name|peerif|peer|learned|adverted|uptime C size()I C get(I)Ljava/lang/Comparable; }  showNeighs!(Lorg/freertr/user/userFormat;Z)V*iface|router|name|peer|metric|gotmet|delay }  showMetrics (Lorg/freertr/user/userFormat;)V }  findNeigh9(Lorg/freertr/addr/addrIP;)Lorg/freertr/rtr/rtrPvrpNeigh; C find } I msgStatRx } I msgStatTx  org/freertr/util/keyworddumpO(Lorg/freertr/tab/tabGen;Lorg/freertr/tab/tabGen;)Lorg/freertr/user/userFormat;interface|neighbors } ifaceLorg/freertr/ip/ipFwdIface; } Ineighs o'(Ljava/lang/String;I)Ljava/lang/String; | create tableorg/freertr/tab/tabRoutelernd |  org/freertr/ip/ipFwdIfacelowerLorg/freertr/ip/ipIfc;  org/freertr/ip/ipIfcgetState!()Lorg/freertr/util/state$states;  org/freertr/util/state$statesupLorg/freertr/util/state$states; }$ } unsuppressAddr   org/freertr/tab/tabRoute$addTypebetter"Lorg/freertr/tab/tabRoute$addType; networkLorg/freertr/addr/addrPrefix; {(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/addr/addrPrefix;Lorg/freertr/addr/addrType;)Lorg/freertr/tab/tabRouteEntry;  org/freertr/tab/tabRouteEntrybestLorg/freertr/tab/tabRouteAttr; P Tconn     Torg/freertr/tab/tabRouteAttrrouTyp   Lorg/freertr/tab/tabRouteIface;   distance }   }   }  org/freertr/rtr/rtrPvrpNeigh  ecmp   !learnedLorg/freertr/tab/tabRoute;? $ %& mergeFrom@(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;I)V(org/freertr/rtr/rtrBgpUtil K* +, commonLabelLorg/freertr/tab/tabLabelEntry; . /0routerDoAggregatess(ILorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabLabelEntry;Lorg/freertr/addr/addrIPv4;I)V2ned2adv 4 5!routerRedistedU 8 9"(I)Lorg/freertr/tab/tabRouteEntry; ; <notyet > ?@ copyBytesC(Lorg/freertr/tab/tabRoute$addType;)Lorg/freertr/tab/tabRouteEntry;  B CrouSrc E FF(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRouteEntry;ZZ)V KH I!labeldR K L@(Lorg/freertr/tab/tabRouteEntry;)Lorg/freertr/tab/tabRouteEntry;  N O,labelLoc Q R!need2adv T Ualways }W XY roumapOutLorg/freertr/tab/tabListing; }[ \Y roupolOut }^ _Y prflstOut a bcaddUpdatedTable(Lorg/freertr/tab/tabRoute$addType;IILorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;ZLorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)I }e f  defOrigin  ijk lmorg/freertr/addr/addrPrefix defaultRoute (I)Lorg/freertr/addr/addrPrefix; o pprefix }r s  splitHorizon u vwdelIface"(Lorg/freertr/tab/tabRouteIface;)I y z stub }y }} ~ unstub    clustListLjava/util/List; java/util/List  "(Lorg/freertr/tab/tabRouteEntry;)Z }Q *  TrouterProtoTyp   routerProcNum  setProto,(Lorg/freertr/tab/tabRouteAttr$routeType;I)V  !routerComputedU   preserveTime(Lorg/freertr/tab/tabRoute;)Z   segrouLab [Lorg/freertr/tab/tabLabelEntry;    segrouBeg  org/freertr/tab/tabLabel int2labels(I)Ljava/util/List;  #org/freertr/tab/tabLabelEntry$ownerpvrpSrgb%Lorg/freertr/tab/tabLabelEntry$owner;   nextHopLorg/freertr/addr/addrType;org/freertr/addr/addrIP  org/freertr/tab/tabLabelEntry setFwdMpls(Lorg/freertr/tab/tabLabelEntry$owner;Lorg/freertr/ip/ipFwd;Lorg/freertr/ip/ipFwdIface;Lorg/freertr/addr/addrIP;Ljava/util/List;)Vorg/freertr/tab/tabIndex  !(ILorg/freertr/addr/addrPrefix;)V   add2table5(Lorg/freertr/tab/tabGen;Lorg/freertr/tab/tabIndex;)Z   setFwdCommon>(Lorg/freertr/tab/tabLabelEntry$owner;Lorg/freertr/ip/ipFwd;)V  i (Lorg/freertr/addr/addrType;I)V   setFwdDrop((Lorg/freertr/tab/tabLabelEntry$owner;)V  bierLaborg/freertr/tab/tabLabelBier  label  num2bsl(I)I  (II)V  idx  idx2   bierBegorg/freertr/tab/tabLabelBierN  S(Lorg/freertr/ip/ipFwd;Lorg/freertr/tab/tabRouteIface;Lorg/freertr/addr/addrIP;II)V  Ipeers  setBit(I)V  pvrpBier   setBierMpls\(Lorg/freertr/tab/tabLabelEntry$owner;Lorg/freertr/ip/ipFwd;Lorg/freertr/tab/tabLabelBier;)V  !routerComputedMrx  !routerComputedF  IrouterComputedI K   routerChg(Lorg/freertr/ip/ipRtr;Z)V shutdown  releaseg([Lorg/freertr/tab/tabLabelEntry;Lorg/freertr/tab/tabLabelEntry$owner;)[Lorg/freertr/tab/tabLabelEntry; router-idspecify router id  org/freertr/user/userHelp;(Ljava/util/List;ZI[ILjava/lang/String;Ljava/lang/String;)V router id specify label modez" stub router$suppress-prefix&do not advertise interfaces(segrout*segment routing parameters,. maximum index0this node index2base4 specify base6 label base8bier:bier parameters<bitstring length> node index@node subdomainB oC8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; E F(Ljava/lang/Object;)ZH JKL MNorg/freertr/util/cmdscfgLineJ(Ljava/util/List;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)VQ oR((IILjava/lang/String;)Ljava/lang/String;T oU(IIII)Ljava/lang/String; JW XYword()Ljava/lang/String;[no h] ^Fequals <` ab fromString(Ljava/lang/String;)Z def ghorg/freertr/cfg/cfgAllifcFind-(Ljava/lang/String;I)Lorg/freertr/cfg/cfgIfc; jkl mBorg/freertr/cfg/cfgIfcaddr4 <o pqsetAddr(Lorg/freertr/addr/addrType;)V stu vworg/freertr/util/bitsstr2num(Ljava/lang/String;)I hy zlength | }~allocateI(Lorg/freertr/tab/tabLabelEntry$owner;II)[Lorg/freertr/tab/tabLabelEntry;   normalizeBsl  }H(Lorg/freertr/tab/tabLabelEntry$owner;I)[Lorg/freertr/tab/tabLabelEntry; & misleepjava/lang/Exception x  traceback(Ljava/lang/Throwable;)V  peerLorg/freertr/addr/addrIP;  YrouterAutoMesh  addUpdatedEntry(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;IILorg/freertr/tab/tabRouteEntry;ZLorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;Lorg/freertr/tab/tabListing;)Ijava/lang/Runnableport ConstantValue  Signature5Lorg/freertr/tab/tabRoute;8Lorg/freertr/tab/tabGen;J(Lorg/freertr/ip/ipFwd;Lorg/freertr/prt/prtUdp;Lorg/freertr/prt/prtTcp;I)VCodeLineNumberTable StackMapTableorg/freertr/prt/prtUdporg/freertr/prt/prtTcptoString addInterface;(Lorg/freertr/ip/ipFwdIface;)Lorg/freertr/rtr/rtrPvrpIface; delInterface(Lorg/freertr/ip/ipFwdIface;)V (Z)Lorg/freertr/user/userFormat;()Lorg/freertr/user/userFormat; showStats:(Lorg/freertr/ip/ipFwdIface;)Lorg/freertr/user/userFormat; showIfacesrouterRedistChangedrouterOthersChangedrouterCloseNow routerGetHelp(Lorg/freertr/user/userHelp;)VrouterGetConfig&(Ljava/util/List;Ljava/lang/String;I)V:(Ljava/util/List;Ljava/lang/String;I)VrouterConfigure(Lorg/freertr/util/cmds;)ZrunrouterNeighCountrouterNeighList(Lorg/freertr/tab/tabRoute;)V8(Lorg/freertr/tab/tabRoute;)VrouterIfaceCountrouterRecursionsrouterLinkStates:(Lorg/freertr/tab/tabRoute;IILorg/freertr/addr/addrIPv4;)VU(Lorg/freertr/tab/tabRoute;IILorg/freertr/addr/addrIPv4;)VrouterStateGet(Ljava/util/List;)V'(Ljava/util/List;)VrouterStateSet SourceFile rtrPvrp.javaBootstrapMethods pvrp on  add iface  del iface | router-id  base       o$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; InnerClasses routeTypeorg/freertr/util/statestatesaddTypeowner%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup!2367:;ABz R!HI "% +,/ Y*** ****** *#*&Y()*-*+0*,4*-8*?*CYEF:*0J,$O: U:*X*0*[_Y*adnU Z_din"s'x,}1<AFKP[fiKPY% *0gmAq+gvw+}Y*+M*F,}N--M,*),. ".248? }}Bq+gw+}Y*+M*F,}M,,,*)2 !-126:A }HYMYM>*F*F}:,,",9@F $p2YL=*F*F}N-++ %*0 !7=*F+*F}N--+:&   ',/ 5}m.+}Y*+M*F,}M,,,!"$%& '") }KYƷL=*F3*F}N-+-ȸg-̶҄+"2 34%5)6,8C3I:}!Z qԸwYطL>*F*F}:ȴܹ*# +ȴM,,ȵ ,,,* ,,,*,*#>*Fp*F}:Uȴܹ?6̶/:+"#ʄ*++*0)-+NY1L+-"#6*36]*37M,F,:=M,,A,* ,*,*+,D*@6+64+7M*0G,J:,MM*+P6*F*F}:oY1LS+*PVZ]`WdYgM,*0Jhn*,*0)M,,* ,,,*,*+S,Dq +ȶtW*x {R|J+6d6=+7M,),, +,W+6̶(: фo-**-*CYE:*6-6-7M,,v,l,*[,,`:*,2*0, ,Y,,nWe* 6** 2*0Y* iYYɷW6*Fv*F}:ZȴܹD8*2*0YiYYɷW6*+Y*2̄*MY*2*ط:*6*Fa*F}:Eȴܹ/#ߧ 6-6-7M,x,j,`,* OY*0, ,,:::,dq6*о*2*0*-*-*Yڵ**0*AB DF"G/H4I7KJLMNdOgQxRSTUVXZ[\^_Fbcdeg,h/j?kNlSmVoejkbqrstuvwxy{|}~v ).1@FKZhmp{'19CZgnru !$/2JMa  ),@agt  ",2>EI L W Zru  !R } E} "}#*B $!}[} " }} }#CC WC9!} 4 +!}  C = C"$*) '(=* *)./02Vq  w*-<*F$*F}M, ,,* W*в W6 89 ;<=*>.?1A5B9<?DJEUF }9+ YO+ YO+ YO+ YO !+ YO#%+ YO')+ YO+-+ YOYO+/+ YO13+ YOYO+5+ YO79+ YO+;+ YO+-+ YOYO+=+ YO+?BNO(P<QPRdSxTUVWXYZ [$\8]+,*?gADW+*x, GI+*,GI+*#,#GIG:**O:+*,'** PI+* ,7** **SI* gh+iBjYk^lemropq `hUhUh"hLhhbhhp+VM>,Z\ +VM>,\B+VM*?,_W,c:i*?in*?,\**), \*x*),#\*#*),'\* W** ***)*+Vr*+Vr *+VM,x,1\*+Vr***{*),7\*в W* *** **)*+Vr*+Vr *+Vr*+Vr** *`d*l*) Bz{|}~"'07<DPT_akx ",7:LSU_josx}jh7jRJh RJh RJh 5:Ql"*)u0W*-*XL+" Fc+<=*F*F}̶`<#) $ =*F*F}N-s-ȴܹ^6-̶O-:3Yg:iYɵn+*WoB  25DRWZcw }!/ *F &/2*P @@@@