ÿØÿà JFIF    ÿÛ „  ( %"1!%)+...383,7(-.+  -+++--++++---+-+-----+---------------+---+-++7-----ÿÀ  ß â" ÿÄ     ÿÄ H    !1AQaq"‘¡2B±ÁÑð#R“Ò Tbr‚²á3csƒ’ÂñDS¢³$CÿÄ   ÿÄ %  !1AQa"23‘ÿÚ   ? ôÿ ¨pŸªáÿ —åYõõ\?àÒü©ŠÄï¨pŸªáÿ —åYõõ\?àÓü©ŠÄá 0Ÿªáÿ Ÿå[úƒ ú®ði~TÁbqÐ8OÕpÿ ƒOò¤Oè`–RÂáœá™êi€ßÉ< FtŸI“öÌ8úDf´°å}“¾œ6  öFá°y¥jñÇh†ˆ¢ã/ÃÐ:ªcÈ "Y¡ðÑl>ÿ ”ÏËte:qž\oäŠe÷󲍷˜HT4&ÿ ÓÐü6ö®¿øþßèô Ÿ•7Ñi’•j|“ñì>b…þS?*Óôÿ ÓÐü*h¥£ír¶ü UãS炟[AÐaè[ûª•õ&õj?†Éö+EzP—WeÒírJFt ‘BŒ†Ï‡%#tE Øz ¥OÛ«!1›üä±Í™%ºÍãö]°î(–:@<‹ŒÊö×òÆt¦ãº+‡¦%ÌÁ²h´OƒJŒtMÜ>ÀÜÊw3Y´•牋4ǍýʏTì>œú=Íwhyë,¾Ôò×õ¿ßÊa»«þˆѪQ|%6ž™A õ%:øj<>É—ÿ Å_ˆCbõ¥š±ý¯Ýƒï…¶|RëócÍf溪“t.СøTÿ *Ä¿-{†çàczůŽ_–^XþŒ±miB[X±d 1,é”zEù»& î9gœf™9Ð'.;—™i}!ôšåîqêÛ٤ёý£½ÆA–àôe"A$˝Úsäÿ ÷Û #°xŸëí(l »ý3—¥5m! rt`†0~'j2(]S¦¦kv,ÚÇ l¦øJA£Šƒ J3E8ÙiŽ:cÉžúeZ°€¯\®kÖ(79«Ž:¯X”¾³Š&¡* ….‰Ž(ÜíŸ2¥ª‡×Hi²TF¤ò[¨íÈRëÉ䢍mgÑ.Ÿ<öäS0í„ǹÁU´f#Vß;Õ–…P@3ío<ä-±»Ž.L|kªÀê›fÂ6@»eu‚|ÓaÞÆŸ…¨ááå>åŠ?cKü6ùTÍÆ”†sĤÚ;H2RÚ†õ\Ö·Ÿn'¾ ñ#ºI¤Å´%çÁ­‚â7›‹qT3Iï¨ÖÚ5I7Ë!ÅOóŸ¶øÝñØôת¦$Tcö‘[«Ö³šÒ';Aþ ¸èíg A2Z"i¸vdÄ÷.iõ®§)¿]¤À†–‡É&ä{V¶iŽ”.Ó×Õÿ û?h¬Mt–íª[ÿ Ñÿ ÌV(í}=ibÔ¡›¥¢±b Lô¥‡piη_Z<‡z§èŒ)iÖwiÇ 2hÙ3·=’d÷8éŽ1¦¸c¤µ€7›7Ø ð\á)} ¹fËí›pAÃL%âc2 í§æQz¿;T8sæ°qø)QFMð‰XŒÂ±N¢aF¨…8¯!U  Z©RÊ ÖPVÄÀÍin™Ì-GˆªÅËŠ›•zË}º±ŽÍFò¹}Uw×#ä5B¤{î}Ð<ÙD é©¤&‡ïDbàÁôMÁ." ¤‡ú*õ'VŽ|¼´Úgllº¼klz[Æüï÷Aób‡Eÿ dÑ»Xx9ÃÜ£ÁT/`¼¸vI±Ýµ·Ë‚“G³þ*Ÿû´r|*}<¨îºœ @¦mÄ’M¹”.œ«Y–|6ÏU¤jç¥ÕÞqO ˜kDÆÁ¨5ÿ š;ÐЦ¦€GÙk \ –Þ=â¼=SͧµªS°ÚÍpÜãQűÀõ¬?ÃÁ1Ñ•õZà?hóœ€ L¦l{Y*K˜Ù›zc˜–ˆâ ø+¾ ­-Ök¥%ùEÜA'}ˆ><ÊIè“bpÍ/qÞâvoX€w,\úªò6Z[XdÒæ­@Ö—€$òJí#é>'°Ú ôª˜<)4ryÙ£|óAÅn5žêŸyÒäMÝ2{"}‰–¤l÷ûWX\l¾Á¸góÉOÔ /óñB¤f¸çñ[.P˜ZsÊË*ßT܈§QN¢’¡¨§V¼(Üù*eÕ“”5T¨‹Âê¥FŒã½Dü[8'Ò¥a…Ú¶k7a *•›¼'Ò·\8¨ª\@\õ¢¦íq+DÙrmÎ…_ªæ»ŠÓœ¡¯’Ré9MÅ×D™lælffc+ŒÑ,ý™ÿ ¯þǤ=Å’Á7µ÷ÚÛ/“Ü€ñýã¼àí¾ÕÑ+ƒ,uµMâÀÄbm:ÒÎPæ{˜Gz[ƒ¯«® KHà`ߨŠéí¯P8Aq.C‰ à€kòpj´kN¶qô€…Õ,ÜNŠª-­{Zö’æû44‰sŽè‰îVíRœÕm" 6?³D9¡ÇTíÅꋇ`4«¸ÝÁô ï’ýorqКÇZ«x4Žâéþuïf¹µö[P ,Q£éaX±`PÉÍZ ¸äYúg üAx ’6Lê‚xÝÓ*äQ  Ï’¨hÍ =²,6ï#rÃ<¯–£»ƒ‹,–ê•€ aÛsñ'%Æ"®ÛüìBᝠHÚ3ß°©$“XnœÖ’î2ËTeûìxîß ¦å¿çÉ ðK§þ{‘t‚Ϋ¬jéîZ[ ”š7L¥4VÚCE×]m¤Øy”ä4-dz£œ§¸x.*ãÊÊ b÷•h:©‡¦s`BTÁRû¾g⻩‹jø sF¢àJøFl‘È•Xᓁà~*j¯ +(ÚÕ6-£¯÷GŠØy‚<Ç’.F‹Hœw(+)ÜÜâÈzÄäT§FߘãÏ;DmVœ3Àu@mÚüXÝü•3B¨òÌÁÛ<·ÃÜ z,Ì@õÅ·d2]ü8s÷IôÞ¯^Ç9¢u„~ëAŸï4«M? K]­ÅàPl@s_ p:°¬ZR”´›JC[CS.h‹ƒïËœ«Æ]–÷ó‚wR×k7X‰k›‘´ù¦=¡«‰¨¨Â')—71ó’c‡Ðúµ `é.{§p¹ój\Ž{1h{o±Ý=áUÊïGÖŒõ–-BÄm+AZX¶¡ ïHðæ¥JmÙ;…䡟ˆ¦ ° äšiÉg«$üMk5¤L“’çÊvïâï ,=f“"íἊ5ô¬x6{ɏžID0e¸vçmi'︧ºð9$ò¹÷*£’9ÿ ²TÔ…×>JV¥}Œ}$p[bÔ®*[jzS*8 ”·T›Í–ñUîƒwo$áè=LT™ç—~ô·¤ÈÚ$榍q‰„+´kFm)ž‹©i–ËqÞŠ‰à¶ü( ‚•§ •°ò·‡#5ª•µÊ﯅¡X¨šÁ*F#TXJÊ ušJVÍ&=iÄs1‚3•'fý§5Ñ<=[íÞ­ PÚ;ѱÌ_~Ä££8rÞ ²w;’hDT°>ÈG¬8Á²ÚzŽ®ò®qZcqJêäÞ-ö[ܘbň±çb“ж31²n×iƒðÕ;1¶þÉ ªX‰,ßqÏ$>•î íZ¥Z 1{ç൵+ƒÕµ¥°T$§K]á»Ûï*·¤tMI’ÂZbŽÕiÒ˜}bÓ0£ª5›¨ [5Ž^ÝœWøÂÝh° ¢OWun£¤5 a2Z.G2³YL]jåtì”ä ÁÓ‘%"©<Ôúʰsº UZvä‡ÄiÆÒM .÷V·™ø#kèýiíÌ–ª)µT[)BˆõÑ xB¾B€ÖT¨.¥~ð@VĶr#¸ü*åZNDŽH;âi ],©£öØpù(šºãö¼T.uCê•4@ÿ GÕÛ)Cx›®0ø#:ÏðFÒbR\(€€Ä®fã4Þ‰Fä¯HXƒÅ,†öEÑÔÜ]Öv²?tLÃvBY£ú6Êu5ÅAQ³1‘’¬x–HŒÐ‡ ^ ¸KwJôÖŽ5×CÚ¨vÜ«/B0$×k°=ðbÇ(Ï)w±A†Á† 11Í=èQšµ626ŒÜ/`G«µ<}—-Ö7KEHÈÉðóȤmݱû±·ø«Snmá=“䫚mݱŸ¡¶~ó·“äUóJæúòB|E LêŽy´jDÔ$G¢þÐñ7óR8ýÒ…Ç› WVe#·Ÿ p·Fx~•ݤF÷0Èÿ K¯æS<6’¡WШ; ´ÿ ¥Êø\Òuî†åÝ–VNœkÒ7oòX¨Á­Ø÷FÎÑä±g÷ÿ M~Çî=p,X´ ÝÌÚÅ‹’ÃjÖ.ØöÏñ qïQ¤ÓZE†° =6·]܈ s¸>v•Ž^Ý\wq9r‰Î\¸¡kURÒ$­*‹Nq?Þª*!sŠÆ:TU_u±T+øX¡ ®¹¡,ÄâÃBTsÜ$Ø›4m椴zÜK]’’›Pƒ @€#â˜`é¹=I‡fiV•Ôî“nRm+µFPOhÍ0B£ €+¬5c v•:P'ÒyÎ ‰V~‚Ó†ÖuókDoh$å\*ö%Ю=£«…aȼ½÷Û.-½VŒŠ¼'lyî±1¬3ó#ÞE¿ÔS¤gV£m›=§\û"—WU¤ÚǼÿ ÂnÁGŒÃ ‚õN D³õNÚíŒÕ;HôyÄÈ©P¹Ä{:?R‘Ô¨âF÷ø£bÅó® JS|‚R÷ivýáâ€Æé¡è³´IئÑT!§˜•ت‚¬â@q€wnïCWÄ@JU€ê¯m6]Ï:£âx'+ÒðXvÓ¦Úm=–´7œ $ì“B£~p%ÕŸUþ« N@¼üï~w˜ñø5®—'Ôe»¤5ã//€ž~‰Tþ›Å7•#¤× Íö pÄ$ùeåì*«ÓŠEØWEÈsßg ¦ûvžSsLpºÊW–âµEWöˬH; ™!CYõZ ÃÄf æ#1W. \uWâ\,\Çf j’<qTbên›Î[vxx£ë 'ö¨1›˜ÀM¼Pÿ H)ƒêêŒA7s,|F“ 꺸k³9Ìö*ç®;Ö!Ö$Eiž•¹ÒÚ†ýóéÝû¾ÕS®ó$’NÝäŸz¤5r¦ãÄÃD÷Üø!°ø‡Ô&@m™Ì^Ãä­d q5Lnÿ N;.6½·N|#ä"1Nƒx“ã<3('&ñßt  ~ªu”1Tb㫨9ê–›–bìd$ߣ=#ÕãÒmU¯eí$EFù5ýYô櫨æì™Ç—±ssM]·á¿0ÕåJRÓªîiƒ+O58ÖñªŠÒx" \µâá¨i’¤i —Ö ” M+M¤ë9‚‰A¦°Qõ¾ßøK~¼Ã‘g…Ö´~÷Ï[3GUœÒ½#…kàÔ®Ò”‰³·dWV‰IP‰Ú8u¹”E ÖqLj¾êÕCBš{A^Âß;–¨`¯¬ìö ˼ ×tìø.tƐm*n¨y4o&Àx¥n¦×î‡aupáÛj8¿m›è¶ã!o½;ß0y^ý×^EÑ¿ÒjzŒ­)vÚÑnÄL …^ªô× ‡—‚3k Îý­hï]içå–îÏ*÷ñþ»Ô CÒjøjÍznˆ´ ¹#b'Fô‹ ‰v¥'’à'T´ƒHýÍ%M‰ ƒ&ÆÇŒï1 ‘ –Þ ‰i¬s žR-Ÿ kЬá¬7:þ 0ŒÅÒÕ/aÙ¬ÃÝ#Úøœ ©aiVc‰. ¹¦ãµ” ›Yg¦›ÆÎýº°f³7ƒhá·¸­}&D9¡ÂsÉÙÞèŠõØàC™¨ñbFC|´Ü(ŸƒÚÒ-%»'a Ì¿)ËÇn¿úÿ ÞŽX…4ÊÅH^ôΑí@ù¹Eh¶“L8Çjù ¼ÎåVªóR©Ï5uà V4lZß®=€xÖŸ–ÑÈ ÷”¨°¾__yM1tÉ?uÆþIkÄgæ@þ[¢†°XÃJ£j·:nkÅ¢u ‘}âGzö­/IµèЬ¼48q¦F°ŽR¼=ûì{´¯RýicS ÕÛ íNtÍÙï£,w4rêì®»~x(©Uñ§#Ñ&œÕ¤>ÎåÍÓ9’Ö{9eV­[Öjâ²ãu]˜å2›qÑšÕJç0€sÄ|Êëè0튔bÁ>“{×_F`Ø©ºê:µä,v¤ðfc1±"«ÔÍän1#=· Âøv~H½ÐßA¾¿Ü€Óš]Õ; I¾÷ç‚Qi†î¹9ywÔKG˜áñ zQY—§ÃÕZ07§X‚ Áh;ÁM)iÌCH-¯T‘ë|A0{Ò½LÚ–TâÖkÜ’dÀ“rmm»”جPF³ÖcbE§T€ÒxKºû’Ó®7±²(\4ŽÃ¸Uu@j™yĵ;³µ!Á¢b.W¤=mõ´êµK k ¸K^ÜÛ#p*Ü14qkZç5ïë †°5Ï%ÍÛ<Õ¤×Ô¥ê†C Õ´¼ú$ƒÖ“”]Ù¬qÞÚ[4©ý!ûÏ—Áb쳐XµA¬â~`›Çr¸8ìùÝ䫦<>ä÷«?xs´ÇÑ /á;¹øüÊÈÙà{"@Žïzâ¬[âß‚ U_<ÇŸ½4èN˜ú61®qŠu ¦þF£»äJ_ˆÙÎ~ ÞAã–݄ϗrŠD;xTž‘ô`É«…suãO`?³à™ô Lý#Íc5öoæØ‚y´´÷«ZR§<&JÇ+éâô´€i!Àˆ0æAoàðLèÖ-2ŸõW.’t^–(KÁmHµV@xÜÇy®Ñø­â^:Ú3w· 7½¹°ñ¸â¹®:',«Mœ—n­Á+Ãbš LÈ‘ÄnRÓÅœ%¦²‰¨ùQ:¤f‚ "PÕtô¸…cæl…&˜Ú˜Ôkv‹ž+vŠ,=¢v­6—Xy*¥t£«<™:“aîϲ=¦6rO]XI¿Œ÷¤zÚ­›¶ 6÷”w\d ü~v®ˆÌk«^m<ÿ ¢‰Õ\)ùºŽ;… lîÙÅEŠ®cѾ@vnMÏ,¼“ñ•ŽBxðÃzãÇç%3ˆ"}Ù•Åî> BÉú;Ò]V+P˜F_´ßé> Øše|ï‡ÄOmFæÇ ãqÞ$/xÐx­z`ï9"œÜij‚!7.\Td…9M‡•iŽ‹¾‘50ÞŽn¥ß4ÉôO ¹*í^QêËÜÇÌ8=ާs‰'ÂëÙ«á%Pú[O †ÅP¯Vsް.‰,kc¶ ¬A9n˜XÎ-ÞšN["¹QÕ‰ƒMýÁߺXJæÍaLj¾×Ãmã¾ãÚ uñÒþåQô¦¥ /ÄUx:‚ÍÜ’ Đ©ØÝ3V¨‰ÕnÐ6ó*óúK­«…c ¯U òhsý­jóÔj#,ímŒRµ«lbïUTŒÑ8†Ä0œÏr`ð¡¬É Ї ë"À² ™ 6¥ f¶ ¢ÚoܱԷ-<Àî)†a¶ž'Ú»¨TXqØæ¶÷YÄHy˜9ÈIW­YÀuMFë ºÏ’AqÌ4·/Ú †ô'i$øä­=Ä Ý|öK×40è|È6p‘0§)o¥ctî§H+CA-“ xØ|ÐXАç l8íºð3Ø:³¤¬KX¯UÿÙ ELF>@@8 @! @@@hh77 EE"E">C ii"i"`` llStd PtdQtdRtdEE"E"H*H*/lib64/ld-linux-x86-64.so.2GNUGNU XREFFRRouting0"X"GNUцW1=-amL" "72T HE`2$&I0p``%0 W< AD@B D$ @"" @$!!) 5P40)   /O$nsx%([nz!v #x6z"iګPh|CE Eȯ7~ ɾ$ : vP-kndL_=57ՙ:k|e wǑo.̡ f'ܼ/j Cecy٬OZ}HUax02G8  ' _N)Bgu lG _  q~ n l |#I8 5 !dEa "4>Rfr V0x Y6 ! r1 R ; 8 cS<<?6 w 4\)O6WR p   d? <Vo"WB ["%PG2Xnv"pIp6 PE+&$0x""E016qe "0;"!@O$76 @EDI `_I(" H `Iz"й0!2%o)#`x"5Px"$F| nc-Z" RGK!C /PZ!*#0 $PeVEAb"5#p hCCZ""Cj6 pH GL>!oA)puHpH NB aH f 0px"c`EPIb I " >U0EEb~DkS j#`H $c9&>BH H0\/03 FL"!SQ"C N$H b| 1Xh0C?`r$x"$1U x"`@"l@If" %"  @P2X " =@SO7$0mZ"CG!"S ?r "& @r" B)-p 0I  p" I 4[B) RfQ*PBN 0[ 5pEw2w B ""H , "AF0p"8!@o!x"SS?u"`"@ libfrr.so.0__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTablebfd_sess_installfrr_help_exitprefix_cmpvrf_lookup_by_idsrcdest_rnode_getfrr_filter_infozclient_send_reg_requestsvrf_info_lookupxref_block_addyang_module_embedsnprintfrrzapi_route_notify_decodebfd_sess_set_ipv6_addrsfrr_runprefix_hash_keystrlcpystr2prefix_ipv4route_node_deletestr2prefix_ipv6frr_finifrr_config_fork_install_elementtypesafe_hash_shrinkfamily2afiyang_afi_safi_value2identityyang_afi_safi_identity2valuevrf_get_default_namerunning_configconnected_freesrcdest_table_inityang_dnode_get_uint8yang_get_subtree_with_no_siblingvrf_name_head_RB_TYPEsrcdest_rnode_lookupjson_object_string_addyang_dnode_getyang_dnode_get_boolbfd_sess_freejson_object_string_addvyang_dnode_get_parentzclient_freezlog_rotatenb_cli_show_dnode_cmdsqfreeinstall_nodebfd_sess_set_hop_countjson_object_boolean_addrouting_control_plane_protocols_register_vrf_dependencyfrr_opt_addbfd_sess_set_auto_sourcezapi_nexthop_update_decodeapply_maskyang_get_list_elements_countif_lookup_address_localjson_object_freebfd_protocol_integration_init_srcdest_srcnode_delegatevrf_cmd_initbfd_sess_set_profilecmd_show_lib_debugsMTYPE_TMPnb_running_set_entryyang_dnode_get_prefixyang_dnode_iterate_hook_registerprefix2strtypesafe_hash_growyang_dnode_get_ipv6pyang_dnode_get_uint32bfd_sess_set_ipv4_addrsstrlcatif_cmp_name_funcnb_cli_enqueue_changeyang_get_list_posyang_dnode_get_pathyang_dnode_existssrcdest_rnode_prefixesfrr_getoptbfd_sess_newvty_outvrfs_by_namevzlogxroute_table_finishnb_cli_apply_changeszclient_send_dereg_requestszebra_interface_address_readsrcdest_route_next_rb_nextzclient_route_sendbfd_protocol_integration_set_debugfrr_routing_infozclient_newzclient_send_rnhbfd_sess_set_interfaceqcallocfrr_initif_lookup_by_nameqstrdupfrr_interface_infozclient_initjhash_2words_rb_minroute_table_initstr2prefixbfd_nht_updatefrr_preinitvrf_is_backend_netnsip_masklenroute_topyang_dnode_get_stringsrcdest_srcnode_tableprefix_copyfrr_sysconfdirzclient_stopfrr_vrf_infovty_read_configconfig_default_zlog_assert_failedyang_dnode_get_ipnb_running_get_entry_hook_routing_conf_eventif_zapi_callbacksnb_running_unset_entrybfd_protocol_integration_set_shutdownyang_dnode_get_enummg_insertbfd_sess_statuslibcap.so.2libyang.so.2libjson-c.so.4json_object_new_objectjson_object_object_addjson_object_new_arrayjson_object_to_json_string_extjson_object_array_addlibrt.so.1libpthread.so.0libc.so.6inet_aton__stack_chk_failinet_ptonstrtolmemsetstrtoulstrcasecmp__snprintf_chk__cxa_finalizestrsepstrcmp__libc_start_mainsnprintf_edata__bss_startstatic_add_routestatic_cli_showstatic_fixup_vrf_idsroute_next_hop_bfd_multi_hop_modifyrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_frr_nexthops_nexthop_mpls_label_stack_entry_ttl_modifyrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_frr_nexthops_nexthop_apply_finishstatic_ifindex_update__libc_csu_finirouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_createstatic_debug_setstatic_debugs_conflinesrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_frr_nexthops_nexthop_mpls_label_stack_entry_createrouting_control_plane_protocols_name_validaterouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_frr_nexthops_nexthop_destroyrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_createroute_next_hop_bfd_createrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_frr_nexthops_nexthop_bh_type_modifystatic_add_nexthop_validaterouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_frr_nexthops_nexthop_mpls_label_stack_entry_ttl_destroystatic_dbg_eventsrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_frr_nexthops_nexthop_apply_finishstatic_bfd_showstatic_vrf_initroute_next_hop_bfd_source_destroyrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_frr_nexthops_nexthop_mpls_label_stack_entry_traffic_class_modifyrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_frr_nexthops_nexthop_color_destroyrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_destroyrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_frr_nexthops_nexthop_mpls_label_stack_entry_traffic_class_destroy_caps_pstatic_zebra_route_addstatic_install_pathrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_frr_nexthops_nexthop_mpls_label_stack_entry_destroystatic_route_list_cli_cmpstatic_dbg_bfdstatic_cleanup_vrf_idsstatic_zebra_vrf_unregisterstatic_src_nexthop_cli_showstatic_next_hop_bfd_sourcerouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_frr_nexthops_nexthop_color_modifystatic_get_nh_str_IO_stdin_usedrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_frr_nexthops_nexthop_createrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_frr_nexthops_nexthop_mpls_label_stack_entry_ttl_destroystatic_next_hop_bfd_profilebackup_config_filestatic_install_nexthop__data_start_mg_STATICrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_frr_nexthops_nexthop_mpls_label_stack_entry_ttl_modifystatic_add_pathrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_frr_nexthops_nexthop_mpls_label_stack_entry_label_destroystatic_bfd_initializestatic_signalsstatic_del_pathrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_frr_nexthops_nexthop_mpls_label_stack_entry_traffic_class_modifystatic_del_routestatic_nexthop_cli_showrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_frr_nexthops_nexthop_mpls_label_stack_entry_label_modifyrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_frr_nexthops_nexthop_mpls_label_stack_entry_label_destroystatic_privsstatic_nht_mark_staterouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_frr_nexthops_nexthop_pre_validatestatic_zebra_initlongoptsstatic_config_write_debugrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_frr_nexthops_nexthop_onlink_modifyzebra_stable_node_cleanuprouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_frr_nexthops_nexthop_mpls_label_stack_entry_destroy__libc_csu_initstatic_nht_updatempls_enabledroute_next_hop_bfd_destroystatic_next_hop_bfd_multi_hoprouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_frr_nexthops_nexthop_destroystatic_path_list_cli_cmpstatic_nexthop_cli_cmpstatic_debug_status_writerouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_tag_modifyrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_frr_nexthops_nexthop_createstatic_debug_initstatic_nht_reset_startstatic_next_hop_bfd_monitor_disablemasterrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_frr_nexthops_nexthop_onlink_modifyzclientroute_next_hop_bfd_profile_modifyfrr_staticd_infostatic_next_hop_bfd_auto_sourcestatic_vrf_static_tablerouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_frr_nexthops_nexthop_mpls_label_stack_entry_traffic_class_destroyrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_frr_nexthops_nexthop_bh_type_modifyrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_createrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_frr_nexthops_nexthop_color_destroyrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_frr_nexthops_nexthop_mpls_label_stack_entry_label_modifyrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_createstatic_vrf_lookup_by_namestatic_zebra_vrf_registerstatic_get_nh_typerouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_frr_nexthops_nexthop_mpls_label_stack_entry_createstatic_next_hop_bfd_monitor_enablezebra_ecmp_countrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_destroystatic_src_list_cli_cmpstatic_zebra_stoprouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_tag_modifyrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_path_list_frr_nexthops_nexthop_color_modifyrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_destroystatic_dbg_routestatic_zebra_nht_registerstatic_vrf_terminateroute_next_hop_bfd_source_modifystatic_debug_arrstatic_install_intf_nhrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_src_list_path_list_destroystatic_dbg_cbsstatic_add_nexthopstatic_vty_initstatic_delete_nexthopstatic_cli_show_endroute_next_hop_bfd_profile_destroystatic_get_stable_infoJSONC_0.14GLIBC_2.3.4GLIBC_2.4GLIBC_2.2.5/usr/lib64_  I% ti T%ii `%ui j%E"E"pE"E" E"`E"E" E"PE"`F"F"`F"F"0 F"(F"0F"8F"@F"@F"`F"@p"pF"rxF"&sF"zrF"\F"p"F"rF"-sF"drF"\F"rF"rG"G"rG"r0G"8G"@@G"`G"`y"pG"xG"`G"pG" G"y"G"G"`G"0G" G"x"G"G"`H"H"  H" z"0H"8H"@H"ڶPH"\`H"y"pH"xH"H"H"\H"H"H" H"дH""H"|"H"H"I"صI"+ I"{"0I"8I"@I"PI"5`I"@{"pI"xI"I"I"5I"z"I"I"I"`I"DI"z"I"I"J"0J"O0J"8J"@J"lHJ"PJ"DpJ"xJ"J"K"Ъ0K"U8K"p@K"V"pK"UxK"pK"`V"K"UK"pK"V"K"UK"pL"U"0L"U8L"p@L"@U"pL"UxL"pL"T"L"UL"pL"T"L"UL"pM" T"0M"U8M"p@M"S"pM"UxM"pM"`S"M"UM"pM"S"M"UM"pN"R"0N"U8N"p@N"@R"pN"UxN"pN" Q"N"UN"pN"Q"N"UN"pO"Q"0O"U8O"p@O"Q"pO"UxO"O"jO"UO"O"jO"UO"P"v0P"U8P"@P"vpP"UxP"P"P"UP"P"P"UP"Q"0 Q"(Q"P8Q"@Q"XQ"U`Q"Q"Q"Q"0Q"ʺQ"UQ"Q"0Q"hQ".R"R"U R"@R"HR"XXR"&`R"xR"UR"1R"R"R"`R"@R"UR"OS"(S"S" S"8S"U@S"`S"hS"(xS"p S"S"US"ZS"(S"S"pS"wS"UT" T"(T"p8T" @T"XT"U`T"ƻT"PT"xT"PT"ۻT"UT"T"T"PT" U"U"U U"@U"HU"pXU"``U"(xU"UU"PU"pU"(U"0U"U"UU"V"V"(V"@ V"*8V"U@V"E`V"hV"HxV"V"\V"UV"sV"(V"V"V"V"UW" W"@}"0W"8W"@W"PW"\`W"}"pW"xW" W"W"\W"~"W"W"`W"W"\W"`~"W"W"X"pX"x X"~"0X"8X"@X"dPX"`X" "pX"xX"X"lX"%X""X"X"X"`X"%X""X"X"Y"0Y"%0Y"8Y"@Y"`Y"@"pY"xY"pY"Y"(Y""Y"Y"Y"Y"Y""Y"Y"Z" Z"0Z"8Z"@Z"pZ"xZ"Z"["["["["x["1["1["0[" @["A["4\"\"B(\" Bp\"p6\"\"PB]"]"B(]"B8]">@]">p]"03x]"P2]"]"B^" ^"C^"(^"C^"C_"_"C(_"C_"X_"D_"0E`" `"@E(`"PE`"`"`E`"pEa"@a"E(a"Ea"a"Fa"Fb"p b"Fb" b"Gb"PGc" c"G(c"`Hpc"5c" c"pHc"Hc"p6d"  d"Hd" d"Hd"Hd">d">d"03d"2e"  e"He"@ e"Hf"  f"H(f"If"p f"If" Ig" g"0I(g"@Ig"g"PIg"`Ih"h h"pI(h"I(p"P"0p""Xp"zrp"drq"G"u" u"Ф8u"Pu"pu"xu"ru"q"v"rv"u"v"v"v"Z"v"@"Pw"rXw"r`w"rw"4sw"=sw"\w"\w"`sw"w"w"\w"\w"x"x"x" x"0x"px"8x"`x"@x"Px"Xx"гhx"ܳxx"x"y"0xy"py"8z"ڶz"0z"`X{"{"|"صp|"q|"|"||"\|"X}"}"~"x~"p~"d8"l"0"`X"" "p"""@"P"F"X"F"`"`F"h"H"p" I"x"`I""I""I"" J""H"" H""`H""`G""G""G"Ȃ" G"Ђ" O"؂"N""N""`N"" N""M""M""`M"" M""L" "L"("`L"0" L"8"K"@"K"H"`K"P" K"X"HQ"`"Q"h"R"p"hR"x"R""(S""S""`O""S""HT""T""U""hU""U"ȃ"O"Ѓ"(V"؃"V""V""O"" P""`P""P""P"" X"" W" "`W"("W"0"W"8"`X"@"X"H"X"P" Y"X"`Y"`"Y"h"Y"p"`Z"x" Z"Z"Z" Z"8Z"Fo"o"!o"1o"9o"?Z"Z"Z"""""""k"k"k"k"k"k"k"k"k" k" k" k" k"k"k"l"l"l"l" l"(l"0l"8l"@l"Hl"Pl"Xl"`l"hl" pl""xl"#l"$l"%l"&l"'l"(l")l"*l"+l",l"-l".l"/l"0l"2l"3l"4m"5m"6m"7m": m";(m"<0m"=8m">@m"?Hm"@Pm"AXm"B`m"Chm"Dpm"Exm"Gm"Hm"Im"Jm"Km"Lm"Mm"Nm"Om"Pm"Qm"Rm"Sm"Tm"Um"Vm"Wn"Xn"Yn"Zn"[ n"\(n"]0n"^8n"_@n"`Hn"aPn"bXn"c`n"dhn"epn"fxn"gn"hn"in"jn"kn"ln"mn"nn"on"pn"qn"rn"sn"tn"un"vn"wo"xo"yo"zo"{ o"|(o"}0o"~8o"@o"Ho"Po"Xo"`o"ho"po"xo"o"o"o"o"o"o"o"o"o"o"HH!HtH5!%!hhhhhhhhqhah Qh Ah 1h !h hhhhhhhhhhqhahQhAh1h!hhhh h!h"h#h$h%h&h'qh(ah)Qh*Ah+1h,!h-h.h/h0h1h2h3h4h5h6h7qh8ah9Qh:Ah;1h<!h=h>h?h@hAhBhChDhEhFhGqhHahIQhJAhK1hL!hMhNhOhPhQhRhShThUhVhWqhXahYQhZAh[1h\!h]h^h_h`hahbhchdhehfhgqhhahiQhjAhk1hl!hmhnhohphqhrhshthuhvhwqhxahyQhzAh{1h|!h}h~hhhhhhhhhqha% !D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%}!D%u!D%m!D%e!D%]!D%U!D%M!D%E!D%=!D%5!D%-!D%%!D%!D%!D% !D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%}!D%u!D%m!D%e!D%]!D%U!D%M!D%E!D%=!D%5!D%-!D%%!D%!D%!D% !D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%}!D%u!D%m!D%e!D%]!D%U!D%M!D%E!D%=!D%5!D%-!D%%!D%!D%!D% !D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%!D%}!D%u!D%m!D%e!D%]!D%U!D%M!D%E!D%=!D%5!D%-!D%%!D%!D%!D% !D%!D%!D%!D%!D%!D%!D%!D%!DHU!Ht HQ!HPHF!Hf.He!Ht Ha!HPHV!Hf.H!Ht H!HPH!Hf.HE!Ht HA!HPH6!Hf.H!Ht H!HPH!Hf.He!Ht Ha!HPHV!Hf.H=!UHHATISH=!?HuH5!H1LuH!fQ\WhE11H>HߞL 8!PH5!H=!$XZ-L ƹ!1LH=!H!H!H=!cHe1[A\]ÿf.@H=%!0H=U! H!H!HHDH!H!HH!f.@H}!Hn!HHDH!H!HHW!f.@H!H!H!HHm!ff.H !H!HHDH!H!HH!ff.H!H!HHDH !H!!HH!ff.H!H~!HHDH!H!HHg!f.@1I^HHPTLFH H=(!H=9!H2!H9tH!Ht H= !H5!H)HHH?HHtH}!HtfD=}!u+UH=Z!Ht H=!9dU!]wUHHH`HhLpLxt )E)M)U)])e)m)u)}dH%(HH1HHEw(H8H0HPH@Dž0Dž40$HHdH3%(uff.UH51H=!H#yt1gUH5H=m!1HH5!1]H!mf.UHAWIAVAUL-!ATSH!LsH@MAIHHLu"HIL9uH1[A\A]A^A_]@IUH5TL13ǐAH!HHAH@t!H :HHt!HH9uDL!HHuHHff.@f1DHEDŽt7@trH !H !EtuH !@@t,@uH!!Et@H!!@Et@ufH!!uEu@Ezff.H=!PG!Z!fUHHH`HhLpLxt )E)M)U)])e)m)u)}dH%(HH1HHEw(H8H0HPH@Dž0Dž40HHdH3%(u{ff.U1H1]HqUE1HATASH]HMHULMHPH~ HdH%(HE1P0}5EH HcH>f.uDH轱1H]dH3%(HP[A\]uDH腱DE1HH H5 H=w!B1fDuDHEDE1HHE H5 H=!1`uDHDE1HH H5 H=7!1 fD1fUHv H1]fUHHHv dH%(HE1HEHt H}1HMdH3 %(uPU1H1]ff.fUH1]f.UHSHHH߾^H1[]DFL9GLuFH9GHtBÐHHsU1H1]ff.fUHAWAVAUATSL$HH $L9uHHH~ dH%(HE1L0ILLLA|$E1 AA0LК1 foLfofoHH=!))H<)I|$C!* !AH!HHCA9wzfA9tyfHHthD9kubLH7uKLDLf.HHH!HP!9H=!HsH5H=!1I4@UHAUATSL$HH $L9uHdH%(HE1IH?H8HDž8H0HDž0LopL@d1LIIEHƅ@@@AELH0o)PoHA)I oP A)Q0H@0IA@H8HDžH o H@IAX!HAD$DžDAtHAD$t HAD$ tHID$(I|$(H9EH;D!E+1LVfD@AH H JHD t tHLNBIB xH@DwIHHIc L>@H LEH JHDŽ M$D@LACA!HxH@H9HD9fH5!1@ǃD@`EtH oxPH JHDŽ D  Hx{LN$B1IB%B%ěMfDDD|EH92fDxe%H opPH JHDŽ  DD@`EH ohPH JHD DŽ  f.xeH o`PH JHDŽ  mDD@`EjH H JHD DŽ 7!fH59! IL4HEdH3%(u^Hĸd[A\A]]ADŽ$ԛDŽ 1T@1pbfUH HH56H=HHdH%(HE11fEE:H=[!HuH!^1ҾH p!HH6!H=*!HH5!fH HJH )!HEdH3%(uUHAUATL%!SH !t6I $L)MHQHHH4HHLjMupH9u]!H=F!L!H=S!f)(!HtH=7!H'!H[A\A]]@DIU5!HV!IE9vLH=!H=!f1H='!1pw@u@H=!@w@u@H=y!@UH5BHSHHH*!H81HtHHH[]f.UHAWAVAUATL%!SHLI]PMH;H@L0LLH{HCL0LLHCL9uLH=!H1[A\A]A^A_]f.UH1]ff.@UHSHHHH1[]fDUHAWAVAUAATIH=!SH,ID{AtZ H=ο!HEHML0@X HA0H9HA ILHAt]AD{AuH=t!HEHML0@X HA0HߞHA IވAu JM$1M&H[A\A]A^A_]@HtwwHHD1DUHHtHtH]{HfDUH=H H&H5?HH= ]f.7UHAWAVAUATSHH $H( fdH%(HE1~IH)))))) )0)@)P)`H~ H{@H{@HtH5LH{ LQY C  LLPLL{xH{0tH@HPHC8HHHC@HSE1AHKGd$H{XƅHt 1jDžH{PHt 1DžH{hHt 1 H PDHH ;HK@HSH{0s{HHWHHLL TLtQRHQRPH9AUHsPL1IhbHPLH8#Ht3HfH) LH1ɺLL+H{0s{xHHL sRHLQRP1AUsHH@H11LLpPL1DPLHLH5LLLL0Hs@L1LsLYHH HIźHHLLp11LLAAD$AAuAHL;H5LHKpHtLLNH{`HHLIHHLH5 ML1ɺLE1Hs`H=S!.HHHH_ELRL1AHLDLL$HٺLLaHH5HHuHH=!H{xHLt?HLH5LLLHLLL{H5LW{yLLHH HDHt;LL'H5LLLHH LLgfGd$fDHHLL RLATQPHAUsPfkHHHLL dQLRQPHQAUHsPDHCfLHL5LH5hG1ɺLLOf.HL LHRQP1AUsOH0:fD1H=g!fHL|H5LXHCHHH HJH5H߅HHE1i}OH5H1NH5L1=H5MHH1)HEHt%HH51H5~HH11H5iDLw_H>4HcH>fH5TL1H5LHH1H5#L1H5_LHH1H58L1H5-L<E1HuH LH=aH]E9H5]L1H}HI1H5L0XEOH5kHLpH5LYH5LB*1H5HHHEdH3%(HH[A\A]A^A_]1H5L/eH5H&H5p@H5H1f.{H}HHdGH5H߅HHE1LD1H5`Lu E#H5HH1 f.LH5H5IH1H59H14H5LLH51 H5~HH1YLH51H5HH1fD1H5JFL/H5H1H5H1}LH5QH1\VH5RH1<H5uH1H5sLLH5Y1H5THH1fDH5H1L`0qDH@0HHHE1IAHP8\fH@0H HH&E1IAHP8HH0H1H5DD0@H@0HHHE1IAHP8H@0 H0HHIH0AH9P0t E1:AHP8Hx0HHp0HMHp0HLp0MDHH1H0HH0MHH4HH0HEMHhHHPHpHEHEHHEHHEH]dH3%(uIH[A\A]A^A_]@L`3HHH51UHAWAVAUATSHHdH%(HE1Dž,BIE1E1Lt1HDžHDžHDžHDžHDžHDžHDž>D E,HrHLDH=:HE1HH=u:HzHH=H* H=wHH=HH=HAAE2HzHLDHH=\AEDIM9IHB8HtHH=HH=PAAE}DELb0}T Lj0ADHB0H,HHIE1AHB8HHJ0HR8H5?1H3A HB0H0 HHaIH0H9B0tE18AfHB0H0 HH!IH0AH9B0t E18AHB8HB0H0 HHIH0AH9B0t E18AHB8Hr0HLDf.Hz0H7Hr0HLDf.AMH1H0HHHLmHH4HH00H@HLPHXHHxHHEHHEHHEAH]dH3%(DH[A\A]A^A_]fDLbLjHHH5|1fHH!1AH5Tk$@UHAWAVAUATSHHdH%(HE1Dž,BIE1E1Ll1HDžHDžHDžHDžHDžHDžfDDELrMDH=HE1ɄHH=u2cHrHH=7H H=&HH=Hu HrHHƹH=-<EDIM9IHB8HtHH=HH=&AAE:Lb0HB0H0 HHIH0AH9B0t E1ɀ8AHB8HJ0HR8H51HAHB0H0 HHAIH0H9B0tE1ɀ8AfHB0H,HHIE1ɅAHB8HB0H0 HHѼIH0AH9B0t E1ɀ8AHB8Lr0MDWHr0HHz0HAM)HH2HEH0HDž2HxHH)1MHHH0H4Hƅ1HXHLPHxHHEHHEHHEHHEAH]dH3%(DurH[A\A]A^A_]fLbHHH51ԻfHH11AH5d讻|4@UHAWAVAUATSHHHdH%(HE1Dž$Dž(Dž,BI1E1HDE1HDžE1HHDžHDžHDžHDžHDžHDžHDžHDžHDžHDžHDžHDžHDžDEHpHLDH=HE1HH=H=Hu8 HpHH=H H=HH=HH=HAAEX0HpHHHDHH=u6H H=YHH=4HAAEDEHLhIDHH=HH=HH=}HAAE8HXHޅu HH H=AH? H=-Hu2HpHEEIL;rIHP8HtHH=HH==AAE"7DEnLp0"D"0~HHX0HHxDE,LLh0LIVfDDE Hp0H@H@0H,HH>E1IAHP8fH@0 H0HHIH0AH9P0t E1:AHP8H@0 H0HHIH0AH9P0t E1:AHP8H@0 H0HHqIH0AH9P0t E1:AHP8$H@0 H0HH!IH0AH9P0t E1:AHP8H@0H(HHƷE1IAHP8/H@0H$HH薷E1IAHP8HH0H1H5DD@Hp0HHx0HLh0L@Hp0EHp0HLD/fHX0.H@AE!MHHd1H0HH0HHH4HH02HH@HEHHXHEHhHLHHpHLPHEHHEHHEHHEHHEHHEHHEHAH]dH3%(DHH[A\A]A^A_]LpHxH0HpHHHX@HHH51ԲwHH)1AH5\覲IHHH5=1腲( ff.UHAWAVAUATSH8HdH%(HE1Dž$Dž(Dž,BI1E1HDE1HDžE1HHDžHDžHDžHDžHDžHDžHDžHDžHDžHDžHDžHDž]8>HpHLDH=\HE1kHH=H=HuHxHH=H} H=zHH=HuDE7HxHH=-H H=fHH=AHAAEiDEHpHLDH=HEH=HH=HAAE8HXHޅu HH H=UH H=AHuNHxHEEIL;>IHP8HtHH=HH=QAAE^q0tLh0^DEDLp00FHHX0HHH@0H,HH薰E1IAHP8H@0 H0HHqIH0AH9P0t E1:AHP8H@0 H0HH!IH0AH9P0t E1:AHP8H@0 H0HHѬIH0AH9P0t E1:AHP8sH@0 H0HH聬IH0AH9P0t E1:AHP8;H@0H(HH&E1IAHP8H@0H$HHE1IAHP8fHH0H1H5zDpDB@Hp0HLDVf.Hp0HHp0HDHp0HLDf.HX0zH}@Hp0HAE?MHH|H2HEH0HDž2HxHH)H~1HH0MHH4H2HHHHEHHXHEHhHƅ1HpHLPHEHHEHHEHHEHHEHHEHHHEAH]dH3%(DH8[A\A]A^A_]f.LpSLhHHX@HHH51fHHa1AH5ީWHHH5u1轩6CUHAWAVAUATSH8HdH%(HE1Dž$Dž(Dž,BI1E1HDE1HDžE1HHDžHDžHDžHDžHDžHDžHDžHDžHDžHDžHDžHDž]8>HpHLDH=HE1kHH=)H=HuHxHH=H} H=HH=HH=HAAEDEHpHLDH=$H H=HuDEHxHH=GHEH=HH=HAAE8HXHޅu HH H=H H=HuNHxHEEIL;>IHP8HtHH=HH=AAE^q0$Lh0^[DELp0F0HHX0HHH@0H,HH֧E1IAHP8H@0 H0HH豤IH0AH9P0t E1:AHP8H@0 H0HHaIH0AH9P0t E1:AHP8H@0 H0HHIH0AH9P0t E1:AHP8sH@0 H0HHIH0AH9P0t E1:AHP8;H@0H(HHfE1IAHP8H@0H$HH6E1IAHP8fHH0H1H5D谣DB@Hp0HLDf.Hp0HHp0HLDf.Hx0H_Hx0HHp0HLDf.Hx0H^MZH2HEH0HDž2HxHH)H~1HH0HHH4HEMHHHƅ1HXHLPHhHEHpHHEHHEHHEHHEHHEHHEHHEH蝼H]dH3%(]H8[A\A]A^A_]Lh<L`HHAH5|1ęHUfHAWAVAUATSHHdH%(HE1)EHE)EHEBIE1E1Ll1HDžHDžHDžHDžHDžHDžHDžO@2LrMDHH=EDIM9IHB8HtHH=\uDEHrHHH=ϴE1HH=xHH=?u:HrHH=H H=H0H=HH=HAAE Lb0fHB0HuHHIE1AHB8@HB0HuHHIE1AHB8@HJ0HR8H51HAHB0H HHIHH9B0tE18AfHB0H HHѕIHAH9B0t E18AHB8HB0H HH聕IHAH9B0t E18AHB8Hr0HHr0HaLr0MDAHH1HHHHHHHHH HLH0HL`HHHHPHHXHHh`AH]dH3%(DurH[A\A]A^A_]fLbHH²H5L1蔔fHH(1AH5$n|@UfHAWAVAUATSHHdH%(HE1)EHE)EHE~BIE1E1Ld1HDžHDžHDžHDžHDžHDž@HH=۱HH=u2HzHH=Hb H=HH=XHu HzHHƹH=EdDIM9IHB8HtHH=ku:HrHHH=E1ɄLj0HuLIE1ɅAHB8fHB0H HHqIHAH9B0t E1ɀ8AHB8HB0H HH!IHAH9B0t E1ɀ8AHB8VLz0HuLPIE1ɅAHB8HJ0HR8H5W1HKAtHB0H HH聐IHH9B0tE1ɀ8A-fHr0HHr0H`Hr0HoAM)HHHEHHDžHxHH)1HHHHHHƅHHHL HPHL0HXHH`HHhVAH]dH3%(DueH[A\A]A^A_]HHʭH5T1蜏f.HH(1AH5$nUfHAWAVAUATSHHdH%(HE1)EHE)EHE)p)EBIE1E1HDE11HDžHHDžXHDžHDž`HDžHDžhHDžHDžpHDžxHDžHDžHDžHDžHDž|0HpHLDH=; H H=HH=HAAEDE.HpHLDH=H^H=~HH=JHAAE8xHpHLD H=H` H=HuHpHEDIL9{IHP8HtHH=zuDEHxHHH=E1SHH=HH= H=Hu8HxHH=H H=HH=HH=HAAECVDELh0AfD!0L`0DDE\Lp0vH@0 HHHpaIHAH9P0t E1:AHP8H@0 HHHxIHAH9P0t E1:AHP8H@0Hp HH葅E1IAHP8@H@0HuHHE1IAHP8@H@0HuHHшE1IAHP8@HH0H1H5ҧDȉD@H@0HU HHX̄E1IAHP8oH@0 HHHhIHAH9P0t E1:AHP82H@0 HHH`qIHAH9P0t E1:AHP8ZHx0HCHp0HLDf.Hp0HLDuf.Hp0HLDf.Hx0HxHx0HSACHHHx1HHHMHHHHHHHXMHHYHHL@HHHHH HxH0HpH8HhHHH`HPHXH`HHhHrAH]dH3%(DHĈ[A\A]A^A_]LpLhL`pHHdH5<1脆fHH1AH5^ZHH|H51=9ÆUfHAWAVAUATSHxHdH%(HE1)EHE)EHE)p)EBIE1E1Lt1HDžHDž`HDžHDžhHDžHDžpHDžHDžxHDžHDžHDžHDžHDžHDžDEHpHLDH=HH=ԜHH=HAAE88~HpHLD H=hH H=THuiHpHEDIM9IHP8HtHH=ԡu04HpHHH=IE1_HH=HH=fH=OHuHpHH=H" H=H[H=PHuDEDHpHH=HZ H=HH=HAAEnDELh0n0^L`0DH@0HU HH`d}E1IAHP8H@0 HHHYIHAH9P0t E1:AHP8H@0Hp HH|E1IAHP8@H@0HuHHQE1IAHP8@H@0HuHH!E1IAHP8u@HH0H1H5"DD@H@0 HHHhIIHAH9P0t E1:AHP8H@0 HHHxIHAH9P0t E1:AHP8]H@0 HHHpIHAH9P0t E1:AHP8^Hp0HLD}f.Hp0HLDf.Hx0HHx0HgHp0HHx0HAiHHHHHHDžHDžXHxHH)H~1HHMHHHHHHXMHHYHHƅHHH HH0HxH8HH@HpHHHhHPH`H`HHHh蜠AH]dH3%(DHx[A\A]A^A_]ÐL`jLhHHH5|1}fHHX1AH5T}pHHH551}}O~UfHAWAVAUATSHxHdH%(HE1)EHE)EHE)p)EBIE1E1Lt1HDžHDž`HDžHDžhHDžHDžpHDžHDžxHDžHDžHDžHDžHDžHDžMDE$HpHLDH=YH$ H==HuDE HxHH=HH=ÓHH=HAAE8-HpHLD H=WH H=CHuHxHEDIM94IHP8HtHH=Øu0HpHHH=8E1HH=HH=UhH=>HuCHxHH=H H=HZH=;HH=.HAAEnDE2Lh0n,0L`0DH@0HU HH`tE1IAHP8H@0 HHHxIHAH9P0t E1:AHP8H@0Hp HH!tE1IAHP8d@H@0HuHHwE1IAHP8@H@0HuHHawE1IAHP8@HH0H1H5bDXxD(@H@0 HHHhwIHAH9P0t E1:AHP8-H@0 HHHpAwIHAH9P0t E1:AHP8H@0 HHHxvIHAH9P0t E1:AHP8^Hp0HLDf.Hp0HHp0HLDf.Hp0HHp0HHp0HHHK1HHHHHHHHHXMHHHHHL@HHYHHH HH0HxH8HpHHHhHPH`H`HHh.H]dH3%(uZHx[A\A]A^A_]DL`Lh<HHH51\uuUfHAWAVAUATSHxHdH%(HE1)EHE)EHE)p)EKBIE1E1Ll1HDžHDžhHDžpHDžHDžxHDžHDžHDžHDžHDžHDžHDžHDž@8LpMD H=HE H=HuHpHEDIM9IHP8HtHH={u+HpHHH=E1HH=HH= @H=HuDEHpHH=H H=HPH=HuDE9HpHH=HO H=HuDEHpHH=PHH=HH=ڏHAAE0L`0H@0 HHHqIHAH9P0t E1:AHP8H@0 HHHpIHAH9P0t E1:AHP8hH@0 HHHxapIHAH9P0t E1:AHP8iH@0HU HHhkE1IAHP8H@0 HHHpoIHAH9P0t E1:AHP82H@0HuHH oE1IAHP8@HH0H1H5 DpD@H@0Hp HHkE1IAHP8@H@0HuHHqnE1IAHP8=@Hp0HzHp0HHp0HLp0MD Hp0HHp0H;6HH[HHHDžXHDžHxHH)H~1HHMHHHXMHHƅHHHHHYH HH0HH8HH@HxHHHpHPHhH`HHhHMH]dH3%(uIHx[A\A]A^A_]@L`{HH@H5D1mnUHATISHH5ot/1{H5Lu-HjH;H5H14mC[1A\]fjH;H5XH1mDUHAWAVAUATSH(HuȉUHMxE1HE1E1L-E1H\L5oA8mMPMхmM׹HH=eMHƹH=VMDHH9LI@8HtHLHLAAEXA0-Mx0Y@HƹH=̓uAHMX0H9ffDE1MAHEHcUĹH=uDP0HEHDHpDDAuH(1[A\A]A^A_]fDMP0MхHH="Mf.HH=ʂAt*MH0@Mx,MXZMHf.E1MDDA1M1MtfDAE1E1E1ff.U1HATIHSH5`!gHhHHju [A\]DHL[1A\H5C]iU1HATIHSH5fHIhHH^ju [A\]D[LH5A\1]iff.UHAVAAUIATIH5ɇSLeH5ÇHHweEMHL[1A\HA]A^]UHAWAAVIAUIH5iATLSH#eH5hHIeH5KHHdHEMLHL[HA\A]A^A_]陗fUHAVAUIH5ATISHĀdH%(HE1LgH5L19g9t%)ÉHMdH3 %(;H[A\A]A^]ÐwaHHcH>f.H`LLu1HHqeLL1Hm]eLH"dyLH51dLH5H1dHHZhDDH`1LuLHHdLL1HdLHcH5ƒLfDH5L1'dLH5H1dHHg1gff.UHAUATISHH5HdH%(HE1cHXHPHbH5߂H1cH\HTHbPT9uX\9t&)HMdH3 %(uUHĘ[A\A]]L`L1LLeH~cHL1HjcLLJbfUHMHAUIHATLeSH`HHdH%(HE1-c1LLHcLHaHMdH3 %(uHĈ[A\A]]eff.U1HAUIATIH5@SH{fH5/L1hf9tH)É[A\A]]DLH5́1odLH51[dH)É[A\A]]fUH=E!H`H5!{eH54!jeH5!YeH5R!HeH5!7eH5p!&eH5!eH5!eH5!dH5!dH5;!dH5!dH5Y!dH5(!dH5!dH5!|dH5U!]jdf.UHHH`HhLpLxt )E)M)U)])e)m)u)}dH%(HH1HHEw(H8H0HPH@Dž0Dž40`HHdH3%(ukcff.U1HSHH52HauCH1[]ff.fUHAWAVIAUATSHHdH%(HE1GHwH]H~1H_I~H51aI~H5~A1_I~H5I~I1_I~1IbHDLHE(7H}DE1MLH(I~HCc1HMdH3 %(wHH[A\A]A^A_]DHH5}1v^HHtEH5~H?]H5~H(]H5}H]I~H5EE>]HuH KHH=)1^]Et D =!1A9Iv(I~ 1L&HbI~H5 }]H5)H=!H1Iv(I~ IٺL)H1&bIv(I~ HY1:[t`UHAUATSHHGtiuTH1`H{H5|I1O_H{H5|A1 aLAԉ|&H{H@a1H[A\A]]HH5[H5{H1\H{H5o|I1`t]LH`t`uHs(H{ L"H aqff.@UHATSGHt7u%H1_H{1I1]AD$L1[A\]fDHH531]1tHs(H{ HYfUHAUATSHHGtYuDH1_H{1ID1ZA$A8tAD$DfD1H[A\A]]H1H5\tHs(H{ HG1YfUHATSGHtGu5H1Z^H{IYtZAD|AD$x1[A\]fD1=OJ!uHw(H LH=_fDH5 H=!fDUH1H]]H2ff.@f.UH5eHSHHH_Ht%HPHtFftW1҃w.H[]fDftfuH@8HW1҃vHsH{1AL5H!^H[]UH5&x1HSHHHYH=cHuH[]f.Hs(H{ H1VH[]ff.UHAVAUATSHHPdH%(HE1GHH5LmW1H[HsHwLLI1XH{H5kw1#XHUHuH#Wu}1LM A|$@IH{Lu\1HMdH3 %(HP[A\A]A^]HwHwH}1*XH{H5v1WHUHuHV}W19UtH{H5vfWH5H=!H1a@H{H5v1.WHs(H{ LoIH1[Zff.@t1UHHVH$1]t1UHHsVH#1]t1U1HATSHHYH{1I1ZLAD$[1A\]fUH]ff.t1UHHUHk"1]7t1U1HAUATSHHH0YH{1ID1YA$A9t AD$DH1[A\A]]fDt1UH1HXǀt@D1]ff.fUHAUATE1SHtHD[A\A]]HH1MXH{ISt5AUxAD|DAUxAEDH[A\A]]@H5!H=!Atf.t1U1HAVAUATSHHWH{IHtHSt9H{1M,1Eu|XAE|A9t AD$D1[A\A]A^]ÐH5yH=!fD1f1f1f1f1ft1U1HSHHHVHsH H1[]ff.@t1UH1H|VH 1]UHATSH dH%(HE1t1HMdH3 %(uBH [A\]fHH1VHsH]1IH1RHL U@t1UH1HUHD 1]t1U1HATSHHUH{1I1fQLK [1A\]@t1U1HATSHHFUH{1I1QLHK [1A\]@t1UH1HT1H 1]ff.UfHAVAUATSH dH%(HE1)EHEt(1HMdH3 %(|H [A\A]A^]fDHH1LmiTHsH'pLIH@8H@0L01VN}=PMLL8H{H UoTfw7UH]ff.WwW1f1f1f1f1fUHHH`HhLpLxt )E)M)U)])e)m)u)}dH%(HH1HHEw(H8H0HPH@Dž0Dž40dOHHdH3%(uRff.UHAWAVAUATSHHH($MHEHoL=HEH@pHALhHHEI9,f.ILmHEHH(L`(L9HIL5gYH5IH1PAHLHHHE1PIMI9HI~ItI1LHpPIAEHPv&jIUPH5H15PaIUPH5H1PGfDHELhL9mH}NHEHH([A\A]A^A_]fH5TH1Of.UHSHHtt4H[]DH,!u:ƃH;H[]gH+!u2ƃfH9H51H=9 !fHH51H= !fUHHHhLpLxt )E)M)U)])e)m)u)}dH%(HH1HEH0Dž0H8HHPH@Dž40JHHdH3%(uNUHAWAVAUATSHXH}HdH%(HE1IHEH]HEL=HEHEH@pHHPHHEH9 HHU@HEHX(Lh(L9HLu HHJHHULIHHMHtLH5kL1PHM1LH5iL8HSH5jiLIH5ZLyIH}LmOH[I9PHEH@H9EtHHE @H}JHEHHEdH3%(uHX[A\A]A^A_]'MUHAWAVAUIH5iATSHLH8dH%(HE1MH5iLAMH5LEMAH5aiL1DEHAċCHPaDEEAA HEEAHED@NAA u EHuHSPHDHLEHsfHHEF1}H5NAHzHH~IH"JHEdH3%( H8[A\A]A^A_]fD1MA.EHuHSPHDHI/f.HyH5.1H=!DwH5L1FA7H5gL1GGHH}HgL1DEGDEGDHH=VDE-LDEHwJUHSHHHLƃH[]fDUHAUATSHHHHCHHwaLkPLfv41mLHLL{JHH[A\A]]GD19LHLLgHDHHH51[H=!A\A]]f.H[A\A]]DUHSHHHHt$KHH[]GH[]fUHSHHHHt,@@EHH[]FDH[]ÐUHSHHHHtKHH[]mFDH[]ÐEUHAWAVAUATISHL=!@H5y1GH5L1GH52!LBHHfDLLsDL1H5_LiGIuPHtLH5YLL1DGIuXHtLH5QLL1GIHtLHLEHHlHLH5q1[A\A]A^A_]FDCHHECHH5eHIBH51!LAHHLEH5+LHHEBIuPHt HMH|EH5LHHEvBIuXHt HMHLEH5LHHEFBIHt HMHHLCHHOH]1HELH5cH1EHH[A\A]A^A_]Ef.DUHAWAVLw(AUATSHH_(L9t[AIIfHtCD9ku4CHw)A<tA< uIGIOH3CPH3KXH t1CDt7H[I9uH[A\A]A^A_]CPA9GuϋCDCeuʾLU:]UDUHAWAVAUIH5/!ATSH8H}H=!ỦMDEDM?HHHHuċ}%fHHuH1HGIHt}LppMttI~MfL9tJHtDD}DuH]HHE @HHtHDDL^H{I9uL}H]AGXAGX@H=!HAHH%H8[A\A]A^A_]fDHH?HtDuH]HHSpHt7HzLbL9t*f.HItUDLII9uHX@HHuH]WLxAC1H=G!>fUHAWAH5 .!AVIAUAATSHL%!UL=HHDHHuDMdHH<>HHHpHHQHH9twfDHIthHR(Iy(H9tRHu'Jf@ BDHrH9t.HHt%D;juA6@u͋rPA9vtHrH9uIQH9uH?H^HL?HHH[A\A]A^A_]IvMVH3rPL3RXI h\fUHAVAAUIATE1S? ׉AA>HHHDDbH1LHCHtuL@pMtFIPIL9t9Ht,Hr(HJ(H9tDHt ^fL4HtC@PtH5 IL'H5L'H5ɨL'H5Lq'H5La'H5LQ'ff.@HW8H HB0H9JtfDH@8H@0HIHGHH.HcH>OLHfL1l&@HOfHL1S&HOPHL1;&HOPLGf1LH&HOPH L1&HOPLGf1LH%ff.@UHAUATSHHhwL'dH%(HE1trGHwJsUuHf(Ht @Pu0HEdH3%(|Hh[A\A]]f.uLɐ;@M,$LeWLkH!tLCLL1H52H= q*@AWIAVIAUAATL% UH- SL)HHt1LLDAHH9uH[]A\A]A^A_ff.HHTerminating on signalSIGHUP received%s/zebra.confstaticd/static_main.cdummy8.5.7staticd daemonSTATICImplementation of STATIC.frrfrrvtyrouting_control_plane_protocols_name_validatesighupsigintfrr-bfdd2019-05-09module frr-bfdd { yang-version 1.1; namespace "http://frrouting.org/yang/bfdd"; prefix frr-bfdd; import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } import frr-interface { prefix frr-interface; } import frr-vrf { prefix frr-vrf; } import frr-route-types { prefix frr-route-types; } organization "FRRouting"; contact "FRR Users List: FRR Development List: "; description "This module defines a model for managing FRR bfdd daemon. Copyright 2020 FRRouting Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."; revision 2019-05-09 { description "Initial revision."; reference "RFC 5880: Bidirectional Forwarding Detection (BFD). RFC 5881: Bidirectional Forwarding Detection (BFD) for IPv4 and IPv6 (Single Hop). RFC 5883: Bidirectional Forwarding Detection (BFD) for Multihop Paths."; } /* * BFD types declaration. */ typedef multiplier { description "Detection multiplier"; type uint8 { range "2..255"; } } typedef discriminator { description "BFD session identification"; type uint32 { range "1..4294967295"; } } typedef state { description "BFD session state"; type enumeration { enum admin-down { value 0; description "Administratively down"; } enum down { value 1; description "Down"; } enum init { value 2; description "Initializing"; } enum up { value 3; description "Up"; } } } typedef diagnostic { description "BFD session diagnostic"; type enumeration { enum ok { value 0; description "Ok"; } enum control-expired { value 1; description "Control timer expired"; } enum echo-failed { value 2; description "Echo function failed"; } enum neighbor-down { value 3; description "Neighbor signaled session down"; } enum forwarding-reset { value 4; description "Forwarding plane reset"; } enum path-down { value 5; description "Path down"; } enum concatenated-path-down { value 6; description "Concatenated path down"; } enum administratively-down { value 7; description "Administratively down"; } enum reverse-concat-path-down { value 8; description "Reverse concatenated path down"; } } } typedef profile-name { type string { length "1..64"; } description "Profile name format"; } typedef profile-ref { type leafref { path "/frr-bfdd:bfdd/frr-bfdd:bfd/frr-bfdd:profile/frr-bfdd:name"; require-instance false; } description "Reference to a BFD profile"; } /* * Shared BFD items. */ grouping session-common { description "Common BFD session settings"; leaf detection-multiplier { type multiplier; default 3; description "Local session detection multiplier"; } leaf desired-transmission-interval { type uint32 { range "10000..60000000"; } units microseconds; default 300000; description "Minimum desired control packet transmission interval"; } leaf required-receive-interval { type uint32 { range "10000..60000000"; } units microseconds; default 300000; description "Minimum required control packet receive interval"; } leaf administrative-down { type boolean; default false; description "Disables or enables the session administratively"; } leaf passive-mode { type boolean; default false; description "Don't attempt to start session establishment."; } } grouping session-echo { description "BFD session echo settings"; leaf echo-mode { type boolean; default false; description "Use echo packets to detect failures"; } leaf desired-echo-transmission-interval { type uint32 { range "10000..60000000"; } units microseconds; default 50000; description "Minimum desired echo packet transmission interval"; } leaf required-echo-receive-interval { type uint32 { range "0 | 10000..60000000"; } units microseconds; default 50000; description "Minimum required echo packet receive interval"; } } grouping session-multi-hop { description "BFD session multi hop settings."; leaf minimum-ttl { type uint8 { range "1..254"; } default "254"; description "Minimum expected TTL on received packets."; } } grouping bfd-monitoring { description "BFD monitoring template for protocol integration."; leaf source { type inet:ip-address; description "Source address to use for liveness check. When source is not set and multi-hop is `false` the source address will be `0.0.0.0` (any). When source is not set and multi-hop is `true` the source address will be automatic selected through Next Hop Tracking (NHT)."; } leaf multi-hop { description "Use multi hop session instead of single hop."; type boolean; default false; } leaf profile { description "BFD pre configured profile."; type frr-bfdd:profile-ref; } } grouping session-states { /* * Local settings. */ leaf local-discriminator { type discriminator; description "Local session identifier"; } leaf local-state { type state; description "Local session state"; } leaf local-diagnostic { type diagnostic; description "Local session diagnostic"; } leaf local-multiplier { type multiplier; description "Local session current multiplier"; } /* * Remote settings. */ leaf remote-discriminator { type discriminator; description "Remote session identifier"; } leaf remote-state { type state; description "Remote session state"; } leaf remote-diagnostic { type diagnostic; description "Local session diagnostic"; } leaf remote-multiplier { type multiplier; description "Remote session detection multiplier"; } /* * Negotiated settings. */ leaf negotiated-transmission-interval { description "Negotiated transmit interval"; type uint32; units microseconds; } leaf negotiated-receive-interval { description "Negotiated receive interval"; type uint32; units microseconds; } leaf detection-mode { description "Detection mode"; type enumeration { enum async-with-echo { value "1"; description "Async with echo"; } enum async-without-echo { value "2"; description "Async without echo"; } enum demand-with-echo { value "3"; description "Demand with echo"; } enum demand-without-echo { value "4"; description "Demand without echo"; } } } /* * Statistics. */ leaf last-down-time { type yang:date-and-time; description "Time and date of the last time session was down"; } leaf last-up-time { type yang:date-and-time; description "Time and date of the last time session was up"; } leaf session-down-count { type uint32; description "Number of times the session went down"; } leaf session-up-count { type uint32; description "Number of times the session went up"; } leaf control-packet-input-count { type uint64; description "Number of control packets received"; } leaf control-packet-output-count { type uint64; description "Number of control packets sent"; } /* * Echo mode operational data. */ leaf negotiated-echo-transmission-interval { type uint32; units microseconds; description "Negotiated echo transmit interval"; } /* * Statistics. */ leaf echo-packet-input-count { type uint64; description "Number of echo packets received"; } leaf echo-packet-output-count { type uint64; description "Number of echo packets sent"; } } /* * BFD operational. */ container bfdd { container bfd { presence "Present if the BFD protocol is enabled"; list profile { key "name"; description "BFD pre configuration profiles"; leaf name { type profile-name; description "Profile name"; } uses session-common; uses session-echo; uses session-multi-hop; } container sessions { list single-hop { key "dest-addr interface vrf"; description "List of single hop sessions"; leaf dest-addr { type inet:ip-address; description "IP address of the peer"; } leaf interface { type frr-interface:interface-ref; description "Interface to use to contact peer"; } leaf vrf { type frr-vrf:vrf-ref; description "Virtual Routing Domain name"; } leaf source-addr { type inet:ip-address; description "Local IP address"; } leaf profile { type profile-ref; description "Override defaults with profile."; } uses session-common; uses session-echo; container stats { uses session-states; config false; } } list multi-hop { key "source-addr dest-addr vrf"; description "List of multi hop sessions"; leaf source-addr { type inet:ip-address; description "Local IP address"; } leaf dest-addr { type inet:ip-address; description "IP address of the peer"; } leaf vrf { type frr-vrf:vrf-ref; description "Virtual Routing Domain name"; } leaf profile { type profile-ref; description "Override defaults with profile."; } uses session-common; uses session-multi-hop; container stats { uses session-states; config false; } } } } } } frr-staticd2019-12-03module frr-staticd { yang-version 1.1; namespace "http://frrouting.org/yang/staticd"; prefix frr-staticd; import frr-routing { prefix frr-rt; } import frr-nexthop { prefix frr-nexthop; } import ietf-inet-types { prefix inet; } import frr-bfdd { prefix frr-bfdd; } organization "FRRouting"; contact "FRR Users List: FRR Development List: "; description "This module defines a model for managing FRR staticd information. This YANG module augments the ietf-routing with additional nexthop information Copyright 2020 FRRouting Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."; revision 2019-12-03 { description "Initial revision."; } identity staticd { base frr-rt:routing-protocol; description "'Staticd' routing pseudo-protocol."; } grouping staticd-prefix-attributes { list path-list { key "table-id distance"; leaf table-id { type uint32; description "Table-id"; } leaf distance { type frr-rt:administrative-distance; description "Admin distance associated with this route."; } leaf tag { type uint32; default "0"; description "Route tag"; } uses frr-nexthop:frr-nexthop; } } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol" { container staticd { when "../frr-rt:type = 'frr-staticd:staticd'" { description "This container is only valid for the 'staticd' routing protocol."; } description "Support for a 'staticd' pseudo-protocol instance consists of a list of routes."; list route-list { key "prefix afi-safi"; description "List of staticd IP routes."; leaf prefix { type inet:ip-prefix; description "IP prefix."; } leaf afi-safi { type identityref { base frr-rt:afi-safi-type; } description "AFI-SAFI type."; } uses staticd-prefix-attributes { augment "path-list/frr-nexthops/nexthop" { container bfd-monitoring { description "BFD monitoring options."; presence "Present if BFD configuration is available."; when "../nh-type = 'ip4' or ../nh-type = 'ip4-ifindex' or ../nh-type = 'ip6' or ../nh-type = 'ip6-ifindex'"; uses frr-bfdd:bfd-monitoring; } } } list src-list { key "src-prefix"; leaf src-prefix { type inet:ipv6-prefix; description "IPv6 source prefix"; } uses staticd-prefix-attributes; } } } } } debug static eventsdebug static routedebug static bfdStaticd bfdStaticd routeStaticd events%s: Route %pFX failed to install for table: %u%s: Route %pFX over-ridden by better route for table: %u%s: Route %pFX failure to remove for table: %uFailure to decode nexthop update messageBUG: someone forgot to add nexthop type %uBUG: NH %pFX registered but not in hashtableReusing registered nexthop(%pFX) for %pRN %dtrying to unregister nexthop %pFX twiceRegistering nexthop(%pFX) for %pRNUnregistering nexthop(%pFX) for %pRN%s: Failure to send nexthop %pFX for %pRN to zebra(hplL4static_nht_hash_finiroute_notify_ownerstatic_zebra_nexthop_updatestatic_zebra_nht_get_prefixstatic_zebra_nht_registerNo nhtd?staticd/static_zebra.ch->hh.count == 0__func__, &p, table_idnh->type__func__, &lookup.nh, rn&lookup.nh&lookup.nh, rn, nhtd->nh_numnhtdStatic Nexthop tracking data/frr-routing:routingStatic Route Table Infounspecnulltruefalse./namefrr-staticd:staticd/entry[id='%u']/label/ ../../vrf./afi-safi%sip%sipv6 mroute./prefix./src-prefix from %s./interface./gateway./bh-type blackhole Null0 reject./tag tag %u./distance./mpls-label-stack/entry nexthop-vrf %s./table-id table %u onlink./srte-color color %s./bfd-monitoring./multi-hop bfd multi-hop./source source %s./profile profile %sisjsonStaticd debugging status prefix_strInternal CLI error [%s] nogateifnamebfd_multi_hopbfd_sourcebfd_profile%% invalid input for %s: %s maskflagnexthop_vrfgate_strfrom./label label %s/%svrf %s exit-vrf path-listroute-listsrc-liststaticd/static_vty.cargs.prefixdnodedebugshow debugging [static]show_debugging_static_cmdshow_debugging_staticstaticd_show_bfd_routes_cmdstaticd_show_bfd_routesdebug_staticd_cmddebug_staticdipv6_route_vrf_cmdipv6_route_vrfipv6_route_cmdipv6_routeipv6_route_address_interfaceipv6_route_blackhole_vrf_cmdipv6_route_blackhole_vrfipv6_route_blackhole_cmdipv6_route_blackholeip_route_vrf_cmdip_route_vrfip_route_cmdip_routeip_route_address_interfaceip_route_blackhole_vrf_cmdip_route_blackhole_vrfip_route_blackhole_cmdip_route_blackholeip_mroute_dist_cmdip_mroute_dist%% Failed to get vrf dnode in candidate db %% Route monitoring requires a gateway /frr-routing:routing/control-plane-protocols/control-plane-protocol[type='%s'][name='%s'][vrf='%s']/frr-staticd:staticd/route-list[prefix='%s'][afi-safi='%s']/src-list[src-prefix='%s']/path-list[table-id='%u']/frr-nexthops/nexthop[nh-type='%s'][vrf='%s'][gateway='%s'][interface='%s']/frr-routing:routing/control-plane-protocols/control-plane-protocol[type='%s'][name='%s'][vrf='%s']/frr-staticd:staticd/route-list[prefix='%s'][afi-safi='%s']/path-list[table-id='%u']/frr-nexthops/nexthop[nh-type='%s'][vrf='%s'][gateway='%s'][interface='%s']/frr-routing:routing/control-plane-protocols/control-plane-protocol[type='%s'][name='%s'][vrf='%s']/frr-staticd:staticd/route-list[prefix='%s'][afi-safi='%s']/src-list[src-prefix='%s']/path-list[table-id='%u'][distance='%u']/frr-routing:routing/control-plane-protocols/control-plane-protocol[type='%s'][name='%s'][vrf='%s']/frr-staticd:staticd/route-list[prefix='%s'][afi-safi='%s']/path-list[table-id='%u'][distance='%u']/frr-nexthops/nexthop[nh-type='%s'][vrf='%s'][gateway='%s'][interface='%s']/frr-staticd:bfd-monitoring/source/frr-staticd:bfd-monitoring/multi-hop/frr-staticd:bfd-monitoring/profile%% Refusing to remove a non-existent route !!str2prefix(args->source, &src)inet_pton(AF_INET, args->prefix_mask, &mask) == 1!!str2prefix(args->prefix, &p)Show running system information Debugging functions Static Information show bfd static route [json]$isjsonShow running system information BFD monitoring Static route daemon Routing Table JavaScript Object Notation [no] debug static [{events$events|route$route|bfd$bfd}]Negate a command or set its defaults Debugging functions Static route daemon Debug events Debug route Debug bfd [no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] $ifname> [{ tag (1-4294967295) |(1-255)$distance |label WORD |table (1-4294967295) |nexthop-vrf NAME |color (1-4294967295) |bfd$bfd [{multi-hop$bfd_multi_hop|source X:X::X:X$bfd_source|profile BFDPROF$bfd_profile}] }]Negate a command or set its defaults IPv6 information Establish static routes IPv6 destination prefix (e.g. 3ffe:506::/32) IPv6 source-dest route IPv6 source prefix IPv6 gateway address IPv6 gateway interface name Null interface Set tag for this route Tag value Distance value for this prefix Specify label(s) for this route One or more labels in the range (16-1048575) separated by '/' Table to configure The table number to configure Specify the VRF The VRF name SR-TE color The SR-TE color to configure BFD monitoring Use BFD multi hop session Use source for BFD session Use IPv4 source for BFD session BFD profile. BFD profile name. [no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] $ifname> [{ tag (1-4294967295) |(1-255)$distance |vrf NAME |label WORD |table (1-4294967295) |nexthop-vrf NAME |color (1-4294967295) |bfd$bfd [{multi-hop$bfd_multi_hop|source X:X::X:X$bfd_source|profile BFDPROF$bfd_profile}] }]Negate a command or set its defaults IPv6 information Establish static routes IPv6 destination prefix (e.g. 3ffe:506::/32) IPv6 source-dest route IPv6 source prefix IPv6 gateway address IPv6 gateway interface name Null interface Set tag for this route Tag value Distance value for this prefix Specify the VRF The VRF name Specify label(s) for this route One or more labels in the range (16-1048575) separated by '/' Table to configure The table number to configure Specify the VRF The VRF name SR-TE color The SR-TE color to configure BFD monitoring Use BFD multi hop session Use source for BFD session Use IPv4 source for BFD session BFD profile. BFD profile name. [no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] X:X::X:X$gate $ifname [{ tag (1-4294967295) |(1-255)$distance |label WORD |table (1-4294967295) |nexthop-vrf NAME |onlink$onlink |color (1-4294967295) |bfd$bfd [{multi-hop$bfd_multi_hop|source X:X::X:X$bfd_source|profile BFDPROF$bfd_profile}] }]Negate a command or set its defaults IPv6 information Establish static routes IPv6 destination prefix (e.g. 3ffe:506::/32) IPv6 source-dest route IPv6 source prefix IPv6 gateway address IPv6 gateway interface name Null interface Set tag for this route Tag value Distance value for this prefix Specify label(s) for this route One or more labels in the range (16-1048575) separated by '/' Table to configure The table number to configure Specify the VRF The VRF name Treat the nexthop as directly attached to the interface SR-TE color The SR-TE color to configure BFD monitoring Use BFD multi hop session Use source for BFD session Use IPv4 source for BFD session BFD profile. BFD profile name. ipv6_route_address_interface_vrf_cmdipv6_route_address_interface_vrf[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] X:X::X:X$gate $ifname [{ tag (1-4294967295) |(1-255)$distance |vrf NAME |label WORD |table (1-4294967295) |nexthop-vrf NAME |onlink$onlink |color (1-4294967295) |bfd$bfd [{multi-hop$bfd_multi_hop|source X:X::X:X$bfd_source|profile BFDPROF$bfd_profile}] }]Negate a command or set its defaults IPv6 information Establish static routes IPv6 destination prefix (e.g. 3ffe:506::/32) IPv6 source-dest route IPv6 source prefix IPv6 gateway address IPv6 gateway interface name Null interface Set tag for this route Tag value Distance value for this prefix Specify the VRF The VRF name Specify label(s) for this route One or more labels in the range (16-1048575) separated by '/' Table to configure The table number to configure Specify the VRF The VRF name Treat the nexthop as directly attached to the interface SR-TE color The SR-TE color to configure BFD monitoring Use BFD multi hop session Use source for BFD session Use IPv4 source for BFD session BFD profile. BFD profile name. ipv6_route_address_interface_cmd[no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] $flag [{ tag (1-4294967295) |(1-255)$distance |label WORD |table (1-4294967295) }]Negate a command or set its defaults IPv6 information Establish static routes IPv6 destination prefix (e.g. 3ffe:506::/32) IPv6 source-dest route IPv6 source prefix Emit an ICMP unreachable when matched Silently discard pkts when matched Set tag for this route Tag value Distance value for this prefix Specify label(s) for this route One or more labels in the range (16-1048575) separated by '/' Table to configure The table number to configure [no] ipv6 route X:X::X:X/M$prefix [from X:X::X:X/M] $flag [{ tag (1-4294967295) |(1-255)$distance |vrf NAME |label WORD |table (1-4294967295) }]Negate a command or set its defaults IPv6 information Establish static routes IPv6 destination prefix (e.g. 3ffe:506::/32) IPv6 source-dest route IPv6 source prefix Emit an ICMP unreachable when matched Silently discard pkts when matched Set tag for this route Tag value Distance value for this prefix Specify the VRF The VRF name Specify label(s) for this route One or more labels in the range (16-1048575) separated by '/' Table to configure The table number to configure [no] ip route $ifname> [{ tag (1-4294967295) |(1-255)$distance |label WORD |table (1-4294967295) |nexthop-vrf NAME |color (1-4294967295) |bfd$bfd [{multi-hop$bfd_multi_hop|source A.B.C.D$bfd_source|profile BFDPROF$bfd_profile}] }]Negate a command or set its defaults IP information Establish static routes IP destination prefix (e.g. 10.0.0.0/8) IP destination prefix IP destination prefix mask IP gateway address IP gateway interface name Null interface Set tag for this route Tag value Distance value for this route Specify label(s) for this route One or more labels in the range (16-1048575) separated by '/' Table to configure The table number to configure Specify the VRF The VRF name SR-TE color The SR-TE color to configure BFD monitoring Use BFD multi hop session Use source for BFD session Use IPv4 source for BFD session BFD profile. BFD profile name. [no] ip route $ifname> [{ tag (1-4294967295) |(1-255)$distance |vrf NAME |label WORD |table (1-4294967295) |nexthop-vrf NAME |color (1-4294967295) |bfd$bfd [{multi-hop$bfd_multi_hop|source A.B.C.D$bfd_source|profile BFDPROF$bfd_profile}] }]Negate a command or set its defaults IP information Establish static routes IP destination prefix (e.g. 10.0.0.0/8) IP destination prefix IP destination prefix mask IP gateway address IP gateway interface name Null interface Set tag for this route Tag value Distance value for this route Specify the VRF The VRF name Specify label(s) for this route One or more labels in the range (16-1048575) separated by '/' Table to configure The table number to configure Specify the VRF The VRF name SR-TE color The SR-TE color to configure BFD monitoring Use BFD multi hop session Use source for BFD session Use IPv4 source for BFD session BFD profile. BFD profile name. [no] ip route A.B.C.D$gate $ifname [{ tag (1-4294967295) |(1-255)$distance |label WORD |table (1-4294967295) |nexthop-vrf NAME |onlink$onlink |color (1-4294967295) |bfd$bfd [{multi-hop$bfd_multi_hop|source A.B.C.D$bfd_source|profile BFDPROF$bfd_profile}] }]Negate a command or set its defaults IP information Establish static routes IP destination prefix (e.g. 10.0.0.0/8) IP destination prefix IP destination prefix mask IP gateway address IP gateway interface name Null interface Set tag for this route Tag value Distance value for this route Specify label(s) for this route One or more labels in the range (16-1048575) separated by '/' Table to configure The table number to configure Specify the VRF The VRF name Treat the nexthop as directly attached to the interface SR-TE color The SR-TE color to configure BFD monitoring Use BFD multi hop session Use source for BFD session Use IPv4 source for BFD session BFD profile. BFD profile name. ip_route_address_interface_vrf_cmdip_route_address_interface_vrf[no] ip route A.B.C.D$gate $ifname [{ tag (1-4294967295) |(1-255)$distance |vrf NAME |label WORD |table (1-4294967295) |nexthop-vrf NAME |onlink$onlink |color (1-4294967295) |bfd$bfd [{multi-hop$bfd_multi_hop|source A.B.C.D$bfd_source|profile BFDPROF$bfd_profile}] }]Negate a command or set its defaults IP information Establish static routes IP destination prefix (e.g. 10.0.0.0/8) IP destination prefix IP destination prefix mask IP gateway address IP gateway interface name Null interface Set tag for this route Tag value Distance value for this route Specify the VRF The VRF name Specify label(s) for this route One or more labels in the range (16-1048575) separated by '/' Table to configure The table number to configure Specify the VRF The VRF name Treat the nexthop as directly attached to the interface SR-TE color The SR-TE color to configure BFD monitoring Use BFD multi hop session Use source for BFD session Use IPv4 source for BFD session BFD profile. BFD profile name. ip_route_address_interface_cmd[no] ip route $flag [{ tag (1-4294967295) |(1-255)$distance |label WORD |table (1-4294967295) }]Negate a command or set its defaults IP information Establish static routes IP destination prefix (e.g. 10.0.0.0/8) IP destination prefix IP destination prefix mask Emit an ICMP unreachable when matched Silently discard pkts when matched Set tag for this route Tag value Distance value for this route Specify label(s) for this route One or more labels in the range (16-1048575) separated by '/' Table to configure The table number to configure [no] ip route $flag [{ tag (1-4294967295) |(1-255)$distance |vrf NAME |label WORD |table (1-4294967295) }]Negate a command or set its defaults IP information Establish static routes IP destination prefix (e.g. 10.0.0.0/8) IP destination prefix IP destination prefix mask Emit an ICMP unreachable when matched Silently discard pkts when matched Set tag for this route Tag value Distance value for this route Specify the VRF The VRF name Specify label(s) for this route One or more labels in the range (16-1048575) separated by '/' Table to configure The table number to configure [no] ip mroute A.B.C.D/M$prefix [{(1-255)$distance|bfd$bfd [{multi-hop$bfd_multi_hop|source A.B.C.D$bfd_source|profile BFDPROF$bfd_profile}]}]Negate a command or set its defaults IP information Configure static unicast route into MRIB for multicast RPF lookup IP destination prefix (e.g. 10.0.0.0/8) Nexthop address Nexthop interface name Distance BFD monitoring Use BFD multi hop session Use source for BFD session Use IPv4 source for BFD session BFD profile. BFD profile name. @3L4t33t33static_vty_initipv6_route_blackhole_vrf_magicip_route_blackhole_vrf_magicstatic_route_nb_run/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/path-list/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/path-list/tag/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/path-list/frr-nexthops/nexthop/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/path-list/frr-nexthops/nexthop/bh-type/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/path-list/frr-nexthops/nexthop/onlink/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/path-list/frr-nexthops/nexthop/srte-color/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/path-list/frr-nexthops/nexthop/mpls-label-stack/entry/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/path-list/frr-nexthops/nexthop/mpls-label-stack/entry/label/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/path-list/frr-nexthops/nexthop/mpls-label-stack/entry/ttl/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/path-list/frr-nexthops/nexthop/mpls-label-stack/entry/traffic-class/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/path-list/frr-nexthops/nexthop/bfd-monitoring/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/path-list/frr-nexthops/nexthop/bfd-monitoring/source/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/path-list/frr-nexthops/nexthop/bfd-monitoring/multi-hop/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/path-list/frr-nexthops/nexthop/bfd-monitoring/profile/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/src-list/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/src-list/path-list/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/src-list/path-list/tag/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/src-list/path-list/frr-nexthops/nexthop/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/src-list/path-list/frr-nexthops/nexthop/bh-type/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/src-list/path-list/frr-nexthops/nexthop/onlink/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/src-list/path-list/frr-nexthops/nexthop/srte-color/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/src-list/path-list/frr-nexthops/nexthop/mpls-label-stack/entry/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/src-list/path-list/frr-nexthops/nexthop/mpls-label-stack/entry/label/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/src-list/path-list/frr-nexthops/nexthop/mpls-label-stack/entry/ttl/frr-routing:routing/control-plane-protocols/control-plane-protocol/frr-staticd:staticd/route-list/src-list/path-list/frr-nexthops/nexthop/mpls-label-stack/entry/traffic-class./frr-nexthops/nexthopcontrol-plane-protocol../nh-type./mpls-label-stackroute node %s creation failedstaticd/static_nb_config.c%s: Nexthop interface name can not be from reserved keywords(Null0, reject, blackhole)Route cannot have blackhole and non-blackhole nexthops simultaneouslyRoute cannot have more than %d ECMP nexthopsWarning!! Local connected address is configured as Gateway IP((%s))%% table param only available when running on netns-based vrfsnexthop type is not the blackhole typenexthop type is not the ipv4 or ipv6 interface type%% MPLS not turned on in kernel ignoring static routelibyang returns invalid label positionToo many labels, Enter %d or fewerstatic routing supports only one instance with name staticdStatic Route to %s not installed currently because dependent config not fully availableyang_dnode_get_string(args->dnode, "./gateway")yang_dnode_get_string(args->dnode, "./prefix")static_nexthop_mpls_label_modifynexthop_mpls_label_stack_entry_destroynexthop_mpls_label_stack_entry_createstatic_nexthop_createrouting_control_plane_protocols_control_plane_protocol_staticd_route_list_createuninstalled %pRN peer %pI4 peer %pI6 peer unknown (status: %s) %pFX../onlink%s: invalid next hop typeipv4-unicastipv4-multicastipv6-unicast Next hops: VRF %s IPv4 Unicast: VRF %s IPv4 Multicast: VRF %s IPv6 Unicast: staticd/static_bfd.c__func__%s: next hop is down, remove it from RIB%s: next hop is up, add it to RIBShowing BFD monitored static routes: static_next_hop_type_to_familystatic_next_hop_bfd_changeroute_unlock_node./lib/table.hnode->lock > 0Static Route to %pFX not installed currently because dependent config not fully availableStatic Route using %s interface not installed because the interface does not exist in specified vrfStatic Route %pFX not installed for %s vrf %s is unknown&rn->p, nexthop_str, nh->nh_vrfnameip4ip4-ifindexip6ip6-ifindexifindex : %sip4 : %pI4ip4-ifindex : %pI4 : %sblackhole : %dip6 : %pI6ip6-ifindex : %pI6 : %sstaticd/static_routes.c&rn->pstableStatic NexthopStatic PathStatic Route InfoV@VPV`VpVV0VWVW,WLWdWVstatic_install_nexthopstatic_add_nexthoproute_unlock_nodestatic_add_route;s|( L |܅( P<Ll| ̇ <|<8Th<$,8$l@TlAALBd|EEG,HHL,ItlK,LLN0,Q`LST\UUVVWD\XzRx 8/D$4nFJ w?:*3$"\v tЃAC  A l=ES  3ES O $EF BF A $<,T@AC BGJL E a  AC  A $@EE M $D@EF BD H lEI H  PEE @ A ԇEE H ԇEH H ԇ+EC Aa -$EE H ,DEC i B tp~2{&,HEH FELm G (ؐEC eK H |E_  A ((0EC DH E H,\8t@FEJ Au (pEC HLy EC H *EC A` ( EH FHK ,|2@dz&T+h̘*EC W A ܘ6E_ M  ,x AC \m C 0HkAC BELED H EF Ez F D:EE An ,d EG Pw E ,\EC P G ,EC Pn J ,% EC PW A ,$EC P K ,T@+EC P K ,@EC P_ I ,LEG P J ,EG P H ,- EG Pl H ,DEG P B ,t` EG P F ,PEG Pw E ${EC BDH J ,HEC M G (, XEE BGg F S (X UEE BGg F P ( @ XEC BEEKt ( t wEC BEETJ ( EC DLHN B ( L EC DD H (4 EJ BHE` A ,` EE BEOj F v  6EJ "  AC  A  3EE Ag , pAC DL F $( AC Es D $P ~AC Cz G $x <AC Ec D $ AC CJ G  L!EN F  \( XEJ AQ G T $( rEL As K a (P DEC G D | )QG P    )QG P  NQJ Co  EC F  )QG P 4 0 H , $\ (jQJ EI  pCQN c   , EC DHS I S E ( QJ G\ B (<Pdx|AQJ Ad 0QN P $|EC Gn C 0QN P  $LQJ Cm  $PLQJ Cm H|2QN R (hEG KB G @ < 8 4 0EC F 0 , ,( @$ T  h |    AC  A ,0AC I J (`4EC AY F c E AC  A ,DAC M A ,EC FM G T *EC A` 00d EC EY J A O J $d!GEC Aj M F $(!OEC Au J F $P!?EC Ae J F h! 0d!QEC HH J , ,$#AC DMr I ,T $EC FQ G ,%nEC BLEJ" I 4'EC BEED L H H ' 'AC  A $@n$8k&LHn2`k&t`n2k&xn2k&,'/EC MP A ,*EC BEIH H R ($0+AC BIOy $P,EG Eb E 0x -|EC BD~ D Y G K $X-~EC BEIe ,-9EC BEEJq A $/EC E G (,X0EC DEE F 4X0EC DLG A Q O ,d2EJ M H ,4EJ Mj J (6EJ HHs  (8cEM BDF @t8T8)h 9$|9EC Eh K D:eFEE E(H0H8G@n8A0A(B BBB:p ` P``0@F"@p"Gr&szr\p"Nr-sdr\rrrrS@`y"`p y"`0 x"`  z"ڶ\y"\> д"|"ص+{"5@{"w5z"_`Dz"[0OTlDЪUpV"Up`V"UpV"UpU"Up@U"UpT"UpT"Up T"UpS"Up`S"UpS"UpR"Up@R"Up Q"UpQ"UpQ"UpQ"Uj#UjUvUvUUzU0PU0ʺU0h.UX&sU1`@5UO(U(p UZ(pwoUp EUƻPxPۻUP Up`(UPp(0QU(@*UEH\Us(U@}"1)\}" )\~"`)\`~"p&x~"d& "Xl%"9`%"20%@"np("["H ["110 @A4B Bp6PBBB>>03P2BC(CCCCXD0E@EPE`EpE@EEFFpF GPG G`H5 pHHp6 H HH>>032 H@ H HIp I I0I@IPI`IhpIIF R _    v% HrE"PF"8oX" % pk" ЀJ06 oo@Joo Ho0i" 0@P`pЎ 0@P`pЏ 0@P`pА 0@P`pБ 0@P`pВ 0@P`pГ 0@P`pД 0@P`pЕ 0@P`P""zrdrG" Фrq"8 ru"v"Z"@"rrr4s=s\\`s\\px"`x"Px"гܳ0pڶ0`صq|\)))p&d&l0` F"F"`F"H" I"`I"I"I" J"H" H"`H"`G"G"G" G" O"N"N"`N" N"M"M"`M" M"L"L"`L" L"K"K"`K" K"HQ"Q"R"hR"R"(S"S"`O"S"HT"T"U"hU"U"O"(V"V"V"O" P"`P"P"P" X" W"`W"W"W"`X"X"X" Y"`Y"Y"Y"`Z" Z"GA$3a1 GA$3p1113ErGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONSGA*cf_protectionGA+stack_clashGA!stack_realignGA*P[ GA*GOW*GA!omit_frame_pointerGA$3a1Ur GA$3p1113 qGA*GA$annobin gcc 8.5.0 20210514GA$plugin name: gcc-annobinGA$running gcc 8.5.0 20210514GA*GA*GA! GA*FORTIFYGA+GLIBCXX_ASSERTIONS GA*GOW*GA*cf_protectionGA!omit_frame_pointerGA+stack_clashGA!stack_realignGA*qEr GA*GOW*GA+omit_frame_pointer GA*GOW*Ң GA*FORTIFYУEJGA+GLIBCXX_ASSERTIONS GA*FORTIFY ErGA+GLIBCXX_ASSERTIONSGA*Ңstaticd-8.5.7-02.el8.x86_64.debug7zXZִF!t/]?Eh=ڊ2Nwpi1\7s0ZƷO:Uyt$>y3ᭊȿ.|P. Dž4hCKK5s+S(6m^e gԿT5t".EƋ*J#i/ UJpif1=ܦE+7gs f ۻÎ c!%$dlc"iu:5N4mo聩Yȣ/ThFvI;}}k+H#L/<8*7ڏPr1T61;ʎad~"F*@KIu#4xc&k* LoX{<7 k6nJ!Vec7ʙRHqO׮V]S{KP!?ms!m pׂ2Bj΂ȇ]@hp ZU@rsSos,2z  yNR+ bP~R>H uqT>6qW+4[;S'4uۅX`/ 00$QoXX[ pc""%ko H H4xo@J@J`JJ06BЀЀ ЍЍppEHrHr `r`r E"EPF"F8@F"@F" i"i`pk"pk p"pP P"P0"8@bL5̉(D8,S