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  <(Lorg/freertr/tab/tabRouteIface;Lorg/freertr/addr/addrIP;I)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;31 2 router-id specify router id     org/freertr/user/userHelping%(Ljava/util/List;Ljava/lang/String;)V+2 . router id41 . labels specify label mode-1 . stub stub router=1 . suppress-prefix do not advertise interfaces<1 2 segrout segment routing parameters/2 3 maximum index13 4,. this node index.4 5 base specify base,5 4,. label base!11 2 bier bier parameters#22 3 bitstring length%/3 4 maximum index',4 5,. node index)05 . node subdomain+ o,8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; v. /(Ljava/lang/Object;)Zl2 456 78org/freertr/util/cmdscfgLineJ(Ljava/util/List;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V ;suppress-prefix>segrout@ oA((IILjava/lang/String;)Ljava/lang/String;CbierE oF(IIII)Ljava/lang/String; 4H IJword()Ljava/lang/String;Lno hN O/equalsQ router-id <S TU fromString(Ljava/lang/String;)Z WXY Z[org/freertr/cfg/cfgAllifcFind-(Ljava/lang/String;I)Lorg/freertr/cfg/cfgIfc; ]^_ `Borg/freertr/cfg/cfgIfcaddr4 <b cdsetAddr(Lorg/freertr/addr/addrType;)V fgh ijorg/freertr/util/bitsstr2num(Ljava/lang/String;)I hl mlengthobase q rsallocateI(Lorg/freertr/tab/tabLabelEntry$owner;II)[Lorg/freertr/tab/tabLabelEntry; u v normalizeBsl x ryH(Lorg/freertr/tab/tabLabelEntry$owner;I)[Lorg/freertr/tab/tabLabelEntry; &{ |misleep~java/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/userHelping;)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;)V 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[fiKPJ% *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Ä*HY*2*Ϸ:*6*Fa*F}:Eʹ֥/#֧ ل6-$-%M,s,e,[,* JY,,,ܷ:::,dv6*Ǿ*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 8 C"!*X : **X$% & ( Vq w*-<*F$*F}M, ,,*W*DzW6 ./ 123*4.5175892?:J;U< }y+ + + + + + + + + + +  +" +$ +& +( BDEFG H(I0J8K@LHMPNXO`PhQpRxS+,*?g*-W+*j,013+*,913+*#,:131:**<:+*,=** ?3+* ,B** **D3* ]^+_B`Ya^becrefg `vvhvUvvhvUvvhv"hLvvhhvbvvhhvp+GM>,KM +GM>,PMB+GM*?,RW,V:\*?\a*?,9M**)},0M*j*)},:M*#*)},=M*W** ***)}*+Ge*+Ge *+GM,k,nM*+Ge***p*)},BM*DzW* *** **)}*+Get*+Ge *+Ge*+Ge** *`d*lw*)} Bpqrstv"w'x0y7z<{D|PT_akx ",7:LSU_josx}jh7]R4h R4h R4h 5:Ql"*)u0zW*-*XL+}" F}c+<=*F*F}`<#) $ =*F*F}N-s-ʹ֥^6-O-:3YV:[Y`+*WoB  25DRWZcw }!/ *F2*P@@@@