7c  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  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;  UK(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;interface|neighbors"   ! listAlgorithm()Lorg/freertr/user/userFormat;#java/util/ArrayList " s& '$lsas)org/freertr/rtr/rtrOspf4lsa ( +, -. compareTo(Lorg/freertr/addr/addrType;)I (0 11lsaID3org/freertr/pack/packHolder 25 6(ZZ)V (8 9: writeData"(Lorg/freertr/pack/packHolder;IZ)I 2< =putSkip 2? @ merge2beg 2B CDgetCopy()[B FGH IJorg/freertr/enc/enc7bitbuf2hex((Ljava/util/List;[BILjava/lang/String;)V LMN OPorg/freertr/rtr/rtrOspfDumpdump4lsaM(Ljava/util/List;Lorg/freertr/pack/packHolder;Lorg/freertr/rtr/rtrOspf4lsa;)VR%routerid|lsaid|sequence|type|len|timeTempty V W!listStatistics Y Z[ listTopologyQ(Lorg/freertr/addr/addrType;Lorg/freertr/util/cmds;)Lorg/freertr/user/userFormat; ] ^! listUsages ` ablistTree)(Lorg/freertr/util/cmds;)Ljava/util/List; d ef copyBytes()Lorg/freertr/spf/spfCalc; h ijdoWorkQ(Lorg/freertr/tab/tabGen;Lorg/freertr/addr/addrType;Lorg/freertr/addr/addrType;)Z l mb listGraphviz o pq listNhIncons>(Lorg/freertr/tab/tabIntMatcher;)Lorg/freertr/user/userFormat; s tq listMetIncons v w! listHostnames yz{ |}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; y y  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 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; showMetIncons 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  base  area  enableha-mode spf-log  spf-topolog  spf-bidir" spf-hops$ spf-ecmp& max-metric(stub*nssa, traffeng.segrout0bier2 hostname4suppress-prefix6default-originate8prefix-list-from:<prefix-list-into>route-map-from@route-map-intoBroute-policy-fromDroute-policy-intoFdistance   H flexalgo J|||L |||||N|P R STU UV$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 routeTypeaddTypeowner\org/freertr/util/statestates_%java/lang/invoke/MethodHandles$Lookupajava/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"u<*(k *(osM,,˄<*%k**%oM,,,,ӄ*{W*ĸ{WF    $*7CGJOSX^it"s |0~<=*(k!*(osN--ڱ"!"#$!%$')"/)sI+*(osM,Y*,+N*%-v:--,-6 235679#:0;5<8><?A@GAsi+Y*+M*%,M,,,ڶ,J KLMO$P*Q4*(kY@bYMYM>*%k*%o:6ko:f,,M9,ڸM MM vM,Fdeg#i0j=kBlEnUodpiqlsptvniz'  #,5!YL=*%k|*%oN-c6-kT-o:8+-ڸM MMM+6 '+.=KPS"!4!FYL=*%k,*%oN+-ڸM-k+'>D 3Z$sY*M*(,sM,, s "Y$NsY*:*(s:-+Y-:+Y-:,FLW,FLW6%k%o(:g*+W/+G-M-W2Y4:   7; >- AȸE- Ku-f!&(1:DN^mru#(s(++#(CeYQMsY*N*(-sN-,6-%k--%o(:,M-,2 $(*9GLO]c*s!( `*sY*M*(,sM,eYSi,{ %%sZ$sY*M*(,sM,,U  sb,sY*N*(-sN--+Y-,X sZ$sY*M*(,sM,,\$ %&')sa+sY*N*(-sN- "Y$-,_4 567"9"sOsY*N*(-sN- "Y$-c:+Y-:,FLWgW,_& D EFG"I+J4K>LHM"sPsY*N*(-sN--c:+Y-:,FLWgW+Y-,X& X YZ[]%^._8`Basa+sY*N*(-sN- "Y$-,kl mno"q"s[%sY*N*(-sN--,n| }~s[%sY*N*(-sN--,r sZ$sY*M*(,sM,,u sisY*N*(-sN-6*%k?*%o:Y*-,x~::2  +9JY^agsAnc+<=*%k*%ok`<#) $) =*%k*%oN--ڴn6-k_-o:CyY: Y:Y+*W_J  25DRWZcmv !?n *%knn4sY*:*(s:+ 3sE*M>*(k0*(os:ߚ +,˱*  $),47>D Ns ^(sY*+F_M*(,sM,,+!"# $"&"s$Q Q Q QQQQQQQQQQ!Q#Q%Q'Q)Q+Q-Q/Q1Q3Q5Q7Q9Q;Q=Q?QAQCQEQGQIQKQMQOW*BX@veY@Z@[]@^`b