2016-11-17 2 views
0

Linuxカーネルは、新しいネット名前空間ソリューションとは異なる新しいvrf(仮想ルーティングと転送)アーキテクチャをサポートするようになりました。どのように多くのvrfがLinuxカーネルをサポートし、どのシステムリソースがvrf番号を制限していますか?

質問:

  1. どのように多くのVRFは、Linuxカーネルをサポートしていますか?
  2. どのシステムリソースがvrfの容量を制限していますか?

私はカーネルのソースコードの初心者です。上の2つの質問に関する情報は見つかりません。

私は、4096 vrfを追加し、vrfデバイスをopenswitch x86ドッカーコンテナにセットするスクリプトを書いたが、すべて正常に機能する。

スクリプト:

def main(): 
    for i in range(0, 4096): 
     cmd("ip link add vrf%d type vrf table %d"%(i,i)) 
     sleep(50) 
     cmd("ip link set dev vrf%d up"%i) 
     sleep(50) 
main() 

ログ:

[email protected]:~# ip link add vrf0 type vrf table 0 
[email protected]:~# ip link set dev vrf0 up 
... 
[email protected]:~# ip link add vrf4095 type vrf table 4095 
[email protected]:~# ip link set dev vrf4095 up 
[email protected]:~# ip -d link show type vrf vrf4095 
4098: vrf4095: <NOARP,MASTER,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000 
    link/ether 22:78:87:9d:ca:81 brd ff:ff:ff:ff:ff:ff promiscuity 0 
    vrf table 4095 addrgenmode eui64 
[email protected]:~# ip -d link show type vrf | grep "NOARP,MASTER" | wc 
4097 61455 485311 
[email protected]:~# uname -a 
Linux switch 4.4.0-45-generiC#66-Ubuntu SMP Wed Oct 19 14:12:37 UTC 2016 x86_64 GNU/Linux 

マイ参照:

  1. Documentation/networking/vrf.txt
  2. ​​

答えて

0

作成できるVRFの数に制限はなく、メモリサイズ(作成する各VRF netdevごとにメモリを割り当てる)とifindexタイプの制限(intです。通常は32ビットです)、非常に高いです。

関連する問題