7i  java/lang/Object()V   org/freertr/rtr/rtrBgpSpfparentLorg/freertr/rtr/rtrBgp;  hostnameZ  distanceIorg/freertr/spf/spfCalc  (Lorg/freertr/spf/spfCalc;)V  lastSpfLorg/freertr/spf/spfCalc;org/freertr/tab/tabRoute!bst # $(Ljava/lang/String;)V & '(routesLorg/freertr/tab/tabRoute; *+, -.org/freertr/rtr/rtrBgprouTyp(Lorg/freertr/tab/tabRouteAttr$routeType; 012 3.&org/freertr/tab/tabRouteAttr$routeTypebgp4 5 6ipv4 *8 9:fwdCoreLorg/freertr/ip/ipFwd; <=> ?@java/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String;B CDmakeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; F GenabledBJ LMN OPorg/freertr/util/cmdscfgLineJ(Ljava/util/List;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V R SstubBBW CX9(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String; Z[\ ]^java/util/Listadd(Ljava/lang/Object;)Z ` ablogSizeLorg/freertr/util/syncInt;d CeJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; g hbtopoLog jkl mnorg/freertr/util/syncIntget()IB q rsgetTopoLogMode()Ljava/lang/String; u vbbidirB y zbhopsB } ~becmp B  defRou B  prflstInLorg/freertr/tab/tabListing; B B  roumapIn B  roupolInB  org/freertr/rtr/rtrBgpNeighconnLorg/freertr/rtr/rtrBgpSpeak;  org/freertr/rtr/rtrBgpSpeak ready2adv peerAfisJorg/freertr/rtr/rtrBgpParam  spfMetric  peerRouterIDLorg/freertr/addr/addrIPv4; peerAddrLorg/freertr/addr/addrIP; localIfcLorg/freertr/ip/ipFwdIface;   addNextHop(ILorg/freertr/addr/addrType;Lorg/freertr/addr/addrIP;Lorg/freertr/tab/tabRouteIface;Lorg/freertr/addr/addrIP;Lorg/freertr/tab/tabRouteIface;)Vorg/freertr/spf/spfLnkst  createHeader:(Lorg/freertr/enc/encTlv;Lorg/freertr/pack/packHolder;II)V * localAs * routerID  createSpfNoder(Lorg/freertr/enc/encTlv;Lorg/freertr/pack/packHolder;Lorg/freertr/pack/packHolder;ILorg/freertr/addr/addrIPv4;I)V remoteAs  localAddr  createSpfLinkj(Lorg/freertr/enc/encTlv;Lorg/freertr/pack/packHolder;Lorg/freertr/addr/addrIP;Lorg/freertr/addr/addrIP;)V  org/freertr/pack/packHolderclear spfStub  org/freertr/enc/encTlvvalDat[B valSiz putBytes!(Lorg/freertr/pack/packHolder;I)V * (newlySpf * ( computedSpf  createEntry(Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;Lorg/freertr/enc/encTlv;Lorg/freertr/pack/packHolder;Lorg/freertr/pack/packHolder;II)V  getPrefixType"(Lorg/freertr/tab/tabRouteEntry;)I  createPrefix(Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;Lorg/freertr/enc/encTlv;Lorg/freertr/pack/packHolder;Lorg/freertr/pack/packHolder;Lorg/freertr/tab/tabRouteEntry;)V getTlv()Lorg/freertr/enc/encTlv; (ZZ)V  org/freertr/cfg/cfgAllhostNameLjava/lang/String;   putStr3(Lorg/freertr/pack/packHolder;ILjava/lang/String;)V *    segrouLab [Lorg/freertr/tab/tabLabelEntry;  org/freertr/util/bitsmsbPutW([BII)V  msbPutD  org/freertr/tab/tabLabelEntrylabel * neighsLorg/freertr/tab/tabGen; !"# $norg/freertr/tab/tabGensize !& m'(I)Ljava/lang/Comparable; ) *+ doAdvertNeir(Lorg/freertr/enc/encTlv;Lorg/freertr/pack/packHolder;Lorg/freertr/pack/packHolder;Lorg/freertr/rtr/rtrBgpNeigh;)V *- .lstnNei0org/freertr/tab/tabRouteEntry / *3 4afiUni 678 9:org/freertr/rtr/rtrBgpUtil defaultRoute (I)Lorg/freertr/addr/addrPrefix; /< =>prefixLorg/freertr/addr/addrPrefix; @ AB doAdvertPfxt(Lorg/freertr/enc/encTlv;Lorg/freertr/pack/packHolder;Lorg/freertr/pack/packHolder;Lorg/freertr/tab/tabRouteEntry;)V *D E(routerRedistedU " H mI"(I)Lorg/freertr/tab/tabRouteEntry; KLM ~N org/freertr/tab/tabRoute$addType"Lorg/freertr/tab/tabRoute$addType; /P QR copyBytesC(Lorg/freertr/tab/tabRoute$addType;)Lorg/freertr/tab/tabRouteEntry; /T UVbestLorg/freertr/tab/tabRouteAttr; *X Y segrouIdx [X\org/freertr/tab/tabRouteAttr *^ _ bierLab [a bbierBeg *d ebierIdx [d *h ibierSub [h *l mbierLen opq rsorg/freertr/tab/tabLabelBiernum2bsl(I)I [u vbierHdr [x ybierSiz /{ |nlri ~ putCopy([BIII)V  putSkip(I)V   merge2beg  smsbGetW  sgetByte  getSkip [ linkStat   merge2end   readSpfNoden(Lorg/freertr/spf/spfCalc;Lorg/freertr/enc/encTlv;Lorg/freertr/pack/packHolder;Lorg/freertr/pack/packHolder;)V   readSpfLink   readSpfPrefp(Lorg/freertr/spf/spfCalc;Lorg/freertr/enc/encTlv;Lorg/freertr/pack/packHolder;Lorg/freertr/pack/packHolder;II)V  doWorkQ(Lorg/freertr/tab/tabGen;Lorg/freertr/addr/addrType;Lorg/freertr/addr/addrType;)Z  doSpfNei9(Lorg/freertr/spf/spfCalc;Lorg/freertr/rtr/rtrBgpNeigh;)V !  #org/freertr/tab/tabLabelEntry$ownerbgpSrgb%Lorg/freertr/tab/tabLabelEntry$owner;   getRoutes(Lorg/freertr/ip/ipFwd;Lorg/freertr/tab/tabLabelEntry$owner;[Lorg/freertr/tab/tabLabelEntry;Lorg/freertr/tab/tabGen;)Lorg/freertr/tab/tabRoute;org/freertr/tab/tabIndexorg/freertr/addr/addrPrefixorg/freertr/addr/addrIP   (Lorg/freertr/addr/addrType;I)V  !(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 ! find.(Ljava/lang/Comparable;)Ljava/lang/Comparable;   setFwdDrop((Lorg/freertr/tab/tabLabelEntry$owner;)V'  addUpdatedTable(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  org/freertr/ip/ipFwd commonLabelLorg/freertr/tab/tabLabelEntry; * routerDoAggregatess(ILorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabRoute;Lorg/freertr/tab/tabLabelEntry;Lorg/freertr/addr/addrIPv4;I)V  getBierI"(II)Lorg/freertr/tab/tabLabelBier; o idx  bgpBier   setBierMpls\(Lorg/freertr/tab/tabLabelEntry$owner;Lorg/freertr/ip/ipFwd;Lorg/freertr/tab/tabLabelBier;)V  org/freertr/util/debugger rtrBgpComp  listReachablility(Z)Ljava/lang/String;B  $org/freertr/util/loggerdebugB * rtrNum  setProto,(Lorg/freertr/tab/tabRouteAttr$routeType;I)V    preserveTime(Lorg/freertr/tab/tabRoute;)Z *  (newlyUni K NaltEcmp?   mergeFrom@(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;I)V * (newlyMlt * routerComputedI * (routerComputedU *  (routerComputedM SignatureTLorg/freertr/tab/tabListing;SLorg/freertr/tab/tabListing;SLorg/freertr/tab/tabListing;6Lorg/freertr/spf/spfCalc;5Lorg/freertr/tab/tabRoute;(Lorg/freertr/rtr/rtrBgp;)VCodeLineNumberTable StackMapTabletoString getConfig7(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)VK(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)VV(Lorg/freertr/spf/spfCalc;Lorg/freertr/rtr/rtrBgpNeigh;)V(Lorg/freertr/enc/encTlv;Lorg/freertr/pack/packHolder;Lorg/freertr/pack/packHolder;Lorg/freertr/tab/tabRouteEntry;)V doAdvertise doPeersFull()Z doPeersIncr SourceFilertrBgpSpf.javaBootstrapMethods9bgp on ;enable=stub? hostnameA distance C spf-log E spf-topologG spf-bidirI spf-hopsK spf-ecmpMdefault-originateO prefix-listQS route-mapU route-policyW unreachable:Y reachable:[ \]^ C_$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 routeTypeaddTypeownere%java/lang/invoke/MethodHandles$Lookupgjava/lang/invoke/MethodHandlesLookup! GS!"!#!$!%'(!& 6 '(A**+* *<*Y*Y "%*+)/4)"^_ `ab c-d@e*#<**+s((*7;A)m,-(y+*E,-HIK+*Q,-TIK+* ,-UIK+,-*VYW+,-*_;cYW+*fi,-o*pK+*ti,-wIK+*xi,-{IK+*|i,-IK+*,-IK+*,-*;K+*,-*;K+*,-*;K):xy2zK{]|u}~2Ux*-LZZ<<ZWZZ<<ZWZZ<<ZGZZ<<ZbZZ<<Z]ZZ<<Z]ZZ<<ZWZZ<<ZWZZ<<ZaZZ<<ZaZZ<<Z!.(z;,,, +,,,,)" !:* !/*+( +,+,-**+,-+,-י+T++-**+,-)F#$+BXgksz* bAB(t?+,+,-****+,-)(>*!01(*ELYMYN+,+,-**-*Q+T++-* +-* D++* x+* 2x++- **+,-6* *+,-*%(6*, *+,-*,%(*$/Y1:*25;*+,-?6*CF*CG:* JO:S*WZ*]aJO:S*]2`S*cfS*gjS*kntS*]w*+,-?L).  '>BIPU]doy&,3<KTft~*2 TJ**'?/g23( c*EY*LMYNY:6*F*G:z--zz}-z--6-- S+-SS}-S-])4J+,-7+,-,+,-*2*+,-*2*+*W6* *+*%6*, *+*,%:* !Y:+*7* :}Y*WYYW* *W2*76* .Y* 2΄˻Yҷ":J***W**7*]Z+*]2*kn:*c6  *]"*] 2*7 ײ++*+*)**%W*%*  *%* *%*)"H #.@NSV^aev    /5 C!U"i!o$%$'()+,-./00133C/I6U7o89:;<=<@ABD E F*G0HDIXJaK*^ '$/ 58 ((!_!ro+43(d3*E* *%* *%)TU WX1Y* 567hZ8Z:Z<Z>Z@ZBZDZFZHZJZLZNZPZRZTZVZX`"0[a@Kb@c@dfh