Lines Matching refs:agg

147 	struct aggregator *agg;
155 agg = first_slave ? &(SLAVE_AD_INFO(first_slave)->aggregator) : NULL;
158 return agg;
163 * @agg: the agregator we're looking at
168 static inline int __agg_has_partner(struct aggregator *agg)
170 return !is_zero_ether_addr(agg->partner_system.mac_addr_value);
735 static int __agg_active_ports(struct aggregator *agg)
740 for (port = agg->lag_ports; port;
1669 /* Decide if "agg" is a better choice for the new active aggregator that
1677 * 1. If the current agg is not individual, and the best is
1680 * 2. If current agg is individual and the best is not, keep best.
1685 * 3a. If current agg partner replied, and best agg partner did not,
1688 * 3b. If current agg partner did not reply and best agg partner
1731 net_warn_ratelimited("%s: (slave %s): Impossible agg select mode %d\n",
1741 static int agg_device_up(const struct aggregator *agg)
1743 struct port *port = agg->lag_ports;
1748 for (port = agg->lag_ports; port;
1760 * @agg: the aggregator we're looking at
1780 * FIXME: this function MUST be called with the first agg in the bond, or
1782 * called with the bond itself, and retrieve the first agg from it.
1784 static void ad_agg_selection_logic(struct aggregator *agg,
1788 struct bonding *bond = agg->slave->bond;
1794 origin = agg;
1795 active = __get_active_agg(agg);
1799 agg = &(SLAVE_AD_INFO(slave)->aggregator);
1801 agg->is_active = 0;
1803 if (__agg_active_ports(agg) && agg_device_up(agg))
1804 best = ad_agg_selection_test(best, agg);
1845 agg = &(SLAVE_AD_INFO(slave)->aggregator);
1848 agg->aggregator_identifier, agg->num_of_ports,
1849 agg->actor_oper_aggregator_key,
1850 agg->partner_oper_aggregator_key,
1851 agg->is_individual, agg->is_active);
2139 * Set the aggregation selection timer, to initiate an agg selection in
2686 struct aggregator *agg;
2714 agg = __get_first_agg(port);
2715 ad_agg_selection_logic(agg, &dummy);