rbeapi 0.4.0 → 0.5.0
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.
- data/.gitignore +3 -0
- data/CHANGELOG.md +20 -0
- data/Gemfile +1 -1
- data/README.md +11 -11
- data/Rakefile +19 -0
- data/guide/Makefile +177 -0
- data/guide/_static/arista_logo_11-trans-w.png +0 -0
- data/guide/_static/arista_logo_jpg-11.jpg +0 -0
- data/guide/_static/favicon.ico +0 -0
- data/guide/conf.py +279 -0
- data/guide/cookbook.rst +4 -0
- data/guide/developing.rst +4 -0
- data/guide/faq.rst +4 -0
- data/guide/index.rst +23 -0
- data/guide/installation.rst +4 -0
- data/guide/license.rst +5 -0
- data/guide/overview.rst +20 -0
- data/guide/quickstart.rst +4 -0
- data/guide/release-notes-0.5.0.rst +60 -0
- data/guide/release-notes.rst +6 -0
- data/guide/testing.rst +4 -0
- data/guide/troubleshooting.rst +1 -0
- data/lib/rbeapi/api/aaa.rb +54 -18
- data/lib/rbeapi/api/acl.rb +60 -2
- data/lib/rbeapi/api/bgp.rb +81 -0
- data/lib/rbeapi/api/dns.rb +48 -2
- data/lib/rbeapi/api/interfaces.rb +97 -32
- data/lib/rbeapi/api/ipinterfaces.rb +13 -2
- data/lib/rbeapi/api/logging.rb +11 -2
- data/lib/rbeapi/api/mlag.rb +20 -10
- data/lib/rbeapi/api/ntp.rb +4 -3
- data/lib/rbeapi/api/ospf.rb +102 -10
- data/lib/rbeapi/api/prefixlists.rb +47 -4
- data/lib/rbeapi/api/radius.rb +9 -9
- data/lib/rbeapi/api/routemaps.rb +7 -5
- data/lib/rbeapi/api/snmp.rb +13 -4
- data/lib/rbeapi/api/staticroutes.rb +1 -1
- data/lib/rbeapi/api/stp.rb +39 -14
- data/lib/rbeapi/api/switchports.rb +126 -2
- data/lib/rbeapi/api/system.rb +24 -3
- data/lib/rbeapi/api/tacacs.rb +9 -10
- data/lib/rbeapi/api/users.rb +12 -3
- data/lib/rbeapi/api/varp.rb +40 -8
- data/lib/rbeapi/api/vlans.rb +15 -5
- data/lib/rbeapi/client.rb +19 -11
- data/lib/rbeapi/eapilib.rb +8 -0
- data/lib/rbeapi/utils.rb +10 -0
- data/lib/rbeapi/version.rb +1 -1
- data/spec/fixtures/eapi.conf.yaml +6 -0
- data/spec/fixtures/empty.conf +0 -0
- data/spec/fixtures/env_path.conf +5 -0
- data/spec/fixtures/test.conf +39 -0
- data/spec/fixtures/wildcard.conf +43 -0
- data/spec/system/rbeapi/api/aaa_groups_spec.rb +122 -0
- data/spec/system/rbeapi/api/aaa_spec.rb +90 -0
- data/spec/system/{api_acl_spec.rb → rbeapi/api/acl_spec.rb} +0 -0
- data/spec/system/rbeapi/api/bgp_neighbors_spec.rb +354 -0
- data/spec/system/rbeapi/api/bgp_spec.rb +275 -0
- data/spec/system/rbeapi/api/dns_spec.rb +17 -1
- data/spec/system/rbeapi/api/interfaces_base_spec.rb +46 -5
- data/spec/system/rbeapi/api/interfaces_ethernet_spec.rb +14 -0
- data/spec/system/rbeapi/api/interfaces_portchannel_spec.rb +68 -0
- data/spec/system/rbeapi/api/interfaces_vxlan_spec.rb +0 -1
- data/spec/system/{api_ospf_interfaces_spec.rb → rbeapi/api/ospf_interfaces_spec.rb} +3 -2
- data/spec/system/{api_ospf_spec.rb → rbeapi/api/ospf_spec.rb} +11 -2
- data/spec/system/rbeapi/api/routemaps_spec.rb +3 -4
- data/spec/system/rbeapi/api/snmp_spec.rb +65 -0
- data/spec/system/rbeapi/api/staticroutes_spec.rb +177 -0
- data/spec/system/rbeapi/api/stp_instances_spec.rb +20 -0
- data/spec/system/rbeapi/api/stp_interfaces_spec.rb +7 -0
- data/spec/system/rbeapi/api/switchports_spec.rb +86 -16
- data/spec/system/rbeapi/api/users_spec.rb +324 -0
- data/spec/system/rbeapi/api/varp_interfaces_spec.rb +34 -0
- data/spec/system/rbeapi/api/vrrp_spec.rb +707 -0
- data/spec/system/rbeapi/client_spec.rb +367 -0
- data/spec/unit/rbeapi/api/aaa/aaa_groups_spec.rb +111 -0
- data/spec/unit/rbeapi/api/aaa/aaa_spec.rb +77 -0
- data/spec/unit/rbeapi/api/aaa/fixture_aaa.text +3 -0
- data/spec/unit/rbeapi/api/switchports/default_spec.rb +249 -0
- data/spec/unit/rbeapi/api/switchports/fixture_switchports.text +284 -0
- data/spec/unit/rbeapi/api/users/default_spec.rb +1 -1
- data/spec/unit/rbeapi/client_spec.rb +211 -0
- metadata +65 -10
@@ -0,0 +1,77 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2015, Arista Networks, Inc.
|
3
|
+
# All rights reserved.
|
4
|
+
#
|
5
|
+
# Redistribution and use in source and binary forms, with or without
|
6
|
+
# modification, are permitted provided that the following conditions are
|
7
|
+
# met:
|
8
|
+
#
|
9
|
+
# Redistributions of source code must retain the above copyright notice,
|
10
|
+
# this list of conditions and the following disclaimer.
|
11
|
+
#
|
12
|
+
# Redistributions in binary form must reproduce the above copyright
|
13
|
+
# notice, this list of conditions and the following disclaimer in the
|
14
|
+
# documentation and/or other materials provided with the distribution.
|
15
|
+
#
|
16
|
+
# Neither the name of Arista Networks nor the names of its
|
17
|
+
# contributors may be used to endorse or promote products derived from
|
18
|
+
# this software without specific prior written permission.
|
19
|
+
#
|
20
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
21
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
22
|
+
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
23
|
+
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ARISTA NETWORKS
|
24
|
+
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
25
|
+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
26
|
+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
27
|
+
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
28
|
+
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
29
|
+
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
30
|
+
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
|
+
#
|
32
|
+
require 'spec_helper'
|
33
|
+
|
34
|
+
require 'rbeapi/api/aaa'
|
35
|
+
|
36
|
+
include FixtureHelpers
|
37
|
+
|
38
|
+
describe Rbeapi::Api::Aaa do
|
39
|
+
subject { described_class.new(node) }
|
40
|
+
|
41
|
+
let(:node) { double('node') }
|
42
|
+
|
43
|
+
let(:test) do
|
44
|
+
{
|
45
|
+
groups: {
|
46
|
+
'blah' => {
|
47
|
+
type: 'radius',
|
48
|
+
servers: []
|
49
|
+
}
|
50
|
+
}
|
51
|
+
}
|
52
|
+
end
|
53
|
+
|
54
|
+
def aaa
|
55
|
+
aaa = Fixtures[:aaa]
|
56
|
+
return aaa if aaa
|
57
|
+
fixture('aaa', format: :text, dir: File.dirname(__FILE__))
|
58
|
+
end
|
59
|
+
|
60
|
+
before :each do
|
61
|
+
allow(subject.node).to receive(:running_config).and_return(aaa)
|
62
|
+
end
|
63
|
+
|
64
|
+
describe '#get' do
|
65
|
+
it 'returns the resource for given name' do
|
66
|
+
expect(subject.get).to eq(test)
|
67
|
+
end
|
68
|
+
|
69
|
+
it 'returns a hash' do
|
70
|
+
expect(subject.get).to be_a_kind_of(Hash)
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'has two entries' do
|
74
|
+
expect(subject.get.size).to eq(1)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,249 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2016, Arista Networks, Inc.
|
3
|
+
# All rights reserved.
|
4
|
+
#
|
5
|
+
# Redistribution and use in source and binary forms, with or without
|
6
|
+
# modification, are permitted provided that the following conditions are
|
7
|
+
# met:
|
8
|
+
#
|
9
|
+
# Redistributions of source code must retain the above copyright notice,
|
10
|
+
# this list of conditions and the following disclaimer.
|
11
|
+
#
|
12
|
+
# Redistributions in binary form must reproduce the above copyright
|
13
|
+
# notice, this list of conditions and the following disclaimer in the
|
14
|
+
# documentation and/or other materials provided with the distribution.
|
15
|
+
#
|
16
|
+
# Neither the name of Arista Networks nor the names of its
|
17
|
+
# contributors may be used to endorse or promote products derived from
|
18
|
+
# this software without specific prior written permission.
|
19
|
+
#
|
20
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
21
|
+
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
22
|
+
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
23
|
+
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ARISTA NETWORKS
|
24
|
+
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
25
|
+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
26
|
+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
27
|
+
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
28
|
+
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
29
|
+
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
30
|
+
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
31
|
+
#
|
32
|
+
require 'spec_helper'
|
33
|
+
|
34
|
+
require 'rbeapi/api/switchports'
|
35
|
+
|
36
|
+
include FixtureHelpers
|
37
|
+
|
38
|
+
describe Rbeapi::Api::Switchports do
|
39
|
+
subject { described_class.new(node) }
|
40
|
+
|
41
|
+
let(:node) { double('node') }
|
42
|
+
|
43
|
+
def switchports
|
44
|
+
switchports = Fixtures[:switchports]
|
45
|
+
return switchports if switchports
|
46
|
+
fixture('switchports', format: :text, dir: File.dirname(__FILE__))
|
47
|
+
end
|
48
|
+
|
49
|
+
before :each do
|
50
|
+
allow(subject.node).to receive(:running_config).and_return(switchports)
|
51
|
+
end
|
52
|
+
|
53
|
+
describe '#get' do
|
54
|
+
let(:keys) do
|
55
|
+
[:mode, :access_vlan, :trunk_native_vlan, :trunk_allowed_vlans,
|
56
|
+
:trunk_groups]
|
57
|
+
end
|
58
|
+
|
59
|
+
context 'vlan as an integer range' do
|
60
|
+
it 'returns the switchport resource' do
|
61
|
+
expect(subject.get('Ethernet1')).not_to be_nil
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'does not return a nonswitchport resource' do
|
65
|
+
expect(subject.get('Ethernet2')).to be_nil
|
66
|
+
end
|
67
|
+
|
68
|
+
it 'has all required keys' do
|
69
|
+
expect(subject.get('Ethernet1').keys).to eq(keys)
|
70
|
+
end
|
71
|
+
|
72
|
+
it 'returns allowed_vlans as an array' do
|
73
|
+
expect(subject.get('Ethernet1')[:trunk_allowed_vlans])
|
74
|
+
.to be_a_kind_of(Array)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
context 'vlan as an integer' do
|
79
|
+
it 'returns the switchport resource' do
|
80
|
+
expect(subject.get('Ethernet1')).not_to be_nil
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
describe '#getall' do
|
86
|
+
it 'returns the switchport collection' do
|
87
|
+
expect(subject.getall).to include('Ethernet1')
|
88
|
+
end
|
89
|
+
|
90
|
+
it 'returns a hash collection' do
|
91
|
+
expect(subject.getall).to be_a_kind_of(Hash)
|
92
|
+
end
|
93
|
+
|
94
|
+
it 'returns a hash collection' do
|
95
|
+
expect(subject.getall.count).to eq(1)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
describe '#create' do
|
100
|
+
it 'creates a new switchport resource' do
|
101
|
+
expect(node).to receive(:config)
|
102
|
+
.with(['interface Ethernet1', 'no ip address', 'switchport'])
|
103
|
+
expect(subject.create('Ethernet1')).to be_truthy
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
describe '#delete' do
|
108
|
+
it 'deletes a switchport resource' do
|
109
|
+
expect(node).to receive(:config)
|
110
|
+
.with(['interface Ethernet1', 'no switchport'])
|
111
|
+
expect(subject.delete('Ethernet1')).to be_truthy
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
describe '#default' do
|
116
|
+
it 'sets Ethernet1 to default' do
|
117
|
+
expect(node).to receive(:config)
|
118
|
+
.with(['interface Ethernet1', 'default switchport'])
|
119
|
+
expect(subject.default('Ethernet1')).to be_truthy
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
describe '#set_mode' do
|
124
|
+
it 'sets mode value to access' do
|
125
|
+
expect(node).to receive(:config)
|
126
|
+
.with(['interface Ethernet1', 'switchport mode access'])
|
127
|
+
expect(subject.set_mode('Ethernet1', value: 'access')).to be_truthy
|
128
|
+
end
|
129
|
+
|
130
|
+
it 'sets the mode value to trunk' do
|
131
|
+
expect(node).to receive(:config)
|
132
|
+
.with(['interface Ethernet1', 'switchport mode trunk'])
|
133
|
+
expect(subject.set_mode('Ethernet1', value: 'trunk')).to be_truthy
|
134
|
+
end
|
135
|
+
|
136
|
+
it 'negate the mode value' do
|
137
|
+
expect(node).to receive(:config)
|
138
|
+
.with(['interface Ethernet1', 'no switchport mode'])
|
139
|
+
expect(subject.set_mode('Ethernet1', enable: false)).to be_truthy
|
140
|
+
end
|
141
|
+
|
142
|
+
it 'default the mode value' do
|
143
|
+
expect(node).to receive(:config)
|
144
|
+
.with(['interface Ethernet1', 'default switchport mode'])
|
145
|
+
expect(subject.set_mode('Ethernet1', default: true)).to be_truthy
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
describe '#set_access_vlan' do
|
150
|
+
it 'sets the access vlan value to 100' do
|
151
|
+
expect(node).to receive(:config)
|
152
|
+
.with(['interface Ethernet1', 'switchport access vlan 100'])
|
153
|
+
expect(subject.set_access_vlan('Ethernet1', value: '100')).to be_truthy
|
154
|
+
end
|
155
|
+
|
156
|
+
it 'negates the access vlan value' do
|
157
|
+
expect(node).to receive(:config)
|
158
|
+
.with(['interface Ethernet1', 'no switchport access vlan'])
|
159
|
+
expect(subject.set_access_vlan('Ethernet1', enable: false)).to be_truthy
|
160
|
+
end
|
161
|
+
|
162
|
+
it 'defaults the access vlan value' do
|
163
|
+
expect(node).to receive(:config)
|
164
|
+
.with(['interface Ethernet1', 'default switchport access vlan'])
|
165
|
+
expect(subject.set_access_vlan('Ethernet1', default: true)).to be_truthy
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
describe '#set_trunk_native_vlan' do
|
170
|
+
it 'sets the trunk native vlan to 100' do
|
171
|
+
expect(node).to receive(:config)
|
172
|
+
.with(['interface Ethernet1', 'switchport trunk native vlan 100'])
|
173
|
+
expect(subject.set_trunk_native_vlan('Ethernet1', value: '100'))
|
174
|
+
.to be_truthy
|
175
|
+
end
|
176
|
+
|
177
|
+
it 'negates the trunk native vlan' do
|
178
|
+
expect(node).to receive(:config)
|
179
|
+
.with(['interface Ethernet1', 'no switchport trunk native vlan'])
|
180
|
+
expect(subject.set_trunk_native_vlan('Ethernet1', enable: false))
|
181
|
+
.to be_truthy
|
182
|
+
end
|
183
|
+
|
184
|
+
it 'defaults the trunk native vlan' do
|
185
|
+
expect(node).to receive(:config)
|
186
|
+
.with(['interface Ethernet1', 'default switchport trunk native vlan'])
|
187
|
+
expect(subject.set_trunk_native_vlan('Ethernet1', default: true))
|
188
|
+
.to be_truthy
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
192
|
+
describe '#set_trunk_allowed_vlans' do
|
193
|
+
it 'raises an ArgumentError if value is not an array' do
|
194
|
+
expect { subject.set_trunk_allowed_vlans('Ethernet1', value: '1-100') }
|
195
|
+
.to raise_error(ArgumentError)
|
196
|
+
end
|
197
|
+
|
198
|
+
it 'sets vlan 8 and 9 to the trunk allowed vlans' do
|
199
|
+
expect(node).to receive(:config)
|
200
|
+
.with(['interface Ethernet1', 'switchport trunk allowed vlan none',
|
201
|
+
'switchport trunk allowed vlan 8,9'])
|
202
|
+
expect(subject.set_trunk_allowed_vlans('Ethernet1', value: [8, 9]))
|
203
|
+
.to be_truthy
|
204
|
+
end
|
205
|
+
|
206
|
+
it 'negate switchport trunk allowed vlan' do
|
207
|
+
expect(node).to receive(:config)
|
208
|
+
.with(['interface Ethernet1', 'no switchport trunk allowed vlan'])
|
209
|
+
expect(subject.set_trunk_allowed_vlans('Ethernet1', enable: false))
|
210
|
+
.to be_truthy
|
211
|
+
end
|
212
|
+
|
213
|
+
it 'default switchport trunk allowed vlan' do
|
214
|
+
expect(node).to receive(:config)
|
215
|
+
.with(['interface Ethernet1', 'default switchport trunk allowed vlan'])
|
216
|
+
expect(subject.set_trunk_allowed_vlans('Ethernet1', default: true))
|
217
|
+
.to be_truthy
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
describe '#set_trunk_groups' do
|
222
|
+
it 'raises an ArgumentError if value is not an array' do
|
223
|
+
expect { subject.set_trunk_groups('Ethernet1', value: 'foo') }
|
224
|
+
.to raise_error(ArgumentError)
|
225
|
+
end
|
226
|
+
|
227
|
+
it 'sets trunk group to foo bar bang' do
|
228
|
+
expect(node).to receive(:config)
|
229
|
+
.with(['interface Ethernet1', 'switchport trunk group foo',
|
230
|
+
'switchport trunk group bar', 'switchport trunk group bang'])
|
231
|
+
expect(subject.set_trunk_groups('Ethernet1', value: %w(foo bar bang)))
|
232
|
+
.to be_truthy
|
233
|
+
end
|
234
|
+
|
235
|
+
it 'negate switchport trunk group' do
|
236
|
+
expect(node).to receive(:config)
|
237
|
+
.with(['interface Ethernet1', 'no switchport trunk group'])
|
238
|
+
expect(subject.set_trunk_groups('Ethernet1', enable: false))
|
239
|
+
.to be_truthy
|
240
|
+
end
|
241
|
+
|
242
|
+
it 'default switchport trunk group' do
|
243
|
+
expect(node).to receive(:config)
|
244
|
+
.with(['interface Ethernet1', 'default switchport trunk group'])
|
245
|
+
expect(subject.set_trunk_groups('Ethernet1', default: true))
|
246
|
+
.to be_truthy
|
247
|
+
end
|
248
|
+
end
|
249
|
+
end
|
@@ -0,0 +1,284 @@
|
|
1
|
+
interface Ethernet1
|
2
|
+
no description
|
3
|
+
no shutdown
|
4
|
+
default load-interval
|
5
|
+
logging event link-status use-global
|
6
|
+
no dcbx mode
|
7
|
+
no mac-address
|
8
|
+
no link-debounce
|
9
|
+
no flowcontrol send
|
10
|
+
no flowcontrol receive
|
11
|
+
no mac timestamp
|
12
|
+
no speed
|
13
|
+
no l2 mtu
|
14
|
+
default logging event congestion-drops
|
15
|
+
default unidirectional
|
16
|
+
switchport access vlan 1
|
17
|
+
switchport trunk native vlan 1
|
18
|
+
switchport trunk allowed vlan 1-4094
|
19
|
+
switchport mode access
|
20
|
+
switchport mac address learning
|
21
|
+
no switchport private-vlan mapping
|
22
|
+
switchport
|
23
|
+
default encapsulation dot1q vlan
|
24
|
+
no l2-protocol encapsulation dot1q vlan 0
|
25
|
+
snmp trap link-status
|
26
|
+
no channel-group
|
27
|
+
lacp rate normal
|
28
|
+
lacp port-priority 32768
|
29
|
+
lldp transmit
|
30
|
+
lldp receive
|
31
|
+
no msrp
|
32
|
+
no mvrp
|
33
|
+
no switchport port-security
|
34
|
+
switchport port-security maximum 1
|
35
|
+
default qos trust
|
36
|
+
qos cos 5
|
37
|
+
qos dscp 2
|
38
|
+
no shape rate
|
39
|
+
mc-tx-queue 0
|
40
|
+
priority strict
|
41
|
+
no bandwidth percent
|
42
|
+
no shape rate
|
43
|
+
no bandwidth guaranteed
|
44
|
+
!
|
45
|
+
mc-tx-queue 1
|
46
|
+
priority strict
|
47
|
+
no bandwidth percent
|
48
|
+
no shape rate
|
49
|
+
no bandwidth guaranteed
|
50
|
+
!
|
51
|
+
mc-tx-queue 2
|
52
|
+
priority strict
|
53
|
+
no bandwidth percent
|
54
|
+
no shape rate
|
55
|
+
no bandwidth guaranteed
|
56
|
+
!
|
57
|
+
mc-tx-queue 3
|
58
|
+
priority strict
|
59
|
+
no bandwidth percent
|
60
|
+
no shape rate
|
61
|
+
no bandwidth guaranteed
|
62
|
+
!
|
63
|
+
uc-tx-queue 0
|
64
|
+
priority strict
|
65
|
+
no bandwidth percent
|
66
|
+
no shape rate
|
67
|
+
no bandwidth guaranteed
|
68
|
+
!
|
69
|
+
uc-tx-queue 1
|
70
|
+
priority strict
|
71
|
+
no bandwidth percent
|
72
|
+
no shape rate
|
73
|
+
no bandwidth guaranteed
|
74
|
+
!
|
75
|
+
uc-tx-queue 2
|
76
|
+
priority strict
|
77
|
+
no bandwidth percent
|
78
|
+
no shape rate
|
79
|
+
no bandwidth guaranteed
|
80
|
+
!
|
81
|
+
uc-tx-queue 3
|
82
|
+
priority strict
|
83
|
+
no bandwidth percent
|
84
|
+
no shape rate
|
85
|
+
no bandwidth guaranteed
|
86
|
+
!
|
87
|
+
uc-tx-queue 4
|
88
|
+
priority strict
|
89
|
+
no bandwidth percent
|
90
|
+
no shape rate
|
91
|
+
no bandwidth guaranteed
|
92
|
+
!
|
93
|
+
uc-tx-queue 5
|
94
|
+
priority strict
|
95
|
+
no bandwidth percent
|
96
|
+
no shape rate
|
97
|
+
no bandwidth guaranteed
|
98
|
+
!
|
99
|
+
uc-tx-queue 6
|
100
|
+
priority strict
|
101
|
+
no bandwidth percent
|
102
|
+
no shape rate
|
103
|
+
no bandwidth guaranteed
|
104
|
+
!
|
105
|
+
uc-tx-queue 7
|
106
|
+
priority strict
|
107
|
+
no bandwidth percent
|
108
|
+
no shape rate
|
109
|
+
no bandwidth guaranteed
|
110
|
+
sflow enable
|
111
|
+
no spanning-tree portfast
|
112
|
+
spanning-tree portfast auto
|
113
|
+
no spanning-tree link-type
|
114
|
+
no spanning-tree bpduguard
|
115
|
+
no spanning-tree bpdufilter
|
116
|
+
no spanning-tree cost
|
117
|
+
spanning-tree port-priority 128
|
118
|
+
no spanning-tree guard
|
119
|
+
no spanning-tree bpduguard rate-limit
|
120
|
+
logging event spanning-tree use-global
|
121
|
+
switchport tap native vlan 1
|
122
|
+
no switchport tap identity
|
123
|
+
switchport tap allowed vlan 1-4094
|
124
|
+
switchport tool allowed vlan 1-4094
|
125
|
+
no switchport tool identity
|
126
|
+
no switchport tap truncation
|
127
|
+
no switchport tool truncation
|
128
|
+
no switchport tap default group
|
129
|
+
no switchport tool group
|
130
|
+
no switchport tool dot1q remove outer
|
131
|
+
!
|
132
|
+
interface Ethernet2
|
133
|
+
no description
|
134
|
+
no shutdown
|
135
|
+
default load-interval
|
136
|
+
mtu 1500
|
137
|
+
logging event link-status use-global
|
138
|
+
no dcbx mode
|
139
|
+
no mac-address
|
140
|
+
no link-debounce
|
141
|
+
no flowcontrol send
|
142
|
+
no flowcontrol receive
|
143
|
+
no mac timestamp
|
144
|
+
no speed
|
145
|
+
no l2 mtu
|
146
|
+
default logging event congestion-drops
|
147
|
+
default unidirectional
|
148
|
+
no switchport
|
149
|
+
default encapsulation dot1q vlan
|
150
|
+
no l2-protocol encapsulation dot1q vlan 0
|
151
|
+
snmp trap link-status
|
152
|
+
no ip proxy-arp
|
153
|
+
no ip local-proxy-arp
|
154
|
+
no ip address
|
155
|
+
no ip verify unicast
|
156
|
+
default arp timeout 14400
|
157
|
+
default ipv6 nd cache expire 14400
|
158
|
+
bfd interval 300 min_rx 300 multiplier 3
|
159
|
+
no bfd echo
|
160
|
+
default ip dhcp smart-relay
|
161
|
+
no ip helper-address
|
162
|
+
no ipv6 dhcp relay destination
|
163
|
+
ip dhcp relay information option circuit-id Ethernet2
|
164
|
+
no ip igmp
|
165
|
+
ip igmp version 3
|
166
|
+
ip igmp last-member-query-count 2
|
167
|
+
ip igmp last-member-query-interval 10
|
168
|
+
ip igmp query-max-response-time 100
|
169
|
+
ip igmp query-interval 125
|
170
|
+
ip igmp startup-query-count 2
|
171
|
+
ip igmp startup-query-interval 310
|
172
|
+
ip igmp router-alert optional connected
|
173
|
+
ip igmp host-proxy
|
174
|
+
no ip igmp host-proxy report-interval
|
175
|
+
ip igmp host-proxy version 3
|
176
|
+
no ip igmp host-proxy
|
177
|
+
no ipv6 enable
|
178
|
+
no ipv6 address
|
179
|
+
no ipv6 verify unicast
|
180
|
+
no ipv6 nd ra suppress
|
181
|
+
ipv6 nd ra interval msec 200000
|
182
|
+
ipv6 nd ra lifetime 1800
|
183
|
+
no ipv6 nd ra mtu suppress
|
184
|
+
no ipv6 nd managed-config-flag
|
185
|
+
no ipv6 nd other-config-flag
|
186
|
+
ipv6 nd reachable-time 0
|
187
|
+
ipv6 nd router-preference medium
|
188
|
+
ipv6 nd ra dns-servers lifetime 300
|
189
|
+
ipv6 nd ra dns-suffixes lifetime 300
|
190
|
+
ipv6 nd ra hop-limit 64
|
191
|
+
no channel-group
|
192
|
+
lacp rate normal
|
193
|
+
lacp port-priority 32768
|
194
|
+
lldp transmit
|
195
|
+
lldp receive
|
196
|
+
ip mfib fastdrop
|
197
|
+
no msrp
|
198
|
+
no mvrp
|
199
|
+
default ntp serve
|
200
|
+
no ip pim sparse-mode
|
201
|
+
no ip pim border-router
|
202
|
+
ip pim query-interval 30
|
203
|
+
ip pim join-prune-interval 60
|
204
|
+
ip pim dr-priority 1
|
205
|
+
no ip pim neighbor-filter
|
206
|
+
default ip pim bfd-instance
|
207
|
+
no ip pim bsr-border
|
208
|
+
default qos trust
|
209
|
+
qos cos 5
|
210
|
+
qos dscp 2
|
211
|
+
no shape rate
|
212
|
+
mc-tx-queue 0
|
213
|
+
priority strict
|
214
|
+
no bandwidth percent
|
215
|
+
no shape rate
|
216
|
+
no bandwidth guaranteed
|
217
|
+
!
|
218
|
+
mc-tx-queue 1
|
219
|
+
priority strict
|
220
|
+
no bandwidth percent
|
221
|
+
no shape rate
|
222
|
+
no bandwidth guaranteed
|
223
|
+
!
|
224
|
+
mc-tx-queue 2
|
225
|
+
priority strict
|
226
|
+
no bandwidth percent
|
227
|
+
no shape rate
|
228
|
+
no bandwidth guaranteed
|
229
|
+
!
|
230
|
+
mc-tx-queue 3
|
231
|
+
priority strict
|
232
|
+
no bandwidth percent
|
233
|
+
no shape rate
|
234
|
+
no bandwidth guaranteed
|
235
|
+
!
|
236
|
+
uc-tx-queue 0
|
237
|
+
priority strict
|
238
|
+
no bandwidth percent
|
239
|
+
no shape rate
|
240
|
+
no bandwidth guaranteed
|
241
|
+
!
|
242
|
+
uc-tx-queue 1
|
243
|
+
priority strict
|
244
|
+
no bandwidth percent
|
245
|
+
no shape rate
|
246
|
+
no bandwidth guaranteed
|
247
|
+
!
|
248
|
+
uc-tx-queue 2
|
249
|
+
priority strict
|
250
|
+
no bandwidth percent
|
251
|
+
no shape rate
|
252
|
+
no bandwidth guaranteed
|
253
|
+
!
|
254
|
+
uc-tx-queue 3
|
255
|
+
priority strict
|
256
|
+
no bandwidth percent
|
257
|
+
no shape rate
|
258
|
+
no bandwidth guaranteed
|
259
|
+
!
|
260
|
+
uc-tx-queue 4
|
261
|
+
priority strict
|
262
|
+
no bandwidth percent
|
263
|
+
no shape rate
|
264
|
+
no bandwidth guaranteed
|
265
|
+
!
|
266
|
+
uc-tx-queue 5
|
267
|
+
priority strict
|
268
|
+
no bandwidth percent
|
269
|
+
no shape rate
|
270
|
+
no bandwidth guaranteed
|
271
|
+
!
|
272
|
+
uc-tx-queue 6
|
273
|
+
priority strict
|
274
|
+
no bandwidth percent
|
275
|
+
no shape rate
|
276
|
+
no bandwidth guaranteed
|
277
|
+
!
|
278
|
+
uc-tx-queue 7
|
279
|
+
priority strict
|
280
|
+
no bandwidth percent
|
281
|
+
no shape rate
|
282
|
+
no bandwidth guaranteed
|
283
|
+
sflow enable
|
284
|
+
!
|