Deleted Added
full compact
bridge_port.c (164997) bridge_port.c (165046)
1/*-
2 * Copyright (c) 2006 Shteryana Shopova <syrinx@FreeBSD.org>
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
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 12 unchanged lines hidden (view full) ---

21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * Bridge MIB implementation for SNMPd.
27 * Bridge ports.
28 *
1/*-
2 * Copyright (c) 2006 Shteryana Shopova <syrinx@FreeBSD.org>
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
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 12 unchanged lines hidden (view full) ---

21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * Bridge MIB implementation for SNMPd.
27 * Bridge ports.
28 *
29 * $FreeBSD: head/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c 164997 2006-12-07 22:36:17Z syrinx $
29 * $FreeBSD: head/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c 165046 2006-12-09 20:58:26Z syrinx $
30 */
31
32#include <sys/queue.h>
33#include <sys/socket.h>
34#include <sys/types.h>
35
36#include <net/ethernet.h>
37#include <net/if.h>

--- 310 unchanged lines hidden (view full) ---

348
349 if ((bif = bridge_get_default()) == NULL)
350 return (SNMP_ERR_NOSUCHNAME);
351
352 if (time(NULL) - bif->ports_age > bridge_get_data_maxage() &&
353 bridge_update_memif(bif) <= 0)
354 return (SNMP_ERR_NOSUCHNAME);
355
30 */
31
32#include <sys/queue.h>
33#include <sys/socket.h>
34#include <sys/types.h>
35
36#include <net/ethernet.h>
37#include <net/if.h>

--- 310 unchanged lines hidden (view full) ---

348
349 if ((bif = bridge_get_default()) == NULL)
350 return (SNMP_ERR_NOSUCHNAME);
351
352 if (time(NULL) - bif->ports_age > bridge_get_data_maxage() &&
353 bridge_update_memif(bif) <= 0)
354 return (SNMP_ERR_NOSUCHNAME);
355
356 bp = NULL; /* Make the compiler happy. */
357 switch (op) {
358 case SNMP_OP_GET:
359 if (val->var.len - sub != 1)
360 return (SNMP_ERR_NOSUCHNAME);
361 if ((bp = bridge_port_find(val->var.subs[sub],
362 bif)) == NULL)
363 return (SNMP_ERR_NOSUCHNAME);
364 break;

--- 12 unchanged lines hidden (view full) ---

377 val->var.subs[sub] = bp->port_no;
378 break;
379
380 case SNMP_OP_SET:
381 return (SNMP_ERR_NOT_WRITEABLE);
382
383 case SNMP_OP_ROLLBACK:
384 case SNMP_OP_COMMIT:
356 switch (op) {
357 case SNMP_OP_GET:
358 if (val->var.len - sub != 1)
359 return (SNMP_ERR_NOSUCHNAME);
360 if ((bp = bridge_port_find(val->var.subs[sub],
361 bif)) == NULL)
362 return (SNMP_ERR_NOSUCHNAME);
363 break;

--- 12 unchanged lines hidden (view full) ---

376 val->var.subs[sub] = bp->port_no;
377 break;
378
379 case SNMP_OP_SET:
380 return (SNMP_ERR_NOT_WRITEABLE);
381
382 case SNMP_OP_ROLLBACK:
383 case SNMP_OP_COMMIT:
384 default:
385 abort();
386 }
387
388 switch (val->var.subs[sub - 1]) {
389 case LEAF_dot1dBasePort:
390 val->v.integer = bp->port_no;
391 break;
392 case LEAF_dot1dBasePortIfIndex:

--- 23 unchanged lines hidden (view full) ---

416
417 if ((bif = bridge_get_default()) == NULL)
418 return (SNMP_ERR_NOSUCHNAME);
419
420 if (time(NULL) - bif->ports_age > bridge_get_data_maxage() &&
421 bridge_update_memif(bif) <= 0)
422 return (SNMP_ERR_NOSUCHNAME);
423
385 abort();
386 }
387
388 switch (val->var.subs[sub - 1]) {
389 case LEAF_dot1dBasePort:
390 val->v.integer = bp->port_no;
391 break;
392 case LEAF_dot1dBasePortIfIndex:

--- 23 unchanged lines hidden (view full) ---

416
417 if ((bif = bridge_get_default()) == NULL)
418 return (SNMP_ERR_NOSUCHNAME);
419
420 if (time(NULL) - bif->ports_age > bridge_get_data_maxage() &&
421 bridge_update_memif(bif) <= 0)
422 return (SNMP_ERR_NOSUCHNAME);
423
424 bp = NULL; /* Make the compiler happy. */
425
426 switch (op) {
427 case SNMP_OP_GET:
428 if (val->var.len - sub != 1)
429 return (SNMP_ERR_NOSUCHNAME);
430 if ((bp = bridge_port_find(val->var.subs[sub],
431 bif)) == NULL)
432 return (SNMP_ERR_NOSUCHNAME);
433 break;

--- 69 unchanged lines hidden (view full) ---

503 bridge_port_set_path_cost(bif->bif_name, bp,
504 ctx->scratch->int1);
505 break;
506 }
507 return (SNMP_ERR_NOERROR);
508
509 case SNMP_OP_COMMIT:
510 return (SNMP_ERR_NOERROR);
424 switch (op) {
425 case SNMP_OP_GET:
426 if (val->var.len - sub != 1)
427 return (SNMP_ERR_NOSUCHNAME);
428 if ((bp = bridge_port_find(val->var.subs[sub],
429 bif)) == NULL)
430 return (SNMP_ERR_NOSUCHNAME);
431 break;

--- 69 unchanged lines hidden (view full) ---

501 bridge_port_set_path_cost(bif->bif_name, bp,
502 ctx->scratch->int1);
503 break;
504 }
505 return (SNMP_ERR_NOERROR);
506
507 case SNMP_OP_COMMIT:
508 return (SNMP_ERR_NOERROR);
509
510 default:
511 abort();
511 }
512
513 ret = SNMP_ERR_NOERROR;
514 switch (val->var.subs[sub - 1]) {
515 case LEAF_dot1dStpPort:
516 val->v.integer = bp->port_no;
517 break;
518 case LEAF_dot1dStpPortPriority:

--- 40 unchanged lines hidden (view full) ---

559
560 if ((bif = bridge_get_default()) == NULL)
561 return (SNMP_ERR_NOSUCHNAME);
562
563 if (time(NULL) - bif->ports_age > bridge_get_data_maxage() &&
564 bridge_update_memif(bif) <= 0)
565 return (SNMP_ERR_NOSUCHNAME);
566
512 }
513
514 ret = SNMP_ERR_NOERROR;
515 switch (val->var.subs[sub - 1]) {
516 case LEAF_dot1dStpPort:
517 val->v.integer = bp->port_no;
518 break;
519 case LEAF_dot1dStpPortPriority:

--- 40 unchanged lines hidden (view full) ---

560
561 if ((bif = bridge_get_default()) == NULL)
562 return (SNMP_ERR_NOSUCHNAME);
563
564 if (time(NULL) - bif->ports_age > bridge_get_data_maxage() &&
565 bridge_update_memif(bif) <= 0)
566 return (SNMP_ERR_NOSUCHNAME);
567
567 bp = NULL; /* Make the compiler happy. */
568 switch (op) {
569 case SNMP_OP_GET:
570 if (val->var.len - sub != 1)
571 return (SNMP_ERR_NOSUCHNAME);
572 if ((bp = bridge_port_find(val->var.subs[sub],
573 bif)) == NULL)
574 return (SNMP_ERR_NOSUCHNAME);
575 break;

--- 67 unchanged lines hidden (view full) ---

643 bridge_port_set_path_cost(bif->bif_name, bp,
644 ctx->scratch->int1);
645 break;
646 }
647 return (SNMP_ERR_NOERROR);
648
649 case SNMP_OP_COMMIT:
650 return (SNMP_ERR_NOERROR);
568 switch (op) {
569 case SNMP_OP_GET:
570 if (val->var.len - sub != 1)
571 return (SNMP_ERR_NOSUCHNAME);
572 if ((bp = bridge_port_find(val->var.subs[sub],
573 bif)) == NULL)
574 return (SNMP_ERR_NOSUCHNAME);
575 break;

--- 67 unchanged lines hidden (view full) ---

643 bridge_port_set_path_cost(bif->bif_name, bp,
644 ctx->scratch->int1);
645 break;
646 }
647 return (SNMP_ERR_NOERROR);
648
649 case SNMP_OP_COMMIT:
650 return (SNMP_ERR_NOERROR);
651
652 default:
653 abort();
651 }
652
653 switch (val->var.subs[sub - 1]) {
654 case LEAF_dot1dStpPortProtocolMigration:
655 val->v.integer = bp->proto_migr;
656 break;
657 case LEAF_dot1dStpPortAdminEdgePort:
658 val->v.integer = bp->admin_edge;

--- 24 unchanged lines hidden (view full) ---

683
684 if ((bif = bridge_get_default()) == NULL)
685 return (SNMP_ERR_NOSUCHNAME);
686
687 if (time(NULL) - bif->ports_age > bridge_get_data_maxage() &&
688 bridge_update_memif(bif) <= 0)
689 return (SNMP_ERR_NOSUCHNAME);
690
654 }
655
656 switch (val->var.subs[sub - 1]) {
657 case LEAF_dot1dStpPortProtocolMigration:
658 val->v.integer = bp->proto_migr;
659 break;
660 case LEAF_dot1dStpPortAdminEdgePort:
661 val->v.integer = bp->admin_edge;

--- 24 unchanged lines hidden (view full) ---

686
687 if ((bif = bridge_get_default()) == NULL)
688 return (SNMP_ERR_NOSUCHNAME);
689
690 if (time(NULL) - bif->ports_age > bridge_get_data_maxage() &&
691 bridge_update_memif(bif) <= 0)
692 return (SNMP_ERR_NOSUCHNAME);
693
691 bp = NULL; /* Make the compiler happy. */
692 switch (op) {
693 case SNMP_OP_GET:
694 if (val->var.len - sub != 1)
695 return (SNMP_ERR_NOSUCHNAME);
696 if ((bp = bridge_port_find(val->var.subs[sub],
697 bif)) == NULL)
698 return (SNMP_ERR_NOSUCHNAME);
699 break;

--- 12 unchanged lines hidden (view full) ---

712 val->var.subs[sub] = bp->port_no;
713 break;
714
715 case SNMP_OP_SET:
716 return (SNMP_ERR_NOT_WRITEABLE);
717
718 case SNMP_OP_ROLLBACK:
719 case SNMP_OP_COMMIT:
694 switch (op) {
695 case SNMP_OP_GET:
696 if (val->var.len - sub != 1)
697 return (SNMP_ERR_NOSUCHNAME);
698 if ((bp = bridge_port_find(val->var.subs[sub],
699 bif)) == NULL)
700 return (SNMP_ERR_NOSUCHNAME);
701 break;

--- 12 unchanged lines hidden (view full) ---

714 val->var.subs[sub] = bp->port_no;
715 break;
716
717 case SNMP_OP_SET:
718 return (SNMP_ERR_NOT_WRITEABLE);
719
720 case SNMP_OP_ROLLBACK:
721 case SNMP_OP_COMMIT:
722 default:
720 abort();
721 }
722
723 switch (val->var.subs[sub - 1]) {
724 case LEAF_dot1dTpPort:
725 val->v.integer = bp->port_no;
726 break;
727 case LEAF_dot1dTpPortMaxInfo:

--- 389 unchanged lines hidden (view full) ---

1117 return (SNMP_ERR_NOERROR);
1118}
1119
1120int
1121op_begemot_stp_port(struct snmp_context *ctx, struct snmp_value *val,
1122 uint sub, uint iidx __unused, enum snmp_op op)
1123{
1124 int ret;
723 abort();
724 }
725
726 switch (val->var.subs[sub - 1]) {
727 case LEAF_dot1dTpPort:
728 val->v.integer = bp->port_no;
729 break;
730 case LEAF_dot1dTpPortMaxInfo:

--- 389 unchanged lines hidden (view full) ---

1120 return (SNMP_ERR_NOERROR);
1121}
1122
1123int
1124op_begemot_stp_port(struct snmp_context *ctx, struct snmp_value *val,
1125 uint sub, uint iidx __unused, enum snmp_op op)
1126{
1127 int ret;
1125 struct bridge_port *bp = NULL;
1128 struct bridge_port *bp;
1126 const char *b_name;
1127
1128 if (time(NULL) - ports_list_age > bridge_get_data_maxage())
1129 bridge_update_all_ports();
1130
1131 switch (op) {
1132 case SNMP_OP_GET:
1133 if ((bp = bridge_port_index_get(&val->var, sub, 0)) == NULL)

--- 62 unchanged lines hidden (view full) ---

1196 bridge_port_set_path_cost(b_name, bp,
1197 ctx->scratch->int1);
1198 break;
1199 }
1200 return (SNMP_ERR_NOERROR);
1201
1202 case SNMP_OP_COMMIT:
1203 return (SNMP_ERR_NOERROR);
1129 const char *b_name;
1130
1131 if (time(NULL) - ports_list_age > bridge_get_data_maxage())
1132 bridge_update_all_ports();
1133
1134 switch (op) {
1135 case SNMP_OP_GET:
1136 if ((bp = bridge_port_index_get(&val->var, sub, 0)) == NULL)

--- 62 unchanged lines hidden (view full) ---

1199 bridge_port_set_path_cost(b_name, bp,
1200 ctx->scratch->int1);
1201 break;
1202 }
1203 return (SNMP_ERR_NOERROR);
1204
1205 case SNMP_OP_COMMIT:
1206 return (SNMP_ERR_NOERROR);
1207
1208 default:
1209 abort();
1204 }
1205
1206 ret = SNMP_ERR_NOERROR;
1207 switch (val->var.subs[sub - 1]) {
1208 case LEAF_begemotBridgeStpPort:
1209 val->v.integer = bp->port_no;
1210 break;
1211 case LEAF_begemotBridgeStpPortPriority:

--- 28 unchanged lines hidden (view full) ---

1240 return (ret);
1241}
1242
1243int
1244op_begemot_stp_ext_port(struct snmp_context *ctx, struct snmp_value *val,
1245 uint sub, uint iidx __unused, enum snmp_op op)
1246{
1247 int ret;
1210 }
1211
1212 ret = SNMP_ERR_NOERROR;
1213 switch (val->var.subs[sub - 1]) {
1214 case LEAF_begemotBridgeStpPort:
1215 val->v.integer = bp->port_no;
1216 break;
1217 case LEAF_begemotBridgeStpPortPriority:

--- 28 unchanged lines hidden (view full) ---

1246 return (ret);
1247}
1248
1249int
1250op_begemot_stp_ext_port(struct snmp_context *ctx, struct snmp_value *val,
1251 uint sub, uint iidx __unused, enum snmp_op op)
1252{
1253 int ret;
1248 struct bridge_port *bp = NULL;
1254 struct bridge_port *bp;
1249 const char *b_name;
1250
1251 if (time(NULL) - ports_list_age > bridge_get_data_maxage())
1252 bridge_update_all_ports();
1253
1254 switch (op) {
1255 case SNMP_OP_GET:
1256 if ((bp = bridge_port_index_get(&val->var, sub, 0)) == NULL)

--- 60 unchanged lines hidden (view full) ---

1317 bridge_port_set_path_cost(b_name, bp,
1318 ctx->scratch->int1);
1319 break;
1320 }
1321 return (SNMP_ERR_NOERROR);
1322
1323 case SNMP_OP_COMMIT:
1324 return (SNMP_ERR_NOERROR);
1255 const char *b_name;
1256
1257 if (time(NULL) - ports_list_age > bridge_get_data_maxage())
1258 bridge_update_all_ports();
1259
1260 switch (op) {
1261 case SNMP_OP_GET:
1262 if ((bp = bridge_port_index_get(&val->var, sub, 0)) == NULL)

--- 60 unchanged lines hidden (view full) ---

1323 bridge_port_set_path_cost(b_name, bp,
1324 ctx->scratch->int1);
1325 break;
1326 }
1327 return (SNMP_ERR_NOERROR);
1328
1329 case SNMP_OP_COMMIT:
1330 return (SNMP_ERR_NOERROR);
1331
1332 default:
1333 abort();
1325 }
1326
1327 switch (val->var.subs[sub - 1]) {
1328 case LEAF_begemotBridgeStpPortProtocolMigration:
1329 val->v.integer = bp->proto_migr;
1330 break;
1331 case LEAF_begemotBridgeStpPortAdminEdgePort:
1332 val->v.integer = bp->admin_edge;

--- 14 unchanged lines hidden (view full) ---

1347
1348 return (SNMP_ERR_NOERROR);
1349}
1350
1351int
1352op_begemot_tp_port(struct snmp_context *c __unused, struct snmp_value *val,
1353 uint sub, uint iidx __unused, enum snmp_op op)
1354{
1334 }
1335
1336 switch (val->var.subs[sub - 1]) {
1337 case LEAF_begemotBridgeStpPortProtocolMigration:
1338 val->v.integer = bp->proto_migr;
1339 break;
1340 case LEAF_begemotBridgeStpPortAdminEdgePort:
1341 val->v.integer = bp->admin_edge;

--- 14 unchanged lines hidden (view full) ---

1356
1357 return (SNMP_ERR_NOERROR);
1358}
1359
1360int
1361op_begemot_tp_port(struct snmp_context *c __unused, struct snmp_value *val,
1362 uint sub, uint iidx __unused, enum snmp_op op)
1363{
1355 struct bridge_port *bp = NULL;
1364 struct bridge_port *bp;
1356
1357 if (time(NULL) - ports_list_age > bridge_get_data_maxage())
1358 bridge_update_all_ports();
1359
1360 switch (op) {
1361 case SNMP_OP_GET:
1362 if ((bp = bridge_port_index_get(&val->var, sub, 0)) == NULL)
1363 return (SNMP_ERR_NOSUCHNAME);

--- 5 unchanged lines hidden (view full) ---

1369 return (SNMP_ERR_NOSUCHNAME);
1370 break;
1371
1372 case SNMP_OP_SET:
1373 return (SNMP_ERR_NOT_WRITEABLE);
1374
1375 case SNMP_OP_ROLLBACK:
1376 case SNMP_OP_COMMIT:
1365
1366 if (time(NULL) - ports_list_age > bridge_get_data_maxage())
1367 bridge_update_all_ports();
1368
1369 switch (op) {
1370 case SNMP_OP_GET:
1371 if ((bp = bridge_port_index_get(&val->var, sub, 0)) == NULL)
1372 return (SNMP_ERR_NOSUCHNAME);

--- 5 unchanged lines hidden (view full) ---

1378 return (SNMP_ERR_NOSUCHNAME);
1379 break;
1380
1381 case SNMP_OP_SET:
1382 return (SNMP_ERR_NOT_WRITEABLE);
1383
1384 case SNMP_OP_ROLLBACK:
1385 case SNMP_OP_COMMIT:
1377 return (SNMP_ERR_NOERROR);
1386 default:
1387 abort();
1378 }
1379
1380 switch (val->var.subs[sub - 1]) {
1381 case LEAF_begemotBridgeTpPort:
1382 val->v.integer = bp->port_no;
1383 break;
1384 case LEAF_begemotBridgeTpPortMaxInfo:
1385 val->v.integer = bp->max_info;

--- 14 unchanged lines hidden ---
1388 }
1389
1390 switch (val->var.subs[sub - 1]) {
1391 case LEAF_begemotBridgeTpPort:
1392 val->v.integer = bp->port_no;
1393 break;
1394 case LEAF_begemotBridgeTpPortMaxInfo:
1395 val->v.integer = bp->max_info;

--- 14 unchanged lines hidden ---