network-utility 1.1.49 → 1.1.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/document/bgp-CR16010H-F.md +12 -8
- data/document/bgp-CR16018-F.md +12 -8
- data/document/bgp-CR19000-20.md +12 -8
- data/document/bgp-M6000-16E.md +8 -8
- data/document/bgp-M6000-18S.md +8 -8
- data/document/bgp-M6000-8.md +8 -8
- data/document/bgp-M6000-8E.md +8 -8
- data/document/bgp-MA5200G-8.md +12 -8
- data/document/bgp-ME60-16.md +12 -8
- data/document/bgp-ME60-X16.md +12 -8
- data/document/bgp-NE40E-X16.md +12 -8
- data/document/bgp-NE40E-X16A.md +12 -8
- data/document/bgp-NE40E-X8.md +12 -8
- data/document/bgp-NE40E.md +12 -8
- data/document/bgp-NE5000E-20.md +12 -8
- data/document/bgp-NE5000E-X16.md +12 -8
- data/document/bgp-NE5000E-X16A.md +12 -8
- data/document/bgp-NE80E.md +12 -8
- data/document/bgp-T8000-18.md +24 -0
- data/document/config.md +45 -44
- data/document/if-ALCATEL7750.md +174 -12
- data/document/if-CRS-16.md +54 -2
- data/document/if-Nokia7750.md +174 -12
- data/document/isis-NE5000E-20.md +141 -0
- data/document/isis-NE5000E-X16.md +141 -0
- data/document/isis-NE5000E-X16A.md +141 -0
- data/document/pool-ALCATEL7750.md +20 -0
- data/document/pool-CR16010H-F.md +108 -0
- data/document/pool-CR16018-F.md +108 -0
- data/document/pool-Nokia7750.md +20 -0
- data/document/pool-V6000.md +126 -0
- data/document/pool-VNE9000.md +63 -0
- data/document/static-ALCATEL7750.md +32 -0
- data/document/static-CR16010H-F.md +2 -2
- data/document/static-CR16018-F.md +2 -2
- data/document/static-CRS-16.md +40 -0
- data/document/static-Nokia7750.md +32 -0
- data/document/static-V6000.md +34 -0
- data/document/static-VNE9000.md +28 -0
- data/network.rb +1 -1
- data/utility/ipv4_address.rb +16 -0
- metadata +16 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ffbfd5f7583f8cd4803f3b16b7050a092e04e098fad10bc86e35a74e044e11b2
|
|
4
|
+
data.tar.gz: dd9c4d153ca4b7c48319e6f63d292e63ea76ebf84de6852d56bb753fd83e6d3a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ac53ddc98af79f3380eb24fac3af97e833c4db7635f234abf53ddd1174101f1066bb2434b943f8fa97174682cce66ea716c57ec582140022f14613ef2c0173cc
|
|
7
|
+
data.tar.gz: 6965acd893ee53ea1cdf4b245f53302d6c8700197ab216f3316fb14881b8ee1f99d2cbc723a0f0ce5d14209a3bac9c675bdd6a71b8a4fa1b679a52ec6f337c2f
|
data/document/bgp-CR16010H-F.md
CHANGED
|
@@ -9,15 +9,19 @@ module CR16010H_F
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp'].
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
配置散列['bgp'].each do|segment|
|
|
13
|
+
bgps = segment.match_paragraph("\n address-family ipv4 unicast", "\n #")
|
|
14
|
+
bgps.each do|bgp|
|
|
15
|
+
bgp.split("\n").each do|line|
|
|
16
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
17
|
+
words = line.split(' ')
|
|
18
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
19
|
+
network = address.network_with netmask
|
|
20
|
+
route_policy = words.index('route-policy') ? words[words.index('route-policy')+1] : ''
|
|
21
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_policy ]
|
|
22
|
+
end
|
|
23
|
+
end
|
|
19
24
|
end
|
|
20
|
-
# puts [hostname]+line.split(' ') if line.include?('network ') && line.split(' ').size == 2
|
|
21
25
|
end
|
|
22
26
|
return ranges
|
|
23
27
|
end
|
data/document/bgp-CR16018-F.md
CHANGED
|
@@ -9,15 +9,19 @@ module CR16018_F
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp'].
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
配置散列['bgp'].each do|segment|
|
|
13
|
+
bgps = segment.match_paragraph("\n address-family ipv4 unicast", "\n #")
|
|
14
|
+
bgps.each do|bgp|
|
|
15
|
+
bgp.split("\n").each do|line|
|
|
16
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
17
|
+
words = line.split(' ')
|
|
18
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
19
|
+
network = address.network_with netmask
|
|
20
|
+
route_policy = words.index('route-policy') ? words[words.index('route-policy')+1] : ''
|
|
21
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_policy ]
|
|
22
|
+
end
|
|
23
|
+
end
|
|
19
24
|
end
|
|
20
|
-
# puts [hostname]+line.split(' ') if line.include?('network ') && line.split(' ').size == 2
|
|
21
25
|
end
|
|
22
26
|
return ranges
|
|
23
27
|
end
|
data/document/bgp-CR19000-20.md
CHANGED
|
@@ -9,15 +9,19 @@ module CR19000_20
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp'].
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
配置散列['bgp'].each do|segment|
|
|
13
|
+
bgps = segment.match_paragraph("\n address-family ipv4 unicast", "\n #")
|
|
14
|
+
bgps.each do|bgp|
|
|
15
|
+
bgp.split("\n").each do|line|
|
|
16
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
17
|
+
words = line.split(' ')
|
|
18
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
19
|
+
network = address.network_with netmask
|
|
20
|
+
route_policy = words.index('route-policy') ? words[words.index('route-policy')+1] : ''
|
|
21
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_policy ]
|
|
22
|
+
end
|
|
23
|
+
end
|
|
19
24
|
end
|
|
20
|
-
# puts [hostname]+line.split(' ') if line.include?('network ') && line.split(' ').size == 2
|
|
21
25
|
end
|
|
22
26
|
return ranges
|
|
23
27
|
end
|
data/document/bgp-M6000-16E.md
CHANGED
|
@@ -9,14 +9,14 @@ module M6000_16E
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp']
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
network =
|
|
18
|
-
|
|
19
|
-
ranges << [ 'bgp', network.to_s,
|
|
12
|
+
segment = 配置散列['bgp']
|
|
13
|
+
segment.split("\n").each do|line|
|
|
14
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
15
|
+
words = line.split(' ')
|
|
16
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
17
|
+
network = address.network_with netmask
|
|
18
|
+
route_map = words.index('route-map') ? words[words.index('route-map')+1] : ''
|
|
19
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_map ]
|
|
20
20
|
end
|
|
21
21
|
end
|
|
22
22
|
return ranges
|
data/document/bgp-M6000-18S.md
CHANGED
|
@@ -9,14 +9,14 @@ module M6000_18S
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp']
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
network =
|
|
18
|
-
|
|
19
|
-
ranges << [ 'bgp', network.to_s,
|
|
12
|
+
segment = 配置散列['bgp']
|
|
13
|
+
segment.split("\n").each do|line|
|
|
14
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
15
|
+
words = line.split(' ')
|
|
16
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
17
|
+
network = address.network_with netmask
|
|
18
|
+
route_map = words.index('route-map') ? words[words.index('route-map')+1] : ''
|
|
19
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_map ]
|
|
20
20
|
end
|
|
21
21
|
end
|
|
22
22
|
return ranges
|
data/document/bgp-M6000-8.md
CHANGED
|
@@ -9,14 +9,14 @@ module M6000_8
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp']
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
network =
|
|
18
|
-
|
|
19
|
-
ranges << [ 'bgp', network.to_s,
|
|
12
|
+
segment = 配置散列['bgp']
|
|
13
|
+
segment.split("\n").each do|line|
|
|
14
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
15
|
+
words = line.split(' ')
|
|
16
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
17
|
+
network = address.network_with netmask
|
|
18
|
+
route_map = words.index('route-map') ? words[words.index('route-map')+1] : ''
|
|
19
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_map ]
|
|
20
20
|
end
|
|
21
21
|
end
|
|
22
22
|
return ranges
|
data/document/bgp-M6000-8E.md
CHANGED
|
@@ -9,14 +9,14 @@ module M6000_8E
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp']
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
network =
|
|
18
|
-
|
|
19
|
-
ranges << [ 'bgp', network.to_s,
|
|
12
|
+
segment = 配置散列['bgp']
|
|
13
|
+
segment.split("\n").each do|line|
|
|
14
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
15
|
+
words = line.split(' ')
|
|
16
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
17
|
+
network = address.network_with netmask
|
|
18
|
+
route_map = words.index('route-map') ? words[words.index('route-map')+1] : ''
|
|
19
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_map ]
|
|
20
20
|
end
|
|
21
21
|
end
|
|
22
22
|
return ranges
|
data/document/bgp-MA5200G-8.md
CHANGED
|
@@ -9,15 +9,19 @@ module MA5200G_8
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp'].
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
配置散列['bgp'].each do|segment|
|
|
13
|
+
bgps = segment.match_paragraph("\n ipv4-family unicast", "\n #")
|
|
14
|
+
bgps.each do|bgp|
|
|
15
|
+
bgp.split("\n").each do|line|
|
|
16
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
17
|
+
words = line.split(' ')
|
|
18
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
19
|
+
network = address.network_with netmask
|
|
20
|
+
route_policy = words.index('route-policy') ? words[words.index('route-policy')+1] : ''
|
|
21
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_policy ]
|
|
22
|
+
end
|
|
23
|
+
end
|
|
19
24
|
end
|
|
20
|
-
# puts [hostname]+line.split(' ') if line.include?('network ') && line.split(' ').size == 2
|
|
21
25
|
end
|
|
22
26
|
return ranges
|
|
23
27
|
end
|
data/document/bgp-ME60-16.md
CHANGED
|
@@ -9,15 +9,19 @@ module ME60_16
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp'].
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
配置散列['bgp'].each do|segment|
|
|
13
|
+
bgps = segment.match_paragraph("\n ipv4-family unicast", "\n #")
|
|
14
|
+
bgps.each do|bgp|
|
|
15
|
+
bgp.split("\n").each do|line|
|
|
16
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
17
|
+
words = line.split(' ')
|
|
18
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
19
|
+
network = address.network_with netmask
|
|
20
|
+
route_policy = words.index('route-policy') ? words[words.index('route-policy')+1] : ''
|
|
21
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_policy ]
|
|
22
|
+
end
|
|
23
|
+
end
|
|
19
24
|
end
|
|
20
|
-
# puts [hostname]+line.split(' ') if line.include?('network ') && line.split(' ').size == 2
|
|
21
25
|
end
|
|
22
26
|
return ranges
|
|
23
27
|
end
|
data/document/bgp-ME60-X16.md
CHANGED
|
@@ -9,15 +9,19 @@ module ME60_X16
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp'].
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
配置散列['bgp'].each do|segment|
|
|
13
|
+
bgps = segment.match_paragraph("\n ipv4-family unicast", "\n #")
|
|
14
|
+
bgps.each do|bgp|
|
|
15
|
+
bgp.split("\n").each do|line|
|
|
16
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
17
|
+
words = line.split(' ')
|
|
18
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
19
|
+
network = address.network_with netmask
|
|
20
|
+
route_policy = words.index('route-policy') ? words[words.index('route-policy')+1] : ''
|
|
21
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_policy ]
|
|
22
|
+
end
|
|
23
|
+
end
|
|
19
24
|
end
|
|
20
|
-
# puts [hostname]+line.split(' ') if line.include?('network ') && line.split(' ').size == 2
|
|
21
25
|
end
|
|
22
26
|
return ranges
|
|
23
27
|
end
|
data/document/bgp-NE40E-X16.md
CHANGED
|
@@ -9,15 +9,19 @@ module NE40E_X16
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp'].
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
配置散列['bgp'].each do|segment|
|
|
13
|
+
bgps = segment.match_paragraph("\n ipv4-family unicast", "\n #")
|
|
14
|
+
bgps.each do|bgp|
|
|
15
|
+
bgp.split("\n").each do|line|
|
|
16
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
17
|
+
words = line.split(' ')
|
|
18
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
19
|
+
network = address.network_with netmask
|
|
20
|
+
route_policy = words.index('route-policy') ? words[words.index('route-policy')+1] : ''
|
|
21
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_policy ]
|
|
22
|
+
end
|
|
23
|
+
end
|
|
19
24
|
end
|
|
20
|
-
# puts [hostname]+line.split(' ') if line.include?('network ') && line.split(' ').size == 2
|
|
21
25
|
end
|
|
22
26
|
return ranges
|
|
23
27
|
end
|
data/document/bgp-NE40E-X16A.md
CHANGED
|
@@ -9,15 +9,19 @@ module NE40E_X16A
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp'].
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
配置散列['bgp'].each do|segment|
|
|
13
|
+
bgps = segment.match_paragraph("\n ipv4-family unicast", "\n #")
|
|
14
|
+
bgps.each do|bgp|
|
|
15
|
+
bgp.split("\n").each do|line|
|
|
16
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
17
|
+
words = line.split(' ')
|
|
18
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
19
|
+
network = address.network_with netmask
|
|
20
|
+
route_policy = words.index('route-policy') ? words[words.index('route-policy')+1] : ''
|
|
21
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_policy ]
|
|
22
|
+
end
|
|
23
|
+
end
|
|
19
24
|
end
|
|
20
|
-
# puts [hostname]+line.split(' ') if line.include?('network ') && line.split(' ').size == 2
|
|
21
25
|
end
|
|
22
26
|
return ranges
|
|
23
27
|
end
|
data/document/bgp-NE40E-X8.md
CHANGED
|
@@ -9,15 +9,19 @@ module NE40E_X8
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp'].
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
配置散列['bgp'].each do|segment|
|
|
13
|
+
bgps = segment.match_paragraph("\n ipv4-family unicast", "\n #")
|
|
14
|
+
bgps.each do|bgp|
|
|
15
|
+
bgp.split("\n").each do|line|
|
|
16
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
17
|
+
words = line.split(' ')
|
|
18
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
19
|
+
network = address.network_with netmask
|
|
20
|
+
route_policy = words.index('route-policy') ? words[words.index('route-policy')+1] : ''
|
|
21
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_policy ]
|
|
22
|
+
end
|
|
23
|
+
end
|
|
19
24
|
end
|
|
20
|
-
# puts [hostname]+line.split(' ') if line.include?('network ') && line.split(' ').size == 2
|
|
21
25
|
end
|
|
22
26
|
return ranges
|
|
23
27
|
end
|
data/document/bgp-NE40E.md
CHANGED
|
@@ -9,15 +9,19 @@ module NE40E
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp'].
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
配置散列['bgp'].each do|segment|
|
|
13
|
+
bgps = segment.match_paragraph("\n ipv4-family unicast", "\n #")
|
|
14
|
+
bgps.each do|bgp|
|
|
15
|
+
bgp.split("\n").each do|line|
|
|
16
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
17
|
+
words = line.split(' ')
|
|
18
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
19
|
+
network = address.network_with netmask
|
|
20
|
+
route_policy = words.index('route-policy') ? words[words.index('route-policy')+1] : ''
|
|
21
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_policy ]
|
|
22
|
+
end
|
|
23
|
+
end
|
|
19
24
|
end
|
|
20
|
-
# puts [hostname]+line.split(' ') if line.include?('network ') && line.split(' ').size == 2
|
|
21
25
|
end
|
|
22
26
|
return ranges
|
|
23
27
|
end
|
data/document/bgp-NE5000E-20.md
CHANGED
|
@@ -9,15 +9,19 @@ module NE5000E_20
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp'].
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
配置散列['bgp'].each do|segment|
|
|
13
|
+
bgps = segment.match_paragraph("\n ipv4-family unicast", "\n #")
|
|
14
|
+
bgps.each do|bgp|
|
|
15
|
+
bgp.split("\n").each do|line|
|
|
16
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
17
|
+
words = line.split(' ')
|
|
18
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
19
|
+
network = address.network_with netmask
|
|
20
|
+
route_policy = words.index('route-policy') ? words[words.index('route-policy')+1] : ''
|
|
21
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_policy ]
|
|
22
|
+
end
|
|
23
|
+
end
|
|
19
24
|
end
|
|
20
|
-
# puts [hostname]+line.split(' ') if line.include?('network ') && line.split(' ').size == 2
|
|
21
25
|
end
|
|
22
26
|
return ranges
|
|
23
27
|
end
|
data/document/bgp-NE5000E-X16.md
CHANGED
|
@@ -9,15 +9,19 @@ module NE5000E_X16
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp'].
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
配置散列['bgp'].each do|segment|
|
|
13
|
+
bgps = segment.match_paragraph("\n ipv4-family unicast", "\n #")
|
|
14
|
+
bgps.each do|bgp|
|
|
15
|
+
bgp.split("\n").each do|line|
|
|
16
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
17
|
+
words = line.split(' ')
|
|
18
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
19
|
+
network = address.network_with netmask
|
|
20
|
+
route_policy = words.index('route-policy') ? words[words.index('route-policy')+1] : ''
|
|
21
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_policy ]
|
|
22
|
+
end
|
|
23
|
+
end
|
|
19
24
|
end
|
|
20
|
-
# puts [hostname]+line.split(' ') if line.include?('network ') && line.split(' ').size == 2
|
|
21
25
|
end
|
|
22
26
|
return ranges
|
|
23
27
|
end
|
|
@@ -9,15 +9,19 @@ module NE5000E_X16A
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp'].
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
配置散列['bgp'].each do|segment|
|
|
13
|
+
bgps = segment.match_paragraph("\n ipv4-family unicast", "\n #")
|
|
14
|
+
bgps.each do|bgp|
|
|
15
|
+
bgp.split("\n").each do|line|
|
|
16
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
17
|
+
words = line.split(' ')
|
|
18
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
19
|
+
network = address.network_with netmask
|
|
20
|
+
route_policy = words.index('route-policy') ? words[words.index('route-policy')+1] : ''
|
|
21
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_policy ]
|
|
22
|
+
end
|
|
23
|
+
end
|
|
19
24
|
end
|
|
20
|
-
# puts [hostname]+line.split(' ') if line.include?('network ') && line.split(' ').size == 2
|
|
21
25
|
end
|
|
22
26
|
return ranges
|
|
23
27
|
end
|
data/document/bgp-NE80E.md
CHANGED
|
@@ -9,15 +9,19 @@ module NE80E
|
|
|
9
9
|
|
|
10
10
|
def 宣告网段解析 配置散列
|
|
11
11
|
ranges = []
|
|
12
|
-
配置散列['bgp'].
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
配置散列['bgp'].each do|segment|
|
|
13
|
+
bgps = segment.match_paragraph("\n ipv4-family unicast", "\n #")
|
|
14
|
+
bgps.each do|bgp|
|
|
15
|
+
bgp.split("\n").each do|line|
|
|
16
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
17
|
+
words = line.split(' ')
|
|
18
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
19
|
+
network = address.network_with netmask
|
|
20
|
+
route_policy = words.index('route-policy') ? words[words.index('route-policy')+1] : ''
|
|
21
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_policy ]
|
|
22
|
+
end
|
|
23
|
+
end
|
|
19
24
|
end
|
|
20
|
-
# puts [hostname]+line.split(' ') if line.include?('network ') && line.split(' ').size == 2
|
|
21
25
|
end
|
|
22
26
|
return ranges
|
|
23
27
|
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# T8000-18 BGP
|
|
2
|
+
|
|
3
|
+
```ruby
|
|
4
|
+
@sign << ['T8000-18', '宣告网段解析']
|
|
5
|
+
|
|
6
|
+
module T8000_18
|
|
7
|
+
module_function
|
|
8
|
+
|
|
9
|
+
def 宣告网段解析 配置散列
|
|
10
|
+
ranges = []
|
|
11
|
+
segment = 配置散列['bgp']
|
|
12
|
+
segment.split("\n").each do|line|
|
|
13
|
+
if line.include?('network ') && line.strip.split(' ').size > 2
|
|
14
|
+
words = line.split(' ')
|
|
15
|
+
address, netmask = line.split(' ')[1].include?(':') ? IP.v6("#{words[1]}/#{words[2]}") : IP.v4("#{words[1]}/#{words[2]}")
|
|
16
|
+
network = address.network_with netmask
|
|
17
|
+
route_map = words.index('route-map') ? words[words.index('route-map')+1] : ''
|
|
18
|
+
ranges << [ 'bgp', network.to_s, netmask.to_s, route_map ]
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
return ranges
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
```
|