5
# Test of the lanparm code
7
# Author: MontaVista Software, Inc.
8
# Corey Minyard <minyard@mvista.com>
11
# Copyright 2004 MontaVista Software Inc.
13
# This program is free software; you can redistribute it and/or
14
# modify it under the terms of the GNU Lesser General Public License
15
# as published by the Free Software Foundation; either version 2 of
16
# the License, or (at your option) any later version.
19
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
20
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
25
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
27
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
28
# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
# You should have received a copy of the GNU Lesser General Public
31
# License along with this program; if not, write to the Free
32
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
38
my $errcountholder : shared = 0;
39
$errcount = \$errcountholder;
41
my $fru_field_table = {};
47
print STDERR "***", $str, "\n";
67
$domain->close($$self);
75
$a->{handler} = shift;
93
print $level, ": ", $log, "\n";
96
sub lanparm_set_parm_cb {
101
print "Parm set: ", $$self->{accmode}, "\n";
102
$rv = $lanparm->get_parm($OpenIPMI::LANPARM_AUTH_TYPE_ENABLES,
105
main::reg_err("Unable to request lan parm(1): $rv\n");
112
sub lanparm_got_parm_cb {
116
my $parm_rev = shift;
119
print "Parm retrieved: ", $$self->{accmode}, "\n";
120
if ($parm_rev != 0x11) {
121
main::reg_err("Invalid parm revision\n");
124
if ($$self->{accmode} == 1) {
125
if (join(" ", @vals) ne "55 55 55 55 55") {
126
main::reg_err("Invalid get parms(1)\n");
131
$$self->{accmode} = 2;
132
$rv = $lanparm->set_parm($OpenIPMI::LANPARM_AUTH_TYPE_ENABLES,
133
join(" ", @vals), $self);
135
main::reg_err("Error setting parms(1): $rv\n");
139
} elsif ($$self->{accmode} == 2) {
140
if (join(" ", @vals) ne "55 55 1 55 55") {
141
main::reg_err("Invalid get parms(2)\n");
146
$$self->{accmode} = 3;
147
$rv = $lanparm->set_parm_array($OpenIPMI::LANPARM_AUTH_TYPE_ENABLES,
150
main::reg_err("Error setting parms(2): $rv\n");
155
if (join(" ", @vals) ne "55 55 1 55 4") {
156
main::reg_err("Invalid get parms(3)\n");
166
( "0 -1 -1 support_auth_oem bool false",
167
"1 -1 -1 support_auth_straight bool false",
168
"2 -1 -1 support_auth_md5 bool false",
169
"3 -1 -1 support_auth_md2 bool false",
170
"4 -1 -1 support_auth_none bool false",
171
"5 -1 -1 ip_addr_source integer 0",
172
"6 -1 -1 ipv4_ttl integer 0",
173
"7 -1 -1 ipv4_flags integer 0",
174
"8 -1 -1 ipv4_precedence integer 0",
175
"9 -1 -1 ipv4_tos integer 0",
176
"10 0 1 enable_auth_oem bool false",
177
"10 1 2 enable_auth_oem bool false",
178
"10 2 3 enable_auth_oem bool false",
179
"10 3 4 enable_auth_oem bool false",
180
"10 4 -1 enable_auth_oem bool false",
181
"11 0 1 enable_auth_straight bool false",
182
"11 1 2 enable_auth_straight bool false",
183
"11 2 3 enable_auth_straight bool false",
184
"11 3 4 enable_auth_straight bool false",
185
"11 4 -1 enable_auth_straight bool false",
186
"12 0 1 enable_auth_md5 bool false",
187
"12 1 2 enable_auth_md5 bool false",
188
"12 2 3 enable_auth_md5 bool false",
189
"12 3 4 enable_auth_md5 bool false",
190
"12 4 -1 enable_auth_md5 bool false",
191
"13 0 1 enable_auth_md2 bool false",
192
"13 1 2 enable_auth_md2 bool false",
193
"13 2 3 enable_auth_md2 bool false",
194
"13 3 4 enable_auth_md2 bool false",
195
"13 4 -1 enable_auth_md2 bool false",
196
"14 0 1 enable_auth_none bool false",
197
"14 1 2 enable_auth_none bool false",
198
"14 2 3 enable_auth_none bool false",
199
"14 3 4 enable_auth_none bool false",
200
"14 4 -1 enable_auth_none bool false",
201
"15 -1 -1 ip_addr ip 0.0.0.0",
202
"16 -1 -1 mac_addr mac 00:00:00:00:00:00",
203
"17 -1 -1 subnet_mask ip 0.0.0.0",
204
"18 -1 -1 port_rmcp_primary integer 0",
205
"19 -1 -1 port_rmcp_secondary integer 0",
206
"20 -1 -1 bmc_generated_arps bool false",
207
"21 -1 -1 bmc_generated_garps bool false",
208
"22 -1 -1 garp_interval integer 0",
209
"23 -1 -1 default_gateway_ip_addr ip 0.0.0.0",
210
"24 -1 -1 default_gateway_mac_addr mac 00:00:00:00:00:00",
211
"25 -1 -1 backup_gateway_ip_addr ip 0.0.0.0",
212
"26 -1 -1 backup_gateway_mac_addr mac 00:00:00:00:00:00",
213
"27 -1 -1 community_string data 0x00%0x00%0x00%0x00%0x00%0x00%0x00%0x00%0x00%0x00%0x00%0x00%0x00%0x00%0x00%0x00%0x00%0x00",
214
"28 -1 -1 num_alert_destinations integer 16",
215
"29 0 1 alert_ack bool false",
216
"29 1 2 alert_ack bool false",
217
"29 2 3 alert_ack bool false",
218
"29 3 4 alert_ack bool false",
219
"29 4 5 alert_ack bool false",
220
"29 5 6 alert_ack bool false",
221
"29 6 7 alert_ack bool false",
222
"29 7 8 alert_ack bool false",
223
"29 8 9 alert_ack bool false",
224
"29 9 10 alert_ack bool false",
225
"29 10 11 alert_ack bool false",
226
"29 11 12 alert_ack bool false",
227
"29 12 13 alert_ack bool false",
228
"29 13 14 alert_ack bool false",
229
"29 14 15 alert_ack bool false",
230
"29 15 -1 alert_ack bool false",
231
"30 0 1 dest_type integer 0",
232
"30 1 2 dest_type integer 0",
233
"30 2 3 dest_type integer 0",
234
"30 3 4 dest_type integer 0",
235
"30 4 5 dest_type integer 0",
236
"30 5 6 dest_type integer 0",
237
"30 6 7 dest_type integer 0",
238
"30 7 8 dest_type integer 0",
239
"30 8 9 dest_type integer 0",
240
"30 9 10 dest_type integer 0",
241
"30 10 11 dest_type integer 0",
242
"30 11 12 dest_type integer 0",
243
"30 12 13 dest_type integer 0",
244
"30 13 14 dest_type integer 0",
245
"30 14 15 dest_type integer 0",
246
"30 15 -1 dest_type integer 0",
247
"31 0 1 alert_retry_interval integer 0",
248
"31 1 2 alert_retry_interval integer 0",
249
"31 2 3 alert_retry_interval integer 0",
250
"31 3 4 alert_retry_interval integer 0",
251
"31 4 5 alert_retry_interval integer 0",
252
"31 5 6 alert_retry_interval integer 0",
253
"31 6 7 alert_retry_interval integer 0",
254
"31 7 8 alert_retry_interval integer 0",
255
"31 8 9 alert_retry_interval integer 0",
256
"31 9 10 alert_retry_interval integer 0",
257
"31 10 11 alert_retry_interval integer 0",
258
"31 11 12 alert_retry_interval integer 0",
259
"31 12 13 alert_retry_interval integer 0",
260
"31 13 14 alert_retry_interval integer 0",
261
"31 14 15 alert_retry_interval integer 0",
262
"31 15 -1 alert_retry_interval integer 0",
263
"32 0 1 max_alert_retries integer 0",
264
"32 1 2 max_alert_retries integer 0",
265
"32 2 3 max_alert_retries integer 0",
266
"32 3 4 max_alert_retries integer 0",
267
"32 4 5 max_alert_retries integer 0",
268
"32 5 6 max_alert_retries integer 0",
269
"32 6 7 max_alert_retries integer 0",
270
"32 7 8 max_alert_retries integer 0",
271
"32 8 9 max_alert_retries integer 0",
272
"32 9 10 max_alert_retries integer 0",
273
"32 10 11 max_alert_retries integer 0",
274
"32 11 12 max_alert_retries integer 0",
275
"32 12 13 max_alert_retries integer 0",
276
"32 13 14 max_alert_retries integer 0",
277
"32 14 15 max_alert_retries integer 0",
278
"32 15 -1 max_alert_retries integer 0",
279
"33 0 1 dest_format integer 0",
280
"33 1 2 dest_format integer 0",
281
"33 2 3 dest_format integer 0",
282
"33 3 4 dest_format integer 0",
283
"33 4 5 dest_format integer 0",
284
"33 5 6 dest_format integer 0",
285
"33 6 7 dest_format integer 0",
286
"33 7 8 dest_format integer 0",
287
"33 8 9 dest_format integer 0",
288
"33 9 10 dest_format integer 0",
289
"33 10 11 dest_format integer 0",
290
"33 11 12 dest_format integer 0",
291
"33 12 13 dest_format integer 0",
292
"33 13 14 dest_format integer 0",
293
"33 14 15 dest_format integer 0",
294
"33 15 -1 dest_format integer 0",
295
"34 0 1 gw_to_use integer 0",
296
"34 1 2 gw_to_use integer 0",
297
"34 2 3 gw_to_use integer 0",
298
"34 3 4 gw_to_use integer 0",
299
"34 4 5 gw_to_use integer 0",
300
"34 5 6 gw_to_use integer 0",
301
"34 6 7 gw_to_use integer 0",
302
"34 7 8 gw_to_use integer 0",
303
"34 8 9 gw_to_use integer 0",
304
"34 9 10 gw_to_use integer 0",
305
"34 10 11 gw_to_use integer 0",
306
"34 11 12 gw_to_use integer 0",
307
"34 12 13 gw_to_use integer 0",
308
"34 13 14 gw_to_use integer 0",
309
"34 14 15 gw_to_use integer 0",
310
"34 15 -1 gw_to_use integer 0",
311
"35 0 1 dest_ip_addr ip 0.0.0.0",
312
"35 1 2 dest_ip_addr ip 0.0.0.0",
313
"35 2 3 dest_ip_addr ip 0.0.0.0",
314
"35 3 4 dest_ip_addr ip 0.0.0.0",
315
"35 4 5 dest_ip_addr ip 0.0.0.0",
316
"35 5 6 dest_ip_addr ip 0.0.0.0",
317
"35 6 7 dest_ip_addr ip 0.0.0.0",
318
"35 7 8 dest_ip_addr ip 0.0.0.0",
319
"35 8 9 dest_ip_addr ip 0.0.0.0",
320
"35 9 10 dest_ip_addr ip 0.0.0.0",
321
"35 10 11 dest_ip_addr ip 0.0.0.0",
322
"35 11 12 dest_ip_addr ip 0.0.0.0",
323
"35 12 13 dest_ip_addr ip 0.0.0.0",
324
"35 13 14 dest_ip_addr ip 0.0.0.0",
325
"35 14 15 dest_ip_addr ip 0.0.0.0",
326
"35 15 -1 dest_ip_addr ip 0.0.0.0",
327
"36 0 1 dest_mac_addr mac 00:00:00:00:00:00",
328
"36 1 2 dest_mac_addr mac 00:00:00:00:00:00",
329
"36 2 3 dest_mac_addr mac 00:00:00:00:00:00",
330
"36 3 4 dest_mac_addr mac 00:00:00:00:00:00",
331
"36 4 5 dest_mac_addr mac 00:00:00:00:00:00",
332
"36 5 6 dest_mac_addr mac 00:00:00:00:00:00",
333
"36 6 7 dest_mac_addr mac 00:00:00:00:00:00",
334
"36 7 8 dest_mac_addr mac 00:00:00:00:00:00",
335
"36 8 9 dest_mac_addr mac 00:00:00:00:00:00",
336
"36 9 10 dest_mac_addr mac 00:00:00:00:00:00",
337
"36 10 11 dest_mac_addr mac 00:00:00:00:00:00",
338
"36 11 12 dest_mac_addr mac 00:00:00:00:00:00",
339
"36 12 13 dest_mac_addr mac 00:00:00:00:00:00",
340
"36 13 14 dest_mac_addr mac 00:00:00:00:00:00",
341
"36 14 15 dest_mac_addr mac 00:00:00:00:00:00",
342
"36 15 -1 dest_mac_addr mac 00:00:00:00:00:00",
343
"37 0 1 dest_vlan_tag_type integer 0",
344
"37 1 2 dest_vlan_tag_type integer 0",
345
"37 2 3 dest_vlan_tag_type integer 0",
346
"37 3 4 dest_vlan_tag_type integer 0",
347
"37 4 5 dest_vlan_tag_type integer 0",
348
"37 5 6 dest_vlan_tag_type integer 0",
349
"37 6 7 dest_vlan_tag_type integer 0",
350
"37 7 8 dest_vlan_tag_type integer 0",
351
"37 8 9 dest_vlan_tag_type integer 0",
352
"37 9 10 dest_vlan_tag_type integer 0",
353
"37 10 11 dest_vlan_tag_type integer 0",
354
"37 11 12 dest_vlan_tag_type integer 0",
355
"37 12 13 dest_vlan_tag_type integer 0",
356
"37 13 14 dest_vlan_tag_type integer 0",
357
"37 14 15 dest_vlan_tag_type integer 0",
358
"37 15 -1 dest_vlan_tag_type integer 0",
359
"38 0 1 dest_vlan_tag integer 0",
360
"38 1 2 dest_vlan_tag integer 0",
361
"38 2 3 dest_vlan_tag integer 0",
362
"38 3 4 dest_vlan_tag integer 0",
363
"38 4 5 dest_vlan_tag integer 0",
364
"38 5 6 dest_vlan_tag integer 0",
365
"38 6 7 dest_vlan_tag integer 0",
366
"38 7 8 dest_vlan_tag integer 0",
367
"38 8 9 dest_vlan_tag integer 0",
368
"38 9 10 dest_vlan_tag integer 0",
369
"38 10 11 dest_vlan_tag integer 0",
370
"38 11 12 dest_vlan_tag integer 0",
371
"38 12 13 dest_vlan_tag integer 0",
372
"38 13 14 dest_vlan_tag integer 0",
373
"38 14 15 dest_vlan_tag integer 0",
374
"38 15 -1 dest_vlan_tag integer 0",
375
"39 -1 -1 vlan_id_enable bool false",
376
"40 -1 -1 vlan_id integer 0",
377
"41 -1 -1 vlan_priority integer 0",
378
"42 -1 -1 num_cipher_suites integer 16",
379
"43 0 1 cipher_suite_entry integer 1",
380
"43 1 2 cipher_suite_entry integer 2",
381
"43 2 3 cipher_suite_entry integer 3",
382
"43 3 4 cipher_suite_entry integer 4",
383
"43 4 5 cipher_suite_entry integer 5",
384
"43 5 6 cipher_suite_entry integer 6",
385
"43 6 7 cipher_suite_entry integer 7",
386
"43 7 8 cipher_suite_entry integer 8",
387
"43 8 9 cipher_suite_entry integer 9",
388
"43 9 10 cipher_suite_entry integer 10",
389
"43 10 11 cipher_suite_entry integer 11",
390
"43 11 12 cipher_suite_entry integer 12",
391
"43 12 13 cipher_suite_entry integer 13",
392
"43 13 14 cipher_suite_entry integer 14",
393
"43 14 15 cipher_suite_entry integer 15",
394
"43 15 -1 cipher_suite_entry integer 16",
395
"44 0 1 max_priv_for_cipher_suite integer 0",
396
"44 1 2 max_priv_for_cipher_suite integer 0",
397
"44 2 3 max_priv_for_cipher_suite integer 0",
398
"44 3 4 max_priv_for_cipher_suite integer 0",
399
"44 4 5 max_priv_for_cipher_suite integer 0",
400
"44 5 6 max_priv_for_cipher_suite integer 0",
401
"44 6 7 max_priv_for_cipher_suite integer 0",
402
"44 7 8 max_priv_for_cipher_suite integer 0",
403
"44 8 9 max_priv_for_cipher_suite integer 0",
404
"44 9 10 max_priv_for_cipher_suite integer 0",
405
"44 10 11 max_priv_for_cipher_suite integer 0",
406
"44 11 12 max_priv_for_cipher_suite integer 0",
407
"44 12 13 max_priv_for_cipher_suite integer 0",
408
"44 13 14 max_priv_for_cipher_suite integer 0",
409
"44 14 15 max_priv_for_cipher_suite integer 0",
410
"44 15 -1 max_priv_for_cipher_suite integer 0" );
413
( "0 -1 -1 support_auth_oem bool false 1",
414
"1 -1 -1 support_auth_straight bool false 1",
415
"2 -1 -1 support_auth_md5 bool false 1",
416
"3 -1 -1 support_auth_md2 bool false 1",
417
"4 -1 -1 support_auth_none bool false 1",
418
"5 -1 -1 ip_addr_source integer 1",
419
"6 -1 -1 ipv4_ttl integer 2",
420
"7 -1 -1 ipv4_flags integer 3",
421
"8 -1 -1 ipv4_precedence integer 4",
422
"9 -1 -1 ipv4_tos integer 5",
423
"10 0 1 enable_auth_oem bool true",
424
"10 1 2 enable_auth_oem bool true",
425
"10 2 3 enable_auth_oem bool true",
426
"10 3 4 enable_auth_oem bool true",
427
"10 4 -1 enable_auth_oem bool true",
428
"11 0 1 enable_auth_straight bool true",
429
"11 1 2 enable_auth_straight bool true",
430
"11 2 3 enable_auth_straight bool true",
431
"11 3 4 enable_auth_straight bool true",
432
"11 4 -1 enable_auth_straight bool true",
433
"12 0 1 enable_auth_md5 bool true",
434
"12 1 2 enable_auth_md5 bool true",
435
"12 2 3 enable_auth_md5 bool true",
436
"12 3 4 enable_auth_md5 bool true",
437
"12 4 -1 enable_auth_md5 bool true",
438
"13 0 1 enable_auth_md2 bool true",
439
"13 1 2 enable_auth_md2 bool true",
440
"13 2 3 enable_auth_md2 bool true",
441
"13 3 4 enable_auth_md2 bool true",
442
"13 4 -1 enable_auth_md2 bool true",
443
"14 0 1 enable_auth_none bool true",
444
"14 1 2 enable_auth_none bool true",
445
"14 2 3 enable_auth_none bool true",
446
"14 3 4 enable_auth_none bool true",
447
"14 4 -1 enable_auth_none bool true",
448
"15 -1 -1 ip_addr ip 1.2.3.4",
449
"16 -1 -1 mac_addr mac 11:22:33:44:55:bb",
450
"17 -1 -1 subnet_mask ip 5.6.7.8",
451
"18 -1 -1 port_rmcp_primary integer 9",
452
"19 -1 -1 port_rmcp_secondary integer 10",
453
"20 -1 -1 bmc_generated_arps bool true",
454
"21 -1 -1 bmc_generated_garps bool true",
455
"22 -1 -1 garp_interval integer 11",
456
"23 -1 -1 default_gateway_ip_addr ip 12.13.14.15",
457
"24 -1 -1 default_gateway_mac_addr mac cc:16:17:18:19:20",
458
"25 -1 -1 backup_gateway_ip_addr ip 21.22.23.24",
459
"26 -1 -1 backup_gateway_mac_addr mac dd:25:26:27:28:29",
460
"27 -1 -1 community_string data 0x30%0x31%0x32%0x33%0x34%0x35%0x36%0x37%0x38%0x39%0x3a%0x3b%0x3c%0x3d%0x3e%0x3f%0x40%0x41",
461
"28 -1 -1 num_alert_destinations integer 16 1",
462
"29 0 1 alert_ack bool true",
463
"29 1 2 alert_ack bool true",
464
"29 2 3 alert_ack bool true",
465
"29 3 4 alert_ack bool true",
466
"29 4 5 alert_ack bool true",
467
"29 5 6 alert_ack bool true",
468
"29 6 7 alert_ack bool true",
469
"29 7 8 alert_ack bool true",
470
"29 8 9 alert_ack bool true",
471
"29 9 10 alert_ack bool true",
472
"29 10 11 alert_ack bool true",
473
"29 11 12 alert_ack bool true",
474
"29 12 13 alert_ack bool true",
475
"29 13 14 alert_ack bool true",
476
"29 14 15 alert_ack bool true",
477
"29 15 -1 alert_ack bool true",
478
"30 0 1 dest_type integer 1",
479
"30 1 2 dest_type integer 2",
480
"30 2 3 dest_type integer 3",
481
"30 3 4 dest_type integer 4",
482
"30 4 5 dest_type integer 5",
483
"30 5 6 dest_type integer 6",
484
"30 6 7 dest_type integer 7",
485
"30 7 8 dest_type integer 7",
486
"30 8 9 dest_type integer 6",
487
"30 9 10 dest_type integer 5",
488
"30 10 11 dest_type integer 4",
489
"30 11 12 dest_type integer 3",
490
"30 12 13 dest_type integer 2",
491
"30 13 14 dest_type integer 1",
492
"30 14 15 dest_type integer 2",
493
"30 15 -1 dest_type integer 3",
494
"31 0 1 alert_retry_interval integer 1",
495
"31 1 2 alert_retry_interval integer 2",
496
"31 2 3 alert_retry_interval integer 3",
497
"31 3 4 alert_retry_interval integer 4",
498
"31 4 5 alert_retry_interval integer 5",
499
"31 5 6 alert_retry_interval integer 6",
500
"31 6 7 alert_retry_interval integer 7",
501
"31 7 8 alert_retry_interval integer 8",
502
"31 8 9 alert_retry_interval integer 9",
503
"31 9 10 alert_retry_interval integer 10",
504
"31 10 11 alert_retry_interval integer 11",
505
"31 11 12 alert_retry_interval integer 12",
506
"31 12 13 alert_retry_interval integer 13",
507
"31 13 14 alert_retry_interval integer 14",
508
"31 14 15 alert_retry_interval integer 15",
509
"31 15 -1 alert_retry_interval integer 14",
510
"32 0 1 max_alert_retries integer 1",
511
"32 1 2 max_alert_retries integer 2",
512
"32 2 3 max_alert_retries integer 3",
513
"32 3 4 max_alert_retries integer 4",
514
"32 4 5 max_alert_retries integer 5",
515
"32 5 6 max_alert_retries integer 6",
516
"32 6 7 max_alert_retries integer 7",
517
"32 7 8 max_alert_retries integer 6",
518
"32 8 9 max_alert_retries integer 5",
519
"32 9 10 max_alert_retries integer 4",
520
"32 10 11 max_alert_retries integer 3",
521
"32 11 12 max_alert_retries integer 2",
522
"32 12 13 max_alert_retries integer 1",
523
"32 13 14 max_alert_retries integer 2",
524
"32 14 15 max_alert_retries integer 3",
525
"32 15 -1 max_alert_retries integer 4",
526
"33 0 1 dest_format integer 1",
527
"33 1 2 dest_format integer 2",
528
"33 2 3 dest_format integer 3",
529
"33 3 4 dest_format integer 4",
530
"33 4 5 dest_format integer 5",
531
"33 5 6 dest_format integer 6",
532
"33 6 7 dest_format integer 7",
533
"33 7 8 dest_format integer 8",
534
"33 8 9 dest_format integer 9",
535
"33 9 10 dest_format integer 10",
536
"33 10 11 dest_format integer 11",
537
"33 11 12 dest_format integer 12",
538
"33 12 13 dest_format integer 13",
539
"33 13 14 dest_format integer 14",
540
"33 14 15 dest_format integer 15",
541
"33 15 -1 dest_format integer 14",
542
"34 0 1 gw_to_use integer 1",
543
"34 1 2 gw_to_use integer 1",
544
"34 2 3 gw_to_use integer 1",
545
"34 3 4 gw_to_use integer 1",
546
"34 4 5 gw_to_use integer 1",
547
"34 5 6 gw_to_use integer 1",
548
"34 6 7 gw_to_use integer 1",
549
"34 7 8 gw_to_use integer 1",
550
"34 8 9 gw_to_use integer 1",
551
"34 9 10 gw_to_use integer 1",
552
"34 10 11 gw_to_use integer 1",
553
"34 11 12 gw_to_use integer 1",
554
"34 12 13 gw_to_use integer 1",
555
"34 13 14 gw_to_use integer 1",
556
"34 14 15 gw_to_use integer 1",
557
"34 15 -1 gw_to_use integer 1",
558
"35 0 1 dest_ip_addr ip 1.1.1.1",
559
"35 1 2 dest_ip_addr ip 2.2.2.2",
560
"35 2 3 dest_ip_addr ip 3.3.3.3",
561
"35 3 4 dest_ip_addr ip 4.4.4.4",
562
"35 4 5 dest_ip_addr ip 5.5.5.5",
563
"35 5 6 dest_ip_addr ip 6.6.6.6",
564
"35 6 7 dest_ip_addr ip 7.7.7.7",
565
"35 7 8 dest_ip_addr ip 8.8.8.8",
566
"35 8 9 dest_ip_addr ip 9.9.9.9",
567
"35 9 10 dest_ip_addr ip 10.10.10.10",
568
"35 10 11 dest_ip_addr ip 11.11.11.11",
569
"35 11 12 dest_ip_addr ip 12.12.12.12",
570
"35 12 13 dest_ip_addr ip 13.13.13.13",
571
"35 13 14 dest_ip_addr ip 14.14.14.14",
572
"35 14 15 dest_ip_addr ip 15.15.15.15",
573
"35 15 -1 dest_ip_addr ip 16.16.16.16",
574
"36 0 1 dest_mac_addr mac 11:11:11:11:11:11",
575
"36 1 2 dest_mac_addr mac 22:22:22:22:22:22",
576
"36 2 3 dest_mac_addr mac 33:33:33:33:33:33",
577
"36 3 4 dest_mac_addr mac 44:44:44:44:44:44",
578
"36 4 5 dest_mac_addr mac 55:55:55:55:55:55",
579
"36 5 6 dest_mac_addr mac 66:66:66:66:66:66",
580
"36 6 7 dest_mac_addr mac 77:77:77:77:77:77",
581
"36 7 8 dest_mac_addr mac 88:88:88:88:88:88",
582
"36 8 9 dest_mac_addr mac 99:99:99:99:99:99",
583
"36 9 10 dest_mac_addr mac aa:aa:aa:aa:aa:aa",
584
"36 10 11 dest_mac_addr mac bb:bb:bb:bb:bb:bb",
585
"36 11 12 dest_mac_addr mac cc:cc:cc:cc:cc:cc",
586
"36 12 13 dest_mac_addr mac dd:dd:dd:dd:dd:dd",
587
"36 13 14 dest_mac_addr mac ee:ee:ee:ee:ee:ee",
588
"36 14 15 dest_mac_addr mac ff:ff:ff:ff:ff:ff",
589
"36 15 -1 dest_mac_addr mac ee:ee:ee:ee:ee:ee",
590
"37 0 1 dest_vlan_tag_type integer 1",
591
"37 1 2 dest_vlan_tag_type integer 2",
592
"37 2 3 dest_vlan_tag_type integer 3",
593
"37 3 4 dest_vlan_tag_type integer 4",
594
"37 4 5 dest_vlan_tag_type integer 5",
595
"37 5 6 dest_vlan_tag_type integer 6",
596
"37 6 7 dest_vlan_tag_type integer 7",
597
"37 7 8 dest_vlan_tag_type integer 8",
598
"37 8 9 dest_vlan_tag_type integer 9",
599
"37 9 10 dest_vlan_tag_type integer 10",
600
"37 10 11 dest_vlan_tag_type integer 11",
601
"37 11 12 dest_vlan_tag_type integer 12",
602
"37 12 13 dest_vlan_tag_type integer 13",
603
"37 13 14 dest_vlan_tag_type integer 14",
604
"37 14 15 dest_vlan_tag_type integer 15",
605
"37 15 -1 dest_vlan_tag_type integer 14",
606
"38 0 1 dest_vlan_tag integer 1234",
607
"38 1 2 dest_vlan_tag integer 3333",
608
"38 2 3 dest_vlan_tag integer 4353",
609
"38 3 4 dest_vlan_tag integer 46434",
610
"38 4 5 dest_vlan_tag integer 3453",
611
"38 5 6 dest_vlan_tag integer 56455",
612
"38 6 7 dest_vlan_tag integer 3434",
613
"38 7 8 dest_vlan_tag integer 36344",
614
"38 8 9 dest_vlan_tag integer 34755",
615
"38 9 10 dest_vlan_tag integer 2346",
616
"38 10 11 dest_vlan_tag integer 34",
617
"38 11 12 dest_vlan_tag integer 54904",
618
"38 12 13 dest_vlan_tag integer 53094",
619
"38 13 14 dest_vlan_tag integer 59045",
620
"38 14 15 dest_vlan_tag integer 4564",
621
"38 15 -1 dest_vlan_tag integer 49433",
622
"39 -1 -1 vlan_id_enable bool true",
623
"40 -1 -1 vlan_id integer 18",
624
"41 -1 -1 vlan_priority integer 3",
625
"42 -1 -1 num_cipher_suites integer 16 1",
626
"43 0 1 cipher_suite_entry integer 1 1",
627
"43 1 2 cipher_suite_entry integer 2 1",
628
"43 2 3 cipher_suite_entry integer 3 1",
629
"43 3 4 cipher_suite_entry integer 4 1",
630
"43 4 5 cipher_suite_entry integer 5 1",
631
"43 5 6 cipher_suite_entry integer 6 1",
632
"43 6 7 cipher_suite_entry integer 7 1",
633
"43 7 8 cipher_suite_entry integer 8 1",
634
"43 8 9 cipher_suite_entry integer 9 1",
635
"43 9 10 cipher_suite_entry integer 10 1",
636
"43 10 11 cipher_suite_entry integer 11 1",
637
"43 11 12 cipher_suite_entry integer 12 1",
638
"43 12 13 cipher_suite_entry integer 13 1",
639
"43 13 14 cipher_suite_entry integer 14 1",
640
"43 14 15 cipher_suite_entry integer 15 1",
641
"43 15 -1 cipher_suite_entry integer 16 1",
642
"44 0 1 max_priv_for_cipher_suite integer 15",
643
"44 1 2 max_priv_for_cipher_suite integer 14",
644
"44 2 3 max_priv_for_cipher_suite integer 13",
645
"44 3 4 max_priv_for_cipher_suite integer 12",
646
"44 4 5 max_priv_for_cipher_suite integer 11",
647
"44 5 6 max_priv_for_cipher_suite integer 10",
648
"44 6 7 max_priv_for_cipher_suite integer 9",
649
"44 7 8 max_priv_for_cipher_suite integer 8",
650
"44 8 9 max_priv_for_cipher_suite integer 7",
651
"44 9 10 max_priv_for_cipher_suite integer 6",
652
"44 10 11 max_priv_for_cipher_suite integer 5",
653
"44 11 12 max_priv_for_cipher_suite integer 4",
654
"44 12 13 max_priv_for_cipher_suite integer 3",
655
"44 13 14 max_priv_for_cipher_suite integer 2",
656
"44 14 15 max_priv_for_cipher_suite integer 1",
657
"44 15 -1 max_priv_for_cipher_suite integer 2");
659
sub lanparm_set_config_cb {
664
print "Lanparm config set\n";
666
$rv = $lanparm->get_config($self);
668
main::reg_err("Unable to get lanparm config: $rv\n");
674
sub lanparm_got_config_cb {
682
if ($$self->{accmode} == 0) {
683
@config = @first_configs;
684
print "Checking first config\n";
686
@config = @set_configs;
687
print "Checking second config\n";
691
my ($parm, $idx, $nidx, $name, $type, $val) = split /\s+/, $i;
692
$val = join(" ", split(/%/, $val));
693
my $vidx = int($idx);
694
my $v = $config->get_val($parm, \$vidx);
695
my ($vname, $vtype, $vval) = split /\s+/, $v, 3;
696
if ($name ne $vname) {
697
main::reg_err("$parm($idx) name mismatch, expected $name, got $vname");
699
if ($type ne $vtype) {
700
main::reg_err("$parm($idx) type mismatch, expected $type, got $vtype");
703
main::reg_err("$parm($idx) val mismatch, expected $val, got $vval");
705
if ($nidx != $vidx) {
706
main::reg_err("$parm($idx) nidx mismatch, expected $nidx, got $vidx");
710
if ($$self->{accmode} == 0) {
711
for $i (@set_configs) {
712
my ($parm, $idx, $nidx, $name, $type, $val, $ro) = split /\s+/, $i;
713
next if ($ro); # skip read-only vals
714
$val = join(" ", split(/%/, $val));
715
$rv = $config->set_val($parm, $idx, $type, $val);
717
main::reg_err("error $rv setting parm $parm($idx) $type $val");
720
$$self->{accmode} = 1;
722
$rv = $lanparm->set_config($config, $self);
724
main::reg_err("Unable to set lanparm config: $rv\n");
729
$rv = $lanparm->get_parm($OpenIPMI::LANPARM_AUTH_TYPE_ENABLES,
732
main::reg_err("Unable to request lan parm(1): $rv\n");
747
if ($op eq "added") {
748
print $op, " MC ", $mc->get_name(), "\n";
749
$lanparm = $mc->get_lanparm(7);
750
if (! defined($lanparm)) {
751
main::reg_err("Unable to get lanparm\n");
755
$rv = $lanparm->get_config($self);
757
main::reg_err("Unable to get lanparm config: $rv\n");
768
my $conn_num = shift;
769
my $port_num = shift;
770
my $still_connected = shift;
774
main::reg_err("Error starting up IPMI connection: $err");
779
print "Connection up!\n";
780
$rv = $domain->add_mc_update_handler($self);
782
main::reg_err("Unable to add mc updated handler: $rv\n");
788
sub domain_close_done_cb {
791
$$self->{keepon} = 0;
798
if (defined $$self->{domain_id}) {
799
my $v = CloseDomain::new($self);
800
$$self->{domain_id}->to_domain($v);
802
$$self->{keepon} = 0;
810
$lanserv = Lanserv->new();
812
main::reg_err("Unable to start lanserv");
817
$lanserv->cmd("mc_add 20 0 1 23 9 8 1f 1291 f02");
818
$lanserv->cmd("mc_setbmc 20");
819
$lanserv->cmd("mc_enable 20");
823
#OpenIPMI::enable_debug_msg();
824
OpenIPMI::enable_debug_malloc();
829
$h = Handlers::new();
831
OpenIPMI::set_log_handler($h);
833
@args = ( "-noseteventrcvr",
834
"lan", "-p", "9000", "-U", "minyard", "-P", "test", "localhost");
835
$$h->{domain_id} = OpenIPMI::open_domain2("test", \@args, $h, \undef);
836
if (! $$h->{domain_id}) {
838
print "IPMI open failed\n";
842
while ($$h->{keepon}) {
843
OpenIPMI::wait_io(1000);
847
OpenIPMI::shutdown_everything();
848
exit main::get_errcount();