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.
Files changed (83) hide show
  1. data/.gitignore +3 -0
  2. data/CHANGELOG.md +20 -0
  3. data/Gemfile +1 -1
  4. data/README.md +11 -11
  5. data/Rakefile +19 -0
  6. data/guide/Makefile +177 -0
  7. data/guide/_static/arista_logo_11-trans-w.png +0 -0
  8. data/guide/_static/arista_logo_jpg-11.jpg +0 -0
  9. data/guide/_static/favicon.ico +0 -0
  10. data/guide/conf.py +279 -0
  11. data/guide/cookbook.rst +4 -0
  12. data/guide/developing.rst +4 -0
  13. data/guide/faq.rst +4 -0
  14. data/guide/index.rst +23 -0
  15. data/guide/installation.rst +4 -0
  16. data/guide/license.rst +5 -0
  17. data/guide/overview.rst +20 -0
  18. data/guide/quickstart.rst +4 -0
  19. data/guide/release-notes-0.5.0.rst +60 -0
  20. data/guide/release-notes.rst +6 -0
  21. data/guide/testing.rst +4 -0
  22. data/guide/troubleshooting.rst +1 -0
  23. data/lib/rbeapi/api/aaa.rb +54 -18
  24. data/lib/rbeapi/api/acl.rb +60 -2
  25. data/lib/rbeapi/api/bgp.rb +81 -0
  26. data/lib/rbeapi/api/dns.rb +48 -2
  27. data/lib/rbeapi/api/interfaces.rb +97 -32
  28. data/lib/rbeapi/api/ipinterfaces.rb +13 -2
  29. data/lib/rbeapi/api/logging.rb +11 -2
  30. data/lib/rbeapi/api/mlag.rb +20 -10
  31. data/lib/rbeapi/api/ntp.rb +4 -3
  32. data/lib/rbeapi/api/ospf.rb +102 -10
  33. data/lib/rbeapi/api/prefixlists.rb +47 -4
  34. data/lib/rbeapi/api/radius.rb +9 -9
  35. data/lib/rbeapi/api/routemaps.rb +7 -5
  36. data/lib/rbeapi/api/snmp.rb +13 -4
  37. data/lib/rbeapi/api/staticroutes.rb +1 -1
  38. data/lib/rbeapi/api/stp.rb +39 -14
  39. data/lib/rbeapi/api/switchports.rb +126 -2
  40. data/lib/rbeapi/api/system.rb +24 -3
  41. data/lib/rbeapi/api/tacacs.rb +9 -10
  42. data/lib/rbeapi/api/users.rb +12 -3
  43. data/lib/rbeapi/api/varp.rb +40 -8
  44. data/lib/rbeapi/api/vlans.rb +15 -5
  45. data/lib/rbeapi/client.rb +19 -11
  46. data/lib/rbeapi/eapilib.rb +8 -0
  47. data/lib/rbeapi/utils.rb +10 -0
  48. data/lib/rbeapi/version.rb +1 -1
  49. data/spec/fixtures/eapi.conf.yaml +6 -0
  50. data/spec/fixtures/empty.conf +0 -0
  51. data/spec/fixtures/env_path.conf +5 -0
  52. data/spec/fixtures/test.conf +39 -0
  53. data/spec/fixtures/wildcard.conf +43 -0
  54. data/spec/system/rbeapi/api/aaa_groups_spec.rb +122 -0
  55. data/spec/system/rbeapi/api/aaa_spec.rb +90 -0
  56. data/spec/system/{api_acl_spec.rb → rbeapi/api/acl_spec.rb} +0 -0
  57. data/spec/system/rbeapi/api/bgp_neighbors_spec.rb +354 -0
  58. data/spec/system/rbeapi/api/bgp_spec.rb +275 -0
  59. data/spec/system/rbeapi/api/dns_spec.rb +17 -1
  60. data/spec/system/rbeapi/api/interfaces_base_spec.rb +46 -5
  61. data/spec/system/rbeapi/api/interfaces_ethernet_spec.rb +14 -0
  62. data/spec/system/rbeapi/api/interfaces_portchannel_spec.rb +68 -0
  63. data/spec/system/rbeapi/api/interfaces_vxlan_spec.rb +0 -1
  64. data/spec/system/{api_ospf_interfaces_spec.rb → rbeapi/api/ospf_interfaces_spec.rb} +3 -2
  65. data/spec/system/{api_ospf_spec.rb → rbeapi/api/ospf_spec.rb} +11 -2
  66. data/spec/system/rbeapi/api/routemaps_spec.rb +3 -4
  67. data/spec/system/rbeapi/api/snmp_spec.rb +65 -0
  68. data/spec/system/rbeapi/api/staticroutes_spec.rb +177 -0
  69. data/spec/system/rbeapi/api/stp_instances_spec.rb +20 -0
  70. data/spec/system/rbeapi/api/stp_interfaces_spec.rb +7 -0
  71. data/spec/system/rbeapi/api/switchports_spec.rb +86 -16
  72. data/spec/system/rbeapi/api/users_spec.rb +324 -0
  73. data/spec/system/rbeapi/api/varp_interfaces_spec.rb +34 -0
  74. data/spec/system/rbeapi/api/vrrp_spec.rb +707 -0
  75. data/spec/system/rbeapi/client_spec.rb +367 -0
  76. data/spec/unit/rbeapi/api/aaa/aaa_groups_spec.rb +111 -0
  77. data/spec/unit/rbeapi/api/aaa/aaa_spec.rb +77 -0
  78. data/spec/unit/rbeapi/api/aaa/fixture_aaa.text +3 -0
  79. data/spec/unit/rbeapi/api/switchports/default_spec.rb +249 -0
  80. data/spec/unit/rbeapi/api/switchports/fixture_switchports.text +284 -0
  81. data/spec/unit/rbeapi/api/users/default_spec.rb +1 -1
  82. data/spec/unit/rbeapi/client_spec.rb +211 -0
  83. 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,3 @@
1
+ aaa group server radius blah
2
+ no aaa root
3
+ aaa authentication policy local allow-nopassword-remote-login
@@ -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
+ !