Lines Matching refs:bond_info

127 	struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond));  in tlb_initialize()  local
138 bond_info->tx_hashtbl = new_hashtbl; in tlb_initialize()
141 tlb_init_table_entry(&bond_info->tx_hashtbl[i], 0); in tlb_initialize()
151 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in tlb_deinitialize() local
155 kfree(bond_info->tx_hashtbl); in tlb_deinitialize()
156 bond_info->tx_hashtbl = NULL; in tlb_deinitialize()
194 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in __tlb_choose_channel() local
198 hash_table = bond_info->tx_hashtbl; in __tlb_choose_channel()
250 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_update_entry_from_arp() local
257 client_info = &(bond_info->rx_hashtbl[hash_index]); in rlb_update_entry_from_arp()
266 bond_info->rx_ntt = 1; in rlb_update_entry_from_arp()
308 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in __rlb_next_rx_slave() local
323 if (slave == bond_info->rx_slave) in __rlb_next_rx_slave()
333 bond_info->rx_slave = rx_slave; in __rlb_next_rx_slave()
383 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_clear_slave() local
390 rx_hash_table = bond_info->rx_hashtbl; in rlb_clear_slave()
391 index = bond_info->rx_hashtbl_used_head; in rlb_clear_slave()
400 bond_info->rx_hashtbl[index].ntt = 1; in rlb_clear_slave()
401 bond_info->rx_ntt = 1; in rlb_clear_slave()
409 bond_info->rlb_update_retry_counter = in rlb_clear_slave()
462 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_update_rx_clients() local
468 hash_index = bond_info->rx_hashtbl_used_head; in rlb_update_rx_clients()
471 client_info = &(bond_info->rx_hashtbl[hash_index]); in rlb_update_rx_clients()
474 if (bond_info->rlb_update_retry_counter == 0) in rlb_update_rx_clients()
482 bond_info->rlb_update_delay_counter = RLB_UPDATE_DELAY; in rlb_update_rx_clients()
490 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_req_update_slave_clients() local
497 hash_index = bond_info->rx_hashtbl_used_head; in rlb_req_update_slave_clients()
500 client_info = &(bond_info->rx_hashtbl[hash_index]); in rlb_req_update_slave_clients()
511 bond_info->rx_ntt = 1; in rlb_req_update_slave_clients()
513 bond_info->rlb_update_retry_counter = RLB_UPDATE_RETRY; in rlb_req_update_slave_clients()
522 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_req_update_subnet_clients() local
528 hash_index = bond_info->rx_hashtbl_used_head; in rlb_req_update_subnet_clients()
531 client_info = &(bond_info->rx_hashtbl[hash_index]); in rlb_req_update_subnet_clients()
546 bond_info->rx_ntt = 1; in rlb_req_update_subnet_clients()
557 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_choose_channel() local
567 client_info = &(bond_info->rx_hashtbl[hash_index]); in rlb_choose_channel()
632 u32 prev_tbl_head = bond_info->rx_hashtbl_used_head; in rlb_choose_channel()
634 bond_info->rx_hashtbl_used_head = hash_index; in rlb_choose_channel()
637 bond_info->rx_hashtbl[prev_tbl_head].used_prev = in rlb_choose_channel()
714 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_rebalance() local
723 hash_index = bond_info->rx_hashtbl_used_head; in rlb_rebalance()
726 client_info = &(bond_info->rx_hashtbl[hash_index]); in rlb_rebalance()
739 bond_info->rx_ntt = 1; in rlb_rebalance()
768 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_delete_table_entry_dst() local
769 u32 next_index = bond_info->rx_hashtbl[index].used_next; in rlb_delete_table_entry_dst()
770 u32 prev_index = bond_info->rx_hashtbl[index].used_prev; in rlb_delete_table_entry_dst()
772 if (index == bond_info->rx_hashtbl_used_head) in rlb_delete_table_entry_dst()
773 bond_info->rx_hashtbl_used_head = next_index; in rlb_delete_table_entry_dst()
775 bond_info->rx_hashtbl[prev_index].used_next = next_index; in rlb_delete_table_entry_dst()
777 bond_info->rx_hashtbl[next_index].used_prev = prev_index; in rlb_delete_table_entry_dst()
783 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_src_unlink() local
784 u32 next_index = bond_info->rx_hashtbl[index].src_next; in rlb_src_unlink()
785 u32 prev_index = bond_info->rx_hashtbl[index].src_prev; in rlb_src_unlink()
787 bond_info->rx_hashtbl[index].src_next = RLB_NULL_INDEX; in rlb_src_unlink()
788 bond_info->rx_hashtbl[index].src_prev = RLB_NULL_INDEX; in rlb_src_unlink()
791 bond_info->rx_hashtbl[next_index].src_prev = prev_index; in rlb_src_unlink()
797 if (bond_info->rx_hashtbl[prev_index].src_first == index) in rlb_src_unlink()
798 bond_info->rx_hashtbl[prev_index].src_first = next_index; in rlb_src_unlink()
800 bond_info->rx_hashtbl[prev_index].src_next = next_index; in rlb_src_unlink()
806 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_delete_table_entry() local
807 struct rlb_client_info *entry = &(bond_info->rx_hashtbl[index]); in rlb_delete_table_entry()
820 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_src_link() local
823 bond_info->rx_hashtbl[ip_dst_hash].src_prev = ip_src_hash; in rlb_src_link()
824 next = bond_info->rx_hashtbl[ip_src_hash].src_first; in rlb_src_link()
825 bond_info->rx_hashtbl[ip_dst_hash].src_next = next; in rlb_src_link()
827 bond_info->rx_hashtbl[next].src_prev = ip_dst_hash; in rlb_src_link()
828 bond_info->rx_hashtbl[ip_src_hash].src_first = ip_dst_hash; in rlb_src_link()
836 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_purge_src_ip() local
842 index = bond_info->rx_hashtbl[ip_src_hash].src_first; in rlb_purge_src_ip()
844 struct rlb_client_info *entry = &(bond_info->rx_hashtbl[index]); in rlb_purge_src_ip()
857 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_initialize() local
868 bond_info->rx_hashtbl = new_hashtbl; in rlb_initialize()
870 bond_info->rx_hashtbl_used_head = RLB_NULL_INDEX; in rlb_initialize()
873 rlb_init_table_entry(bond_info->rx_hashtbl + i); in rlb_initialize()
885 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_deinitialize() local
889 kfree(bond_info->rx_hashtbl); in rlb_deinitialize()
890 bond_info->rx_hashtbl = NULL; in rlb_deinitialize()
891 bond_info->rx_hashtbl_used_head = RLB_NULL_INDEX; in rlb_deinitialize()
898 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in rlb_clear_vlan() local
903 curr_index = bond_info->rx_hashtbl_used_head; in rlb_clear_vlan()
905 struct rlb_client_info *curr = &(bond_info->rx_hashtbl[curr_index]); in rlb_clear_vlan()
906 u32 next_index = bond_info->rx_hashtbl[curr_index].used_next; in rlb_clear_vlan()
1330 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in bond_alb_deinitialize() local
1334 if (bond_info->rlb_enabled) in bond_alb_deinitialize()
1341 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in bond_do_alb_xmit() local
1348 bond_info->unbalanced_load += skb->len; in bond_do_alb_xmit()
1421 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in bond_xmit_alb_slave_get() local
1492 if (bond_info->rlb_enabled) in bond_xmit_alb_slave_get()
1536 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in bond_alb_monitor() local
1541 atomic_set(&bond_info->tx_rebalance_counter, 0); in bond_alb_monitor()
1542 bond_info->lp_counter = 0; in bond_alb_monitor()
1548 atomic_inc(&bond_info->tx_rebalance_counter); in bond_alb_monitor()
1549 bond_info->lp_counter++; in bond_alb_monitor()
1552 if (bond_info->lp_counter >= BOND_ALB_LP_TICKS(bond)) { in bond_alb_monitor()
1562 bond_info->rlb_enabled); in bond_alb_monitor()
1566 bond_info->lp_counter = 0; in bond_alb_monitor()
1570 if (atomic_read(&bond_info->tx_rebalance_counter) >= BOND_TLB_REBALANCE_TICKS) { in bond_alb_monitor()
1575 bond_info->unbalanced_load / in bond_alb_monitor()
1577 bond_info->unbalanced_load = 0; in bond_alb_monitor()
1580 atomic_set(&bond_info->tx_rebalance_counter, 0); in bond_alb_monitor()
1583 if (bond_info->rlb_enabled) { in bond_alb_monitor()
1584 if (bond_info->primary_is_promisc && in bond_alb_monitor()
1585 (++bond_info->rlb_promisc_timeout_counter >= RLB_PROMISC_TIMEOUT)) { in bond_alb_monitor()
1594 bond_info->rlb_promisc_timeout_counter = 0; in bond_alb_monitor()
1602 bond_info->primary_is_promisc = 0; in bond_alb_monitor()
1608 if (bond_info->rlb_rebalance) { in bond_alb_monitor()
1609 bond_info->rlb_rebalance = 0; in bond_alb_monitor()
1614 if (bond_info->rx_ntt) { in bond_alb_monitor()
1615 if (bond_info->rlb_update_delay_counter) { in bond_alb_monitor()
1616 --bond_info->rlb_update_delay_counter; in bond_alb_monitor()
1619 if (bond_info->rlb_update_retry_counter) in bond_alb_monitor()
1620 --bond_info->rlb_update_retry_counter; in bond_alb_monitor()
1622 bond_info->rx_ntt = 0; in bond_alb_monitor()
1680 struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); in bond_alb_handle_link_change() local
1688 atomic_set(&bond_info->tx_rebalance_counter, in bond_alb_handle_link_change()