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; }  register2udpn 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;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)Vorg/freertr/rtr/rtrBgpUtil K  commonLabelLorg/freertr/tab/tabLabelEntry;  routerDoAggregatess(ILorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabLabelEntry;Lorg/freertr/addr/addrIPv4;I)V ned2adv " #routerRedistedU & '"(I)Lorg/freertr/tab/tabRouteEntry; ) *notyet , -. copyBytesC(Lorg/freertr/tab/tabRoute$addType;)Lorg/freertr/tab/tabRouteEntry; 0 1rouSrc 3 4F(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRouteEntry;ZZ)V K6 7labeldR 9 :;find@(Lorg/freertr/tab/tabRouteEntry;)Lorg/freertr/tab/tabRouteEntry; = >labelLoc @ Aneed2adv C Dalways }F GH roumapOutLorg/freertr/tab/tabListing; }J KH roupolOut }M NH prflstOut P QRaddUpdatedTable(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 }T U  defOrigin  X Y getProtoVer [\] ^_org/freertr/addr/addrPrefix defaultRoute (I)Lorg/freertr/addr/addrPrefix; a bprefix }d e  splitHorizon g hidelIface"(Lorg/freertr/tab/tabRouteIface;)I k l stub }k }o p unstub r st clustListLjava/util/List; vwjava/util/List y z"(Lorg/freertr/tab/tabRouteEntry;)Z }@ * &~ wakeup  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  [ (Lorg/freertr/addr/addrType;I)V C :   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)Vshutdown  releaseg([Lorg/freertr/tab/tabLabelEntry;Lorg/freertr/tab/tabLabelEntry$owner;)[Lorg/freertr/tab/tabLabelEntry; router-id specify router id    org/freertr/user/userHelp;(Ljava/util/List;ZI[ILjava/lang/String;Ljava/lang/String;)V router id specify label model stub routersuppress-prefixdo not advertise interfacessegrout!segment routing parameters#% maximum index'this node index)base+ specify base- label base/bier1bier parameters3bitstring length5 node index7node subdomain9 o:8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; v< =(Ljava/lang/Object;)Z? ABC DEorg/freertr/util/cmdscfgLineJ(Ljava/util/List;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)VH oI((IILjava/lang/String;)Ljava/lang/String;K oL(IIII)Ljava/lang/String; AN OPword()Ljava/lang/String;Rno hT U=equals <W XY fromString(Ljava/lang/String;)Z [\] ^_org/freertr/cfg/cfgAllifcFind-(Ljava/lang/String;I)Lorg/freertr/cfg/cfgIfc; abc dBorg/freertr/cfg/cfgIfcaddr4 <f ghsetAddr(Lorg/freertr/addr/addrType;)V jkl mnorg/freertr/util/bitsstr2num(Ljava/lang/String;)I hp qlength s tuallocateI(Lorg/freertr/tab/tabLabelEntry$owner;II)[Lorg/freertr/tab/tabLabelEntry; w x normalizeBsl z t{H(Lorg/freertr/tab/tabLabelEntry$owner;I)[Lorg/freertr/tab/tabLabelEntry; &} ~misleepjava/lang/Exception x  traceback(Ljava/lang/Throwable;)V  peerLorg/freertr/addr/addrIP;  HrouterAutoMesh  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; 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:;ABl AHI "% +,/ Y*** ****** *#*&Y()*-*+0*,4*-8*?*CYEF:*0J,$O: U:*X*0*[_Y*adnT Y^chm"r'w,|1<AFKP[fiKPP% *0gm>q+gvw+}Y*+M*F,}N--M,*X,. ".248< }}?q+gw+}Y*+M*F,}M,,,*X2 !-126:> }HYMYM>*F*F}:,,",9@F $p2YL=*F*F}N-++ %*0 !7=*F+*F}N--+:&    ',/ 5}KYL=*F3*F}N-+-g-+"  !%")#,%C I'}Y *0J0!Z q¸wYƷL>*F*F}:ʹ֥*# ܙݚ+M,,,,,* ,,,*,*#>*Fp*F}:Uʹ֥?6/:+  ʄ*++*0+NYL+ -6*!$]*!%M,F,(+M,,/,* ,*,*+,2*@6+$4+%M*05,8:,<<*+?6*F*F}:lYLB+*?EILOWSYVM,*WZ`*,*0<,,* ,,,*,*+B,2c +fW*j mRnJ+$d6=+%M,),q,qu +,xW+{6(: |}фr-**-*CYE:*6-$-%M,,v,l,*[,,`:*,2*0,,Y,,`We* 6** 2*0Y* [YYW6*Fv*F}:Zʹ֥D8*2*0Y[YYW6*+Y*2Ä*MY*2*Ϸ:*6*Fa*F}:Eʹ֥/#֧ ل6-$-%M,x,j,`,* OY*0,,,:::,dq6*Ǿ*2*0*-*-*Yȵ**0*78 :<"=/>4?7AJBMDdEgGxHIJKLNPQRTU<XYZ[],^/`?aNbScVee`kXqhijklmnoqrstuvwly z{|)}.~1@zFKZhmp{$.6@Wdkor|!,/GJ^&)=^dq )/;BFITWor   R } E} "}#*B $!}X} " }} }#CC WC9!} 4 +!}  C = C"!*X : **X$% & ( Vq w*-<*F$*F}M, ,,*W*DzW6 ./ 123*4.5175892?:J;U< }9+ YO  + YO + YO + YO + YO + YO  + YO"$ + YOYO"& + YO(* + YOYO", + YO.0 + YO"2 + YO"$ + YOYO"4 + YO"6 BDE(F<GPHdIxJKLMNOP Q$R8S+,*?g8;W+*j,>@+*,>@+*#,>@>:**F:+*,** G@+* ,.** **J@* ]^+_B`Ya^becrefg `vvhvUvvhvUvvhv"hLvvhhvbvvhhvp+MM>,QS +MM>,SB+MM*?,VW,Z:`*?`e*?,S**)},S*j*)},S*#*)},S*W** ***)}*+Mi*+Mi *+MM,o,(S*+Mi***r*)},.S*DzW* *** **)}*+Miv*+Mi *+Mi*+Mi** *`d*ly*)} Bpqrstv"w'x0y7z<{D|PT_akx ",7:LSU_josx}jh7aRAh RAh RAh 5:Ql"*)u0|W*-*XL+" Fc+<=*F*F}`<#) $ =*F*F}N-s-ʹ֥^6-O-:3YV:[Y`+*WoB  25DRWZcw }!/ *F%2*P@@@@