Lines Matching refs:bond_info
126 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in tlb_initialize() local
137 bond_info->tx_hashtbl = new_hashtbl; in tlb_initialize()
140 tlb_init_table_entry(&bond_info->tx_hashtbl[i], 0); in tlb_initialize()
150 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in tlb_deinitialize() local
154 kfree(bond_info->tx_hashtbl); in tlb_deinitialize()
155 bond_info->tx_hashtbl = NULL; in tlb_deinitialize()
193 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in __tlb_choose_channel() local
197 hash_table = bond_info->tx_hashtbl; in __tlb_choose_channel()
249 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_update_entry_from_arp() local
256 client_info = &(bond_info->rx_hashtbl[hash_index]); in rlb_update_entry_from_arp()
265 bond_info->rx_ntt = 1; in rlb_update_entry_from_arp()
307 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in __rlb_next_rx_slave() local
322 if (slave == bond_info->rx_slave) in __rlb_next_rx_slave()
332 bond_info->rx_slave = rx_slave; in __rlb_next_rx_slave()
381 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_clear_slave() local
388 rx_hash_table = bond_info->rx_hashtbl; in rlb_clear_slave()
389 index = bond_info->rx_hashtbl_used_head; in rlb_clear_slave()
398 bond_info->rx_hashtbl[index].ntt = 1; in rlb_clear_slave()
399 bond_info->rx_ntt = 1; in rlb_clear_slave()
407 bond_info->rlb_update_retry_counter = in rlb_clear_slave()
460 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_update_rx_clients() local
466 hash_index = bond_info->rx_hashtbl_used_head; in rlb_update_rx_clients()
469 client_info = &(bond_info->rx_hashtbl[hash_index]); in rlb_update_rx_clients()
472 if (bond_info->rlb_update_retry_counter == 0) in rlb_update_rx_clients()
480 bond_info->rlb_update_delay_counter = RLB_UPDATE_DELAY; in rlb_update_rx_clients()
488 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_req_update_slave_clients() local
495 hash_index = bond_info->rx_hashtbl_used_head; in rlb_req_update_slave_clients()
498 client_info = &(bond_info->rx_hashtbl[hash_index]); in rlb_req_update_slave_clients()
509 bond_info->rx_ntt = 1; in rlb_req_update_slave_clients()
511 bond_info->rlb_update_retry_counter = RLB_UPDATE_RETRY; in rlb_req_update_slave_clients()
520 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_req_update_subnet_clients() local
526 hash_index = bond_info->rx_hashtbl_used_head; in rlb_req_update_subnet_clients()
529 client_info = &(bond_info->rx_hashtbl[hash_index]); in rlb_req_update_subnet_clients()
544 bond_info->rx_ntt = 1; in rlb_req_update_subnet_clients()
555 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_choose_channel() local
565 client_info = &(bond_info->rx_hashtbl[hash_index]); in rlb_choose_channel()
630 u32 prev_tbl_head = bond_info->rx_hashtbl_used_head; in rlb_choose_channel()
631 bond_info->rx_hashtbl_used_head = hash_index; in rlb_choose_channel()
634 bond_info->rx_hashtbl[prev_tbl_head].used_prev = in rlb_choose_channel()
701 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_rebalance() local
710 hash_index = bond_info->rx_hashtbl_used_head; in rlb_rebalance()
713 client_info = &(bond_info->rx_hashtbl[hash_index]); in rlb_rebalance()
726 bond_info->rx_ntt = 1; in rlb_rebalance()
755 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_delete_table_entry_dst() local
756 u32 next_index = bond_info->rx_hashtbl[index].used_next; in rlb_delete_table_entry_dst()
757 u32 prev_index = bond_info->rx_hashtbl[index].used_prev; in rlb_delete_table_entry_dst()
759 if (index == bond_info->rx_hashtbl_used_head) in rlb_delete_table_entry_dst()
760 bond_info->rx_hashtbl_used_head = next_index; in rlb_delete_table_entry_dst()
762 bond_info->rx_hashtbl[prev_index].used_next = next_index; in rlb_delete_table_entry_dst()
764 bond_info->rx_hashtbl[next_index].used_prev = prev_index; in rlb_delete_table_entry_dst()
770 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_src_unlink() local
771 u32 next_index = bond_info->rx_hashtbl[index].src_next; in rlb_src_unlink()
772 u32 prev_index = bond_info->rx_hashtbl[index].src_prev; in rlb_src_unlink()
774 bond_info->rx_hashtbl[index].src_next = RLB_NULL_INDEX; in rlb_src_unlink()
775 bond_info->rx_hashtbl[index].src_prev = RLB_NULL_INDEX; in rlb_src_unlink()
778 bond_info->rx_hashtbl[next_index].src_prev = prev_index; in rlb_src_unlink()
784 if (bond_info->rx_hashtbl[prev_index].src_first == index) in rlb_src_unlink()
785 bond_info->rx_hashtbl[prev_index].src_first = next_index; in rlb_src_unlink()
787 bond_info->rx_hashtbl[prev_index].src_next = next_index; in rlb_src_unlink()
793 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_delete_table_entry() local
794 struct rlb_client_info *entry = &(bond_info->rx_hashtbl[index]); in rlb_delete_table_entry()
807 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_src_link() local
810 bond_info->rx_hashtbl[ip_dst_hash].src_prev = ip_src_hash; in rlb_src_link()
811 next = bond_info->rx_hashtbl[ip_src_hash].src_first; in rlb_src_link()
812 bond_info->rx_hashtbl[ip_dst_hash].src_next = next; in rlb_src_link()
814 bond_info->rx_hashtbl[next].src_prev = ip_dst_hash; in rlb_src_link()
815 bond_info->rx_hashtbl[ip_src_hash].src_first = ip_dst_hash; in rlb_src_link()
823 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_purge_src_ip() local
829 index = bond_info->rx_hashtbl[ip_src_hash].src_first; in rlb_purge_src_ip()
831 struct rlb_client_info *entry = &(bond_info->rx_hashtbl[index]); in rlb_purge_src_ip()
843 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_initialize() local
854 bond_info->rx_hashtbl = new_hashtbl; in rlb_initialize()
856 bond_info->rx_hashtbl_used_head = RLB_NULL_INDEX; in rlb_initialize()
859 rlb_init_table_entry(bond_info->rx_hashtbl + i); in rlb_initialize()
871 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_deinitialize() local
875 kfree(bond_info->rx_hashtbl); in rlb_deinitialize()
876 bond_info->rx_hashtbl = NULL; in rlb_deinitialize()
877 bond_info->rx_hashtbl_used_head = RLB_NULL_INDEX; in rlb_deinitialize()
884 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_clear_vlan() local
889 curr_index = bond_info->rx_hashtbl_used_head; in rlb_clear_vlan()
891 struct rlb_client_info *curr = &(bond_info->rx_hashtbl[curr_index]); in rlb_clear_vlan()
892 u32 next_index = bond_info->rx_hashtbl[curr_index].used_next; in rlb_clear_vlan()
1297 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in bond_alb_deinitialize() local
1301 if (bond_info->rlb_enabled) in bond_alb_deinitialize()
1308 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in bond_do_alb_xmit() local
1315 bond_info->unbalanced_load += skb->len; in bond_do_alb_xmit()
1387 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in bond_xmit_alb_slave_get() local
1485 if (bond_info->rlb_enabled) in bond_xmit_alb_slave_get()
1529 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in bond_alb_monitor() local
1534 atomic_set(&bond_info->tx_rebalance_counter, 0); in bond_alb_monitor()
1535 bond_info->lp_counter = 0; in bond_alb_monitor()
1541 atomic_inc(&bond_info->tx_rebalance_counter); in bond_alb_monitor()
1542 bond_info->lp_counter++; in bond_alb_monitor()
1545 if (bond_info->lp_counter >= BOND_ALB_LP_TICKS(bond)) { in bond_alb_monitor()
1555 bond_info->rlb_enabled); in bond_alb_monitor()
1559 bond_info->lp_counter = 0; in bond_alb_monitor()
1563 if (atomic_read(&bond_info->tx_rebalance_counter) >= BOND_TLB_REBALANCE_TICKS) { in bond_alb_monitor()
1568 bond_info->unbalanced_load / in bond_alb_monitor()
1570 bond_info->unbalanced_load = 0; in bond_alb_monitor()
1573 atomic_set(&bond_info->tx_rebalance_counter, 0); in bond_alb_monitor()
1576 if (bond_info->rlb_enabled) { in bond_alb_monitor()
1577 if (bond_info->primary_is_promisc && in bond_alb_monitor()
1578 (++bond_info->rlb_promisc_timeout_counter >= RLB_PROMISC_TIMEOUT)) { in bond_alb_monitor()
1587 bond_info->rlb_promisc_timeout_counter = 0; in bond_alb_monitor()
1595 bond_info->primary_is_promisc = 0; in bond_alb_monitor()
1601 if (bond_info->rlb_rebalance) { in bond_alb_monitor()
1602 bond_info->rlb_rebalance = 0; in bond_alb_monitor()
1607 if (bond_info->rx_ntt) { in bond_alb_monitor()
1608 if (bond_info->rlb_update_delay_counter) { in bond_alb_monitor()
1609 --bond_info->rlb_update_delay_counter; in bond_alb_monitor()
1612 if (bond_info->rlb_update_retry_counter) in bond_alb_monitor()
1613 --bond_info->rlb_update_retry_counter; in bond_alb_monitor()
1615 bond_info->rx_ntt = 0; in bond_alb_monitor()
1673 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in bond_alb_handle_link_change() local
1681 atomic_set(&bond_info->tx_rebalance_counter, in bond_alb_handle_link_change()