Print this page
XXXX introduce drv_sectohz


 429         ASSERT(MAC_PERIM_HELD(port->lp_grp->lg_mh));
 430         ASSERT(MAC_PERIM_HELD(port->lp_mh));
 431 
 432         if (port->lp_state != AGGR_PORT_STATE_ATTACHED)
 433                 return;
 434 
 435         (void) aggr_port_multicst(port, B_FALSE,
 436             (uchar_t *)&slow_multicast_addr);
 437 }
 438 
 439 static void
 440 start_periodic_timer(aggr_port_t *portp)
 441 {
 442         aggr_lacp_port_t *pl = &portp->lp_lacp;
 443 
 444         ASSERT(MAC_PERIM_HELD(portp->lp_grp->lg_mh));
 445 
 446         mutex_enter(&pl->lacp_timer_lock);
 447         if (pl->periodic_timer.id == 0) {
 448                 pl->periodic_timer.id = timeout(periodic_timer_pop, portp,
 449                     drv_usectohz(1000000 * portp->lp_lacp.periodic_timer.val));
 450         }
 451         mutex_exit(&pl->lacp_timer_lock);
 452 }
 453 
 454 static void
 455 stop_periodic_timer(aggr_port_t *portp)
 456 {
 457         aggr_lacp_port_t *pl = &portp->lp_lacp;
 458         timeout_id_t id;
 459 
 460         ASSERT(MAC_PERIM_HELD(portp->lp_grp->lg_mh));
 461 
 462         mutex_enter(&pl->lacp_timer_lock);
 463         if ((id = pl->periodic_timer.id) != 0) {
 464                 pl->lacp_timer_bits &= ~LACP_PERIODIC_TIMEOUT;
 465                 pl->periodic_timer.id = 0;
 466         }
 467         mutex_exit(&pl->lacp_timer_lock);
 468 
 469         if (id != 0)


1500         ASSERT(MAC_PERIM_HELD(portp->lp_grp->lg_mh));
1501 
1502         AGGR_LACP_DBG(("trunk link:(%d): wait_while_timer pop \n",
1503             portp->lp_linkid));
1504         portp->lp_lacp.sm.ready_n = B_TRUE;
1505 
1506         lacp_selection_logic(portp);
1507 }
1508 
1509 static void
1510 start_wait_while_timer(aggr_port_t *portp)
1511 {
1512         aggr_lacp_port_t *pl = &portp->lp_lacp;
1513 
1514         ASSERT(MAC_PERIM_HELD(portp->lp_grp->lg_mh));
1515 
1516         mutex_enter(&pl->lacp_timer_lock);
1517         if (pl->wait_while_timer.id == 0) {
1518                 pl->wait_while_timer.id =
1519                     timeout(wait_while_timer_pop, portp,
1520                     drv_usectohz(1000000 *
1521                     portp->lp_lacp.wait_while_timer.val));
1522         }
1523         mutex_exit(&pl->lacp_timer_lock);
1524 }
1525 
1526 
1527 static void
1528 stop_wait_while_timer(aggr_port_t *portp)
1529 {
1530         aggr_lacp_port_t *pl = &portp->lp_lacp;
1531         timeout_id_t id;
1532 
1533         ASSERT(MAC_PERIM_HELD(portp->lp_grp->lg_mh));
1534 
1535         mutex_enter(&pl->lacp_timer_lock);
1536         if ((id = pl->wait_while_timer.id) != 0) {
1537                 pl->lacp_timer_bits &= ~LACP_WAIT_WHILE_TIMEOUT;
1538                 pl->wait_while_timer.id = 0;
1539         }
1540         mutex_exit(&pl->lacp_timer_lock);
1541 




 429         ASSERT(MAC_PERIM_HELD(port->lp_grp->lg_mh));
 430         ASSERT(MAC_PERIM_HELD(port->lp_mh));
 431 
 432         if (port->lp_state != AGGR_PORT_STATE_ATTACHED)
 433                 return;
 434 
 435         (void) aggr_port_multicst(port, B_FALSE,
 436             (uchar_t *)&slow_multicast_addr);
 437 }
 438 
 439 static void
 440 start_periodic_timer(aggr_port_t *portp)
 441 {
 442         aggr_lacp_port_t *pl = &portp->lp_lacp;
 443 
 444         ASSERT(MAC_PERIM_HELD(portp->lp_grp->lg_mh));
 445 
 446         mutex_enter(&pl->lacp_timer_lock);
 447         if (pl->periodic_timer.id == 0) {
 448                 pl->periodic_timer.id = timeout(periodic_timer_pop, portp,
 449                     drv_sectohz(portp->lp_lacp.periodic_timer.val));
 450         }
 451         mutex_exit(&pl->lacp_timer_lock);
 452 }
 453 
 454 static void
 455 stop_periodic_timer(aggr_port_t *portp)
 456 {
 457         aggr_lacp_port_t *pl = &portp->lp_lacp;
 458         timeout_id_t id;
 459 
 460         ASSERT(MAC_PERIM_HELD(portp->lp_grp->lg_mh));
 461 
 462         mutex_enter(&pl->lacp_timer_lock);
 463         if ((id = pl->periodic_timer.id) != 0) {
 464                 pl->lacp_timer_bits &= ~LACP_PERIODIC_TIMEOUT;
 465                 pl->periodic_timer.id = 0;
 466         }
 467         mutex_exit(&pl->lacp_timer_lock);
 468 
 469         if (id != 0)


1500         ASSERT(MAC_PERIM_HELD(portp->lp_grp->lg_mh));
1501 
1502         AGGR_LACP_DBG(("trunk link:(%d): wait_while_timer pop \n",
1503             portp->lp_linkid));
1504         portp->lp_lacp.sm.ready_n = B_TRUE;
1505 
1506         lacp_selection_logic(portp);
1507 }
1508 
1509 static void
1510 start_wait_while_timer(aggr_port_t *portp)
1511 {
1512         aggr_lacp_port_t *pl = &portp->lp_lacp;
1513 
1514         ASSERT(MAC_PERIM_HELD(portp->lp_grp->lg_mh));
1515 
1516         mutex_enter(&pl->lacp_timer_lock);
1517         if (pl->wait_while_timer.id == 0) {
1518                 pl->wait_while_timer.id =
1519                     timeout(wait_while_timer_pop, portp,
1520                     drv_sectohz(portp->lp_lacp.wait_while_timer.val));

1521         }
1522         mutex_exit(&pl->lacp_timer_lock);
1523 }
1524 
1525 
1526 static void
1527 stop_wait_while_timer(aggr_port_t *portp)
1528 {
1529         aggr_lacp_port_t *pl = &portp->lp_lacp;
1530         timeout_id_t id;
1531 
1532         ASSERT(MAC_PERIM_HELD(portp->lp_grp->lg_mh));
1533 
1534         mutex_enter(&pl->lacp_timer_lock);
1535         if ((id = pl->wait_while_timer.id) != 0) {
1536                 pl->lacp_timer_bits &= ~LACP_WAIT_WHILE_TIMEOUT;
1537                 pl->wait_while_timer.id = 0;
1538         }
1539         mutex_exit(&pl->lacp_timer_lock);
1540