Lines Matching refs:mac_node

8501 	struct hclge_mac_node *mac_node, *tmp;
8503 list_for_each_entry_safe(mac_node, tmp, list, node)
8504 if (ether_addr_equal(mac_addr, mac_node->mac_addr))
8505 return mac_node;
8510 static void hclge_update_mac_node(struct hclge_mac_node *mac_node,
8516 if (mac_node->state == HCLGE_MAC_TO_DEL)
8517 mac_node->state = HCLGE_MAC_ACTIVE;
8521 if (mac_node->state == HCLGE_MAC_TO_ADD) {
8522 list_del(&mac_node->node);
8523 kfree(mac_node);
8525 mac_node->state = HCLGE_MAC_TO_DEL;
8528 /* only from tmp_add_list, the mac_node->state won't be
8532 if (mac_node->state == HCLGE_MAC_TO_ADD)
8533 mac_node->state = HCLGE_MAC_ACTIVE;
8546 struct hclge_mac_node *mac_node;
8558 mac_node = hclge_find_mac_node(list, addr);
8559 if (mac_node) {
8560 hclge_update_mac_node(mac_node, state);
8576 mac_node = kzalloc(sizeof(*mac_node), GFP_ATOMIC);
8577 if (!mac_node) {
8584 mac_node->state = state;
8585 ether_addr_copy(mac_node->mac_addr, addr);
8586 list_add_tail(&mac_node->node, list);
8826 struct hclge_mac_node *mac_node, *tmp;
8834 list_for_each_entry_safe(mac_node, tmp, list, node) {
8835 ret = sync(vport, mac_node->mac_addr);
8837 mac_node->state = HCLGE_MAC_ACTIVE;
8862 struct hclge_mac_node *mac_node, *tmp;
8870 list_for_each_entry_safe(mac_node, tmp, list, node) {
8871 ret = unsync(vport, mac_node->mac_addr);
8873 list_del(&mac_node->node);
8874 kfree(mac_node);
8886 struct hclge_mac_node *mac_node, *tmp, *new_node;
8889 list_for_each_entry_safe(mac_node, tmp, add_list, node) {
8890 if (mac_node->state == HCLGE_MAC_TO_ADD)
8896 * table. if mac_node state is ACTIVE, then change it to TO_DEL,
8901 new_node = hclge_find_mac_node(mac_list, mac_node->mac_addr);
8903 hclge_update_mac_node(new_node, mac_node->state);
8904 list_del(&mac_node->node);
8905 kfree(mac_node);
8906 } else if (mac_node->state == HCLGE_MAC_ACTIVE) {
8907 mac_node->state = HCLGE_MAC_TO_DEL;
8908 list_move_tail(&mac_node->node, mac_list);
8910 list_del(&mac_node->node);
8911 kfree(mac_node);
8921 struct hclge_mac_node *mac_node, *tmp, *new_node;
8923 list_for_each_entry_safe(mac_node, tmp, del_list, node) {
8924 new_node = hclge_find_mac_node(mac_list, mac_node->mac_addr);
8934 list_del(&mac_node->node);
8935 kfree(mac_node);
8937 list_move_tail(&mac_node->node, mac_list);
8962 struct hclge_mac_node *mac_node, *tmp, *new_node;
8978 list_for_each_entry_safe(mac_node, tmp, list, node) {
8979 switch (mac_node->state) {
8981 list_move_tail(&mac_node->node, &tmp_del_list);
8987 ether_addr_copy(new_node->mac_addr, mac_node->mac_addr);
8988 new_node->state = mac_node->state;
9134 struct hclge_mac_node *mac_node, *tmp;
9145 list_for_each_entry_safe(mac_node, tmp, list, node) {
9146 switch (mac_node->state) {
9149 list_move_tail(&mac_node->node, &tmp_del_list);
9152 list_del(&mac_node->node);
9153 kfree(mac_node);
9168 list_for_each_entry_safe(mac_node, tmp, &tmp_del_list, node) {
9169 list_del(&mac_node->node);
9170 kfree(mac_node);
10269 struct hclge_mac_node *mac_node, *tmp;
10271 list_for_each_entry_safe(mac_node, tmp, list, node) {
10272 if (mac_node->state == HCLGE_MAC_ACTIVE) {
10273 mac_node->state = HCLGE_MAC_TO_ADD;
10274 } else if (mac_node->state == HCLGE_MAC_TO_DEL) {
10275 list_del(&mac_node->node);
10276 kfree(mac_node);