Print this page
6274 MAC tries to use aggr rings from downed links
Reviewed by: Bryan Cantrill <bryan@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Approved by: Richard Lowe <richlowe@richlowe.net>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/aggr/aggr_send.c
          +++ new/usr/src/uts/common/io/aggr/aggr_send.c
↓ open down ↓ 266 lines elided ↑ open up ↑
 267  267  
 268  268                  grp->lg_tx_ports = new_ports;
 269  269                  grp->lg_tx_ports_size = new_size;
 270  270          }
 271  271  
 272  272          grp->lg_tx_ports[grp->lg_ntx_ports++] = port;
 273  273          port->lp_tx_idx = grp->lg_ntx_ports-1;
 274  274          rw_exit(&grp->lg_tx_lock);
 275  275  
 276  276          port->lp_tx_enabled = B_TRUE;
      277 +
      278 +        aggr_grp_update_default(grp);
 277  279  }
 278  280  
 279  281  /*
 280  282   * Disable sending from the specified port.
 281  283   */
 282  284  void
 283  285  aggr_send_port_disable(aggr_port_t *port)
 284  286  {
 285  287          uint_t idx, ntx;
 286  288          aggr_grp_t *grp = port->lp_grp;
↓ open down ↓ 22 lines elided ↑ open up ↑
 309  311                  grp->lg_tx_ports[ntx - 1] = NULL;
 310  312                  victim->lp_tx_idx = idx;
 311  313                  grp->lg_tx_ports[idx] = victim;
 312  314          }
 313  315  
 314  316          port->lp_tx_idx = 0;
 315  317          grp->lg_ntx_ports--;
 316  318          rw_exit(&grp->lg_tx_lock);
 317  319  
 318  320          port->lp_tx_enabled = B_FALSE;
      321 +
      322 +        aggr_grp_update_default(grp);
 319  323  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX