A  org/freertr/ip/ipRtr()V   org/freertr/rtr/rtrOspf4 segrouMaxI    segrouBase   bierLen   bierMax  fwdCoreLorg/freertr/ip/ipFwd;  udpCoreLorg/freertr/prt/prtUdp;org/freertr/tab/tabGen  " #$algosLorg/freertr/tab/tabGen; & '$ifaces ) *$areas,org/freertr/addr/addrIPv4 + / 01routerIDLorg/freertr/addr/addrIPv4; 3 41 traffEngID 6 7  distantExt 9 :  distantInt < =  distantSum ? @routerCreateComputed BCD EF&org/freertr/tab/tabRouteAttr$routeTypeospf4(Lorg/freertr/tab/tabRouteAttr$routeType; HIJ KLorg/freertr/ip/ipFwd routerAddB(Lorg/freertr/ip/ipRtr;Lorg/freertr/tab/tabRouteAttr$routeType;I)V NOP QRjava/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String;T UVmakeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; XYZ [\org/freertr/util/debugger rtrOspf4evntZ^ create table `ab cdorg/freertr/util/loggerdebug(Ljava/lang/String;)Vforg/freertr/tab/tabRoutehospf ej d l mnsize()I p qrget(I)Ljava/lang/Comparable;torg/freertr/rtr/rtrOspf4area vwx yz org/freertr/tab/tabRoute$addTypeecmp"Lorg/freertr/tab/tabRoute$addType; s| }~routesLorg/freertr/tab/tabRoute;org/freertr/tab/tabRouteAttr? e  mergeFrom@(Lorg/freertr/tab/tabRoute$addType;Lorg/freertr/tab/tabRoute;I)V   segrouLab [Lorg/freertr/tab/tabLabelEntry; s $ segrouUsd  org/freertr/tab/tabIndex mergeTable3(Lorg/freertr/tab/tabGen;Lorg/freertr/tab/tabGen;)I !(ILorg/freertr/addr/addrPrefix;)V  find.(Ljava/lang/Comparable;)Ljava/lang/Comparable;  #org/freertr/tab/tabLabelEntry$owner ospf4srgb%Lorg/freertr/tab/tabLabelEntry$owner;  org/freertr/tab/tabLabelEntry setFwdDrop((Lorg/freertr/tab/tabLabelEntry$owner;)V  bierLaborg/freertr/rtr/rtrOspf4iface brIndexorg/freertr/tab/tabLabelBier label num2bsl(I)I (II)V idx s bierResLorg/freertr/tab/tabLabelBier; !(Lorg/freertr/tab/tabLabelBier;)V  ospf4bier  setBierMpls\(Lorg/freertr/tab/tabLabelEntry$owner;Lorg/freertr/ip/ipFwd;Lorg/freertr/tab/tabLabelBier;)V  FrouterProtoTyp   routerProcNum e setProto,(Lorg/freertr/tab/tabRouteAttr$routeType;I)V  ~routerComputedU e  preserveTime(Lorg/freertr/tab/tabRoute;)Z  $routerComputedI  compareTables3(Lorg/freertr/tab/tabGen;Lorg/freertr/tab/tabGen;)Z  ~routerComputedMrx  ~routerComputedF H  routerChg(Lorg/freertr/ip/ipRtr;Z)Vorg/freertr/rtr/rtrAlgo s #Ljava/util/List;  qjava/util/List(I)Ljava/lang/Object;java/lang/Exception vrfLorg/freertr/rtr/rtrAlgoVrf;  org/freertr/rtr/rtrAlgoVrf update2ip(Lorg/freertr/tab/tabRoute;)V  genLsas(I)V  router-id specify router id  org/freertr/user/userHelpadd;(Ljava/util/List;ZI[ILjava/lang/String;Ljava/lang/String;)V router id traffeng-idspecify traffic engineering idte idsegrout segment routing parameters"$ maximum index&base( specify base* label base,bier.bier parameters0bitstring length2area4configure one area6 area number8enable:create this area<ha-mode> save state@ spf-bidirBspf bidir checkD spf-topologFspf topology loggingHnoappearJexclude node (dis)appearanceL noconnectNexclude link (dis)connectionP noforwardRexclude forward (un)willingnessT noreachableVexclude node (un)reachableXnometricZexclude link metric change\noprefix^exclude prefix change`spf-hopsbspf hops disallowdspf-ecmpfspf ecmp allowhspf-logj spf log sizelnumber of entriesn max-metricpconfigure as maximum metricrstubtconfigure as stubvnssaxconfigure as nssaztraffeng|!configure for traffic engineering~configure for segment routingconfigure for biersuppress-prefixdo not advertise interfaceshostnameadvertise hostnamedefault-originateadvertise default routeroute-map-fromprocess prefixes from this area name of route maproute-map-intoprocess prefixes into this arearoute-policy-from name of route policyroute-policy-intoprefix-list-fromfilter prefixes from this area name of prefix listprefix-list-intofilter prefixes into this areadistancespecify default distanceintra-area distanceinter-area distanceexternal distanceflexalgoflexalgo parameters algorithm id  vrf to use U8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;  (Ljava/lang/Object;)Z U'(Ljava/lang/String;I)Ljava/lang/String; U'(ILjava/lang/String;)Ljava/lang/String;  org/freertr/util/cmdscfgLineJ(Ljava/util/List;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V U(II)Ljava/lang/String; s 2  U(I)Ljava/lang/String; s \haModeT s lastSpfLorg/freertr/spf/spfCalc;  org/freertr/spf/spfCalclogSizeLorg/freertr/util/syncInt;  UJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;  topoLog  qnorg/freertr/util/syncInt T  getTopoLogMode()Ljava/lang/String;  bidir T  hops T  y T s  \ maxMetricT s r\T s v\T s \traffEngT s \ segrouEnaT s \bierEnaT s \T s! "\ suppressAddrT s% &\ defOriginT s) *+ prflstFromLorg/freertr/tab/tabListing;TT s/ 0+ prflstIntoT s3 4+ roumapFromT s7 8+ roumapIntoT s; <+ roupolFromT s? @+ roupolIntoTC UD)(Ljava/lang/String;III)Ljava/lang/String; G Hword NJ Kequals +M NO fromString(Ljava/lang/String;)Z QRS TUorg/freertr/cfg/cfgAllifcFind-(Ljava/lang/String;I)Lorg/freertr/cfg/cfgIfc; WXY Z1org/freertr/cfg/cfgIfcaddr4 +\ ]^setAddr(Lorg/freertr/addr/addrType;)V `ab cdorg/freertr/util/bitsstr2num(Ljava/lang/String;)I Qf ghvrfFind-(Ljava/lang/String;Z)Lorg/freertr/cfg/cfgVrf;j no such vrf l mderror opq rorg/freertr/cfg/cfgVrffwd4 t uC(ILorg/freertr/ip/ipFwd;Lorg/freertr/tab/tabRouteAttr$routeType;I)V w  y z register2ip |}~ org/freertr/tab/tabLabelreleaseg([Lorg/freertr/tab/tabLabelEntry;Lorg/freertr/tab/tabLabelEntry$owner;)[Lorg/freertr/tab/tabLabelEntry; N nlength | allocateI(Lorg/freertr/tab/tabLabelEntry$owner;II)[Lorg/freertr/tab/tabLabelEntry;   normalizeBsl | H(Lorg/freertr/tab/tabLabelEntry$owner;I)[Lorg/freertr/tab/tabLabelEntry; s (Lorg/freertr/rtr/rtrOspf4;I)Varea already exists s startNow s  schedWorkarea not exists  set  setTopoLogMode(Lorg/freertr/util/cmds;)V Q prfxFind1(Ljava/lang/String;Z)Lorg/freertr/cfg/cfgPrfxlst;no such prefix list  +org/freertr/cfg/cfgPrfxlstprflst Q rtmpFind/(Ljava/lang/String;Z)Lorg/freertr/cfg/cfgRoump;no such route map  +org/freertr/cfg/cfgRoumproumap Q rtplFind0(Ljava/lang/String;Z)Lorg/freertr/cfg/cfgRouplc;no such route policy  +org/freertr/cfg/cfgRouplcrouplcno  del   unregister2ip s stopNow   restartTimer(Z)V   closeNeighbors H  routerDel(Lorg/freertr/ip/ipRtr;)V  V(Lorg/freertr/rtr/rtrOspf4;Lorg/freertr/rtr/rtrOspf4area;Lorg/freertr/ip/ipFwdIface;)V y  ifaceLorg/freertr/ip/ipFwdIface;  closeUp(Lorg/freertr/ip/ipFwdIface;)V org/freertr/user/userFormat|area|routerid|state|uptime  '(Ljava/lang/String;Ljava/lang/String;)V,interface|area|address|routerid|state|uptime  $neighsorg/freertr/rtr/rtrOspf4neigh  2Lorg/freertr/rtr/rtrOspf4area;  1rtrID   status2string  upTimeJ ` timePast(J)Ljava/lang/String;  U K(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;  d  1peer! Uo(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;,interface|area|address|routerid|metric|delay  n getMetric  echoCalcLorg/freertr/tab/tabAverage;! U^(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;  typ|name|tx|rx|tx|rx|tx|rx|tx|rx"2|2pack|2byte|2ago|2last $ %9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V ' ()msgStatsorg/freertr/util/counter; + , msgTyp2string ./0 12org/freertr/rtr/rtrBgpDump counter2stats.(Lorg/freertr/util/counter;)Ljava/lang/String;"4 U59(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;7interface|neighbors# : ;< listAlgorithm()Lorg/freertr/user/userFormat;>java/util/ArrayList = sA B$lsasDorg/freertr/rtr/rtrOspf4lsa C +G HI compareTo(Lorg/freertr/addr/addrType;)I CK L1lsaIDNorg/freertr/pack/packHolder MP Q(ZZ)V CS TU writeData"(Lorg/freertr/pack/packHolder;IZ)I MW XputSkip MZ [ merge2beg M] ^_getCopy()[B abc deorg/freertr/enc/enc7bitbuf2hex((Ljava/util/List;[BILjava/lang/String;)V ghi jkorg/freertr/rtr/rtrOspfDumpdump4lsaM(Ljava/util/List;Lorg/freertr/pack/packHolder;Lorg/freertr/rtr/rtrOspf4lsa;)Vm%routerid|lsaid|sequence|type|len|timeoempty q r<listStatistics t uv listTopologyQ(Lorg/freertr/addr/addrType;Lorg/freertr/util/cmds;)Lorg/freertr/user/userFormat; x y< listUsages { |}listTree)(Lorg/freertr/util/cmds;)Ljava/util/List;   copyBytes()Lorg/freertr/spf/spfCalc;  doWork(Lorg/freertr/addr/addrType;)Z  } listGraphviz   listNhIncons>(Lorg/freertr/tab/tabIntMatcher;)Lorg/freertr/user/userFormat;   listMetIncons  <listNonRedundant  < listHostnames  org/freertr/addr/addrIPtoIPv4()Lorg/freertr/addr/addrIPv4;  u(Lorg/freertr/rtr/rtrOspf4;Lorg/freertr/rtr/rtrOspf4area;Lorg/freertr/rtr/rtrOspf4iface;Lorg/freertr/addr/addrIPv4;)V  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;    fromIPv4addr(Lorg/freertr/addr/addrIPv4;)Vorg/freertr/tab/tabRouteEntry org/freertr/addr/addrPrefix  (Lorg/freertr/addr/addrType;I)V  prefixLorg/freertr/addr/addrPrefix; v zbetterorg/freertr/rtr/rtrBgpUtil  +routerAutoMesh e 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;)Iorg/freertr/spf/spfLnkst  listLinkStates=(Lorg/freertr/tab/tabRoute;IIILorg/freertr/addr/addrIPv4;II)V   routerGetName$T s stateGet%(Ljava/util/List;Ljava/lang/String;)V s stateSet(Lorg/freertr/util/cmds;)ZprotoNum ConstantValueYverNumsizeHead Signature3Lorg/freertr/tab/tabGen;9Lorg/freertr/tab/tabGen;8Lorg/freertr/tab/tabGen;2(Lorg/freertr/ip/ipFwd;Lorg/freertr/prt/prtUdp;I)VCodeLineNumberTabletoString StackMapTablerouterRedistChangedrouterOthersChanged routerGetHelp(Lorg/freertr/user/userHelp;)VrouterGetConfig&(Ljava/util/List;Ljava/lang/String;I)V:(Ljava/util/List;Ljava/lang/String;I)VrouterConfigurerouterCloseNow addInterface<(Lorg/freertr/ip/ipFwdIface;)Lorg/freertr/rtr/rtrOspf4iface; delInterfaceamIabr()Z showNeighs (Z)Lorg/freertr/user/userFormat; showMetrics showStats:(Lorg/freertr/ip/ipFwdIface;)Lorg/freertr/user/userFormat; showIfacesshowAlgorithms (I)Lorg/freertr/user/userFormat; showDatabase*(ILorg/freertr/util/cmds;)Ljava/util/List;>(ILorg/freertr/util/cmds;)Ljava/util/List; showRoute(I)Lorg/freertr/tab/tabRoute;8(I)Lorg/freertr/tab/tabRoute; showSpfStat showSpfTopo7(ILorg/freertr/util/cmds;)Lorg/freertr/user/userFormat; showSpfLog showSpfTreeshowSpfOtherTreeshowSpfOtherTopo showSpfGraph showNhIncons?(ILorg/freertr/tab/tabIntMatcher;)Lorg/freertr/user/userFormat; showMetInconsshowNonRedundant showHostnamesfindPeer;(ILorg/freertr/addr/addrIP;)Lorg/freertr/rtr/rtrOspf4neigh;routerNeighCountrouterNeighList8(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 rtrOspf4.javaBootstrapMethods+ ospf on - router-id /traffeng-id 1 base 35 7area  9enable;ha-mode= spf-log ? spf-topologA spf-bidirC spf-hopsE spf-ecmpG max-metricIstubKnssaM traffengOsegroutQbierS hostnameUsuppress-prefixWdefault-originateYprefix-list-from[]prefix-list-into_route-map-fromaroute-map-intocroute-policy-fromeroute-policy-intogdistance   i flexalgo k|||m |||||o||q|s u vwx Uy$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 routeTypeaddTypeownerorg/freertr/util/statestates%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookup!   0141    7 : = #$'$*$(|*** ***+*,*Y !*Y %*Y (*+Y-.*+Y-2*n5*n8*n;*>**AGJJ OTY"-8CNY_eko{% *MS!@` gW]_eYgiLY M>*(k,*(os:+u{*e>*(k(*(os: ,W>*(,Y*2*>6*%k4*%o: > ƻY*2*:6*(k)*(os: 6**2*DŽ+**ζ+*ն>*,ߚ~>*+*+*eYi*,**6*!k*!o:meYgiL6*(kK*(os:/e:: +u+q%69*J *7<?MSZgty|$3AFISYfy"%69;>CFQW`f& es s   ! !!s "$ee'! !sSe "* eq+ YO   + YO + YO + YO + YO + YOYO!# + YO%' + YOYO!) + YO+- + YO!/ + YO!# + YO13 + YO!5 + YO79 + YO;= + YO?A + YOYOCE + YOYOGI + YOYOKM + YOYOOQ + YOYOSU + YOYOWY + YOYO[] + YO_a + YOce + YOgi + YO!k + YOmo + YOqs + YOuw + YOy{ + YO} + YO+ + YO + YO + YO + YO + YO + YO + YO + YO + YO + YO + YO + YO + YO + YO + YO + YO + YO! + YO! + YO! + YO + YO! + YO 8(< P!d"|#$%&'() * +4,H-`.x/0123456,7@8T9h:|;<=>?@ABC0DDEXFlGHIJKLMN O P4QHR\SpT+,*.MW+,*2MW:* * :+*,*+*,+**6*(k*(os:ٺ:+,W+ߚ,ȸ+,MW+,+,ȸ+,ȸ+,ȸ+, ȸ+ , ȸ+,ȸ+,ȸ+,ȸ+,ȸ+,ȸ+ ,#ȸ+$,'ȸ+(,,(M-+.,1.M-+2,52M-+6,96M-+:,=:M-+>,A>M-Є%+,*8*;*5BW6*!k"+,*!oMEWر&^_(`-a4bAdaefghijklm:n\o~pqrst u&vBw^xzyz{|}8~^fd}$1ANLNN^NNANNsNNNsNzNNsNeNNsN`NNsN`NNsNZNNsNZNNsNZNNsNZNNsNZNNsNZNNsNZNNsNZNNsNZNNsNZNNsNdNNsNdNNsNdNNsNdNNsNdNNsN* +FM, I4+FM*.,LW,PN--V*.-V[*,IS+F_>+Fe: +ikYn**ηs:*!vWx*,I*2+FLW*,I_*{W*+F_* +FM,,%I*+F_ ** **,+IH*ĸ{W*+F_*+F_***`d*l*,I&*+F_8*+F_;*+F_5,1IsY*+F_N+FM,7I**(-vs: +k--*(-sN- +k,;I -,gI-+F_W,CI -+,?I-W-,_I-W-,cI-W-,mI--,qI- --,uI- --,yI--,I--,+I--,I- -,I--,I-$-,I,+F: +k-(-,I++F: +k-.-,I,+F: +k-2-,I++F: +k-6-,I,+F: +k-:-,I++F: +k->-,öI+FM,I^+F_>+Fe: +ikYn**ηs:*!:*,I$*{W*** *,+I$*ĸ{W****,1I6sY*+F_N*(-sN- +k+FM,7I-*(-W*,;I -,gI-W,CI-W,?I-W-,_I-W-,cI-W-,mI--,qI- -,uI--,yI--,I--,+I--,I- -,I--,I-$-,I-(-,I-.-,I-2-,I-6-,I-:-,I->-*#'.9>@JR\ahj'2@Kejlv /1;CEO[`blx}     #(*49>@JO T!V#`$e%j&l(v)*+,./02345689:<=>?@BCDFGHI$J&L/M4N6P@QJROSVTXVaWgXiZs[}\]^`abdfgijklmnoqrstv wxz{(|-}2~7<>HSX]bgis '38:DPUWafkmw|',24>CHJTY_akpuwH9NW)o/$N,Css !!!!!! .o+**2s"}<*(k *(osM,,˄<*%k**%oM,,,,ӄ*{W*ĸ{W**ֱJ    $*7CGJOSX^it|"s |0~<=*(k!*(osN--ڱ""#$%!&$()#/*sI+*(osM,Y*,+N*%-v:--,-6 34678:#;0<5=8?<@AAGBsi+Y*+M*%,M,,,޶,K LMNP$Q*R4*(kZ@bYMYM>*%k*%o:6ko:f,,M 9,޸M MM vM,Fefh#j0k=lBmEoUpdqirltpuwoj{'  #,5<YL=*%k|*%oN-c6-kT-o:8+-޸M MMM +6 '+.=KPS"!4c+Y*+M*%,M,Y!#N6,&#-*,&2-3 -. !#4A[a)<FY6L=*%k,*%oN+-޸M-k8 +'>D 3Z$sY*M*(,sM,,9 s =Y?NsY*:*(s:-+Y-:+Y-:,FLW,FLW6@k@oC:gEFWJFG-M-WMYO:   RV Y- \ȸ`- fu-f!&(1:DN^mru#(s(++#CCeYlMsY*N*(-sN-,6-@k--@oC:,M- ,2 $(*9GLO]c*s!C   `*sY*M*(,sM,eYni,{ %%s  Z$sY*M*(,sM,,p !s b,sY*N*(-sN--+Y-,s, -./1sZ$sY*M*(,sM,,w; <=>@sa+sY*N*(-sN- =Y?-,zK LMN"P"sMsY*N*(-sN- =Y?-~:+Y-:,FLWW,z& [ \]^"`+a4b>cFd"sNsY*N*(-sN--~:+Y-:,FLWW+Y-,s& o pqrt%u.v8w@xsa+sY*N*(-sN- =Y?-, ""s[%sY*N*(-sN--, s[%sY*N*(-sN--, sZ$sY*M*(,sM,, sZ$sY*M*(,sM,, sisY*N*(-sN-6*%k?*%o:Y*-,::2  +9JY^agsAnc+<=*%k*%ok`<#) $) =*%k*%oN--޴n6-k_-o:CY: Y:Y+*ǸW_J  25DRWZcmv !?n *%kn !n4sY*:*(s:+б% &'(*3+s"#$E*ԺM>*(k0*(os:ߚ +,؄˱* 3 45$6)7,94:7<>4D> Ns %&^(sY*+F_M*(,sM,,+ܬGHI J"L"s'()%t*t,t.t0t2t4t6t8t:t<t>t@tBtDtFtHtJtLtNtPtRtTtVtXtZt\t^t`tbtdtfthtjtltntptrz*B{@ve|@}@~@