Lines Matching defs:hn

68 	struct mlx5e_eth_addr_hash_node *hn;
71 LIST_FOREACH(hn, &hash[ix], hlist) {
72 if (bcmp(hn->ai.addr, addr, ETHER_ADDR_LEN) == 0) {
73 if (hn->action == MLX5E_ACTION_DEL)
74 hn->action = MLX5E_ACTION_NONE;
79 hn = malloc(sizeof(*hn), M_MLX5EN, M_NOWAIT | M_ZERO);
80 if (hn == NULL)
83 ether_addr_copy(hn->ai.addr, addr);
84 hn->action = MLX5E_ACTION_ADD;
86 LIST_INSERT_HEAD(&hash[ix], hn, hlist);
90 mlx5e_del_eth_addr_from_hash(struct mlx5e_eth_addr_hash_node *hn)
92 LIST_REMOVE(hn, hlist);
93 free(hn, M_MLX5EN);
622 #define mlx5e_for_each_hash_node(hn, tmp, hash, i) \
624 LIST_FOREACH_SAFE(hn, &(hash)[i], hlist, tmp)
628 struct mlx5e_eth_addr_hash_node *hn)
630 switch (hn->action) {
632 mlx5e_add_eth_addr_rule(priv, &hn->ai, MLX5E_FULLMATCH);
633 hn->action = MLX5E_ACTION_NONE;
637 mlx5e_del_eth_addr_from_flow_table(priv, &hn->ai);
638 mlx5e_del_eth_addr_from_hash(hn);
681 struct mlx5e_eth_addr_hash_node *hn;
694 mlx5e_for_each_hash_node(hn, tmp, addr_list, hi) {
695 if (ether_addr_equal(IF_LLADDR(ifp), hn->ai.addr))
699 ether_addr_copy(addr_array[i++], hn->ai.addr);
707 struct mlx5e_eth_addr_hash_node *hn;
722 mlx5e_for_each_hash_node(hn, tmp, addr_list, hi)
764 struct mlx5e_eth_addr_hash_node *hn;
768 mlx5e_for_each_hash_node(hn, tmp, priv->eth_addr.if_uc, i)
769 mlx5e_execute_action(priv, hn);
771 mlx5e_for_each_hash_node(hn, tmp, priv->eth_addr.if_mc, i)
772 mlx5e_execute_action(priv, hn);
778 struct mlx5e_eth_addr_hash_node *hn;
782 mlx5e_for_each_hash_node(hn, tmp, priv->eth_addr.if_uc, i)
783 hn->action = MLX5E_ACTION_DEL;
784 mlx5e_for_each_hash_node(hn, tmp, priv->eth_addr.if_mc, i)
785 hn->action = MLX5E_ACTION_DEL;