IOS XRvでEmacsを使う

cisco
Published: 2014-05-31

 IOS XRでは、Routing Policy Language(RPL)というルーティングポリシーを定義する言語が実装されています。IOSでいう、prefix-listとas-path-list、community-list、route-mapあたりをひっくるめてRPLと呼んでいるイメージです。

 RPLを編集する方法として、従来通りのコンフィグレーションモードだけでなく、テキストエディタが導入されています。

 prefix-set ALL-DENY が設定されています。

RP/0/0/CPU0:aimless-XRv#show running-config prefix-set ALL-DENY 
Sat May 31 13:26:01.932 UTC
prefix-set ALL-DENY
  192.168.5.0/24,
  192.168.3.0/24,
  192.168.1.0/24,
  192.168.2.0/24
end-set
!

 editコマンドで設定項目を編集できます。

RP/0/0/CPU0:aimless-XRv#
RP/0/0/CPU0:aimless-XRv#edit ?
  as-path-set       edit an as-path-set
  community-set     edit a community-set
  extcommunity-set  edit an extended-community-set
  policy-global     edit policy-global definitions
  prefix-set        edit a prefix-set
  rd-set            edit a rd-set
  route-policy      edit a route-policy
  tag-set           edit a tag-set

 複数のテキストエディタを選択できます。今回はEmacsにします。私の環境ではnanoとvimが正常に動作しませんでした。inlineはまた次回。

RP/0/0/CPU0:aimless-XRv#edit prefix-set ALL-DEN ?               
  emacs   to use Emacs editor
  inline  to use command line
  nano    to use nano editor
  vim     to use Vim editor
  <cr>    

 ちゃんとEmacsが起動します。私はvim派なので使いませんけど。

RP/0/0/CPU0:aimless-XRv#edit prefix-set ALL-DENY emacs 

F10 key ==> File   Edit   Search   Buffers   Windows   Help                                        
prefix-set A+------------------------+
  192.168.5.| Open               ^X^F|
  192.168.3.| Close                  |
  192.168.1.| Save               ^X^S|
  192.168.2.| Save As            ^X^W|
end-set     | Save Buffers       ^XS |
!           | Insert File        ^XI |
            | ---------------------- |
            | Cancel Operation   ^G  |
            | Exit               ^X^C|
            +------------------------+


-------+(Jed 0.99.18) Emacs: rpl_edit.7352589    (Text)  1/8   1:23pm------------------------------