Lines Matching defs:agg
148 struct aggregator *agg;
156 agg = first_slave ? &(SLAVE_AD_INFO(first_slave)->aggregator) : NULL;
159 return agg;
164 * @agg: the agregator we're looking at
169 static inline int __agg_has_partner(struct aggregator *agg)
171 return !is_zero_ether_addr(agg->partner_system.mac_addr_value);
688 static int __agg_active_ports(struct aggregator *agg)
693 for (port = agg->lag_ports; port;
1569 /* Decide if "agg" is a better choice for the new active aggregator that
1577 * 1. If the current agg is not individual, and the best is
1580 * 2. If current agg is individual and the best is not, keep best.
1585 * 3a. If current agg partner replied, and best agg partner did not,
1588 * 3b. If current agg partner did not reply and best agg partner
1631 net_warn_ratelimited("%s: (slave %s): Impossible agg select mode %d\n",
1641 static int agg_device_up(const struct aggregator *agg)
1643 struct port *port = agg->lag_ports;
1648 for (port = agg->lag_ports; port;
1660 * @agg: the aggregator we're looking at
1680 * FIXME: this function MUST be called with the first agg in the bond, or
1682 * called with the bond itself, and retrieve the first agg from it.
1684 static void ad_agg_selection_logic(struct aggregator *agg,
1688 struct bonding *bond = agg->slave->bond;
1694 origin = agg;
1695 active = __get_active_agg(agg);
1699 agg = &(SLAVE_AD_INFO(slave)->aggregator);
1701 agg->is_active = 0;
1703 if (__agg_active_ports(agg) && agg_device_up(agg))
1704 best = ad_agg_selection_test(best, agg);
1745 agg = &(SLAVE_AD_INFO(slave)->aggregator);
1748 agg->aggregator_identifier, agg->num_of_ports,
1749 agg->actor_oper_aggregator_key,
1750 agg->partner_oper_aggregator_key,
1751 agg->is_individual, agg->is_active);
2004 * Set the aggregation selection timer, to initiate an agg selection in
2551 struct aggregator *agg;
2579 agg = __get_first_agg(port);
2580 ad_agg_selection_logic(agg, &dummy);