C# 6 の新機能でシンプルに文字列を埋め込む
C# 6 で追加された新機能 は川俣晶さんの著作「C# 6 実践的プログラミング[入門]講座」によくまとまっています。
新機能のひとつに『直接、文字列を埋め込めるようになった』というものがあります。この新機能を使うと string.Format や「+ による文字列の連結」を多用することなく、シンプルに記述することが出来るようになります。
C# 6 で追加された新機能 は川俣晶さんの著作「C# 6 実践的プログラミング[入門]講座」によくまとまっています。
新機能のひとつに『直接、文字列を埋め込めるようになった』というものがあります。この新機能を使うと string.Format や「+ による文字列の連結」を多用することなく、シンプルに記述することが出来るようになります。
Cisco ACI 標準の Web 管理画面では Bridge Domain ごとに設定した Subnet 情報を一覧で見ることが出来ません。同一 Tenant 内であれば下図のように Bridge Domain 配下の Subnet をひとつひとつ展開し、アドレスを表示させる… ということも不可能ではありません。
ただし Bridge Domain の数が多くなれば「ひとつひとつ展開する」のは現実的ではありません。また、そもそも複数 Tenant の Bridge Domain / Subnet 情報を一度に表示させることは出来ません。そこで acitoolkit を使って「全 Tenant の Subnet 情報を一覧表示するスクリプト」を書いてみました。今回のスクリプトには以下のような特徴があります。
MikroTik の CCR1009 に BGP のフルルートを持たせるテストを実施してみました。対向側は GoBGP を使いました。残念ながら、結果は以下の通りです。
CCR 側が悪いのか、GoBGP 側が悪いのか、切り分けはこれからです。
VRF を設定している環境で show コマンド実行する場合、都度、VRF を指定するのは煩わしいものです。IOS や IOS-XE には実装されていないようなのですが、ASR9000 で使われている IOS-XR では「明示的に指定しなかった場合の VRF」を set default-vrf で指定しておくことが出来ます。今回はこのコマンドの動作を確認します。尚、set default-vrf は 1 セッションでのみ、有効です。例えば SSH セッションを切断して再ログインしなおすと初期状態(= set default-vrf の指定が無い状態)に戻ります。
プロセスを停止したい場合、プロセス ID を指定して kill を実行します。しかし、pkill を使えばプロセス名だけでプロセスを停止することが出来ます。今回は Ubuntu 14.04.3 環境で pkill を試します。
sudo の実行結果をリダイレクトしようとするとエラーになります。
1 2 |
|
このような場合は sudo sh -c の引数として一連のコマンドを実行します。
1 |
|
参考までに、「-c」オプションは man によると以下のように書かれています。
-c Read commands from the command_string operand instead of from the standard input. Special parameter 0 will be set from the command_name operand and the positional parameters ($1, $2, etc.) set from the remaining argument operands.
CoreLinux 環境で Open vSwitch(以下、OvS)を使えるようにビルドしてみました。手間を考慮し、スクリプト化してあります。
Tiny Core Linux はフットプリントが非常に小さい Linux ディストリビューションで、Cisco VIRL のような仮想化された検証環境内で複数インスタンスを立ち上げても軽快に動作する、という特徴があります。用途に応じて幾つかの種類があります。参考として記載したサイズは 6.3 用 ISO イメージのサイズです。
追加パッケージも数多く提供されているので Core をベースにパッケージを追加し、カスタマイズしていくのも簡単です。今回は Core を VIRL に登録してみます。
Juniper vMX を使うと x86 上で JUNOS を動作させることが出来ます。vSRX も JUNOS の学習に使えますが、KVM / QEMU 上で使うとなぜか commit 出来ません… Cisco VIRL に vMX を登録するとひとつの環境で Cisco や Juniper、その他の OS との相互接続を検証することが出来、非常に便利です。vMX を VIRL に登録するのは簡単ですのでポイントだけ記載しておきます。
OpenWrt はフットプリントが小さく、VIRL 上での検証時に便利です。今回は OpenWrt に Open vSwitch (以下、OvS)と Ryu を追加し、VIRL に登録します。但し、現状では Ryu は起動するものの、Open vSwitch は Segmentation Fault を起こして利用出来ませんでした。