Lines Matching refs:m_entry
811 static int nfp_fl_ct_add_offload(struct nfp_fl_nft_tc_merge *m_entry) in nfp_fl_ct_add_offload() argument
814 struct nfp_fl_ct_zone_entry *zt = m_entry->zt; in nfp_fl_ct_add_offload()
829 netdev = m_entry->netdev; in nfp_fl_ct_add_offload()
832 pre_ct_entry = m_entry->tc_m_parent->pre_ct_parent; in nfp_fl_ct_add_offload()
840 rules[j++] = m_entry->tc_m_parent->pre_ct_parent->rule; in nfp_fl_ct_add_offload()
841 rules[j++] = m_entry->nft_parent->rule; in nfp_fl_ct_add_offload()
842 rules[j++] = m_entry->tc_m_parent->post_ct_parent->rule; in nfp_fl_ct_add_offload()
850 m_entry->netdev, in nfp_fl_ct_add_offload()
1102 m_entry->tc_flower_cookie = flow_pay->tc_flower_cookie; in nfp_fl_ct_add_offload()
1103 m_entry->flow_pay = flow_pay; in nfp_fl_ct_add_offload()
1276 struct nfp_fl_ct_tc_merge *m_entry; in nfp_ct_do_tc_merge() local
1300 m_entry = get_hashentry(&zt->tc_merge_tb, &new_cookie, in nfp_ct_do_tc_merge()
1301 nfp_tc_ct_merge_params, sizeof(*m_entry)); in nfp_ct_do_tc_merge()
1302 if (IS_ERR(m_entry)) in nfp_ct_do_tc_merge()
1303 return PTR_ERR(m_entry); in nfp_ct_do_tc_merge()
1306 if (!memcmp(&new_cookie, m_entry->cookie, sizeof(new_cookie))) in nfp_ct_do_tc_merge()
1309 memcpy(&m_entry->cookie, &new_cookie, sizeof(new_cookie)); in nfp_ct_do_tc_merge()
1310 m_entry->zt = zt; in nfp_ct_do_tc_merge()
1311 m_entry->post_ct_parent = post_ct_entry; in nfp_ct_do_tc_merge()
1312 m_entry->pre_ct_parent = pre_ct_entry; in nfp_ct_do_tc_merge()
1315 list_add(&m_entry->post_ct_list, &post_ct_entry->children); in nfp_ct_do_tc_merge()
1316 list_add(&m_entry->pre_ct_list, &pre_ct_entry->children); in nfp_ct_do_tc_merge()
1317 INIT_LIST_HEAD(&m_entry->children); in nfp_ct_do_tc_merge()
1319 err = rhashtable_insert_fast(&zt->tc_merge_tb, &m_entry->hash_node, in nfp_ct_do_tc_merge()
1328 nfp_ct_do_nft_merge(zt, nft_entry, m_entry); in nfp_ct_do_tc_merge()
1334 list_del(&m_entry->post_ct_list); in nfp_ct_do_tc_merge()
1335 list_del(&m_entry->pre_ct_list); in nfp_ct_do_tc_merge()
1336 kfree(m_entry); in nfp_ct_do_tc_merge()
1608 static void cleanup_nft_merge_entry(struct nfp_fl_nft_tc_merge *m_entry) in cleanup_nft_merge_entry() argument
1613 zt = m_entry->zt; in cleanup_nft_merge_entry()
1616 if (m_entry->tc_flower_cookie) { in cleanup_nft_merge_entry()
1617 err = nfp_fl_ct_del_offload(zt->priv->app, m_entry->tc_flower_cookie, in cleanup_nft_merge_entry()
1618 m_entry->netdev); in cleanup_nft_merge_entry()
1624 &m_entry->hash_node, in cleanup_nft_merge_entry()
1627 list_del(&m_entry->tc_merge_list); in cleanup_nft_merge_entry()
1628 list_del(&m_entry->nft_flow_list); in cleanup_nft_merge_entry()
1630 if (m_entry->next_pre_ct_entry) { in cleanup_nft_merge_entry()
1633 pre_ct_map_ent.ct_entry = m_entry->next_pre_ct_entry; in cleanup_nft_merge_entry()
1638 kfree(m_entry); in cleanup_nft_merge_entry()
1643 struct nfp_fl_nft_tc_merge *m_entry, *tmp; in nfp_free_nft_merge_children() local
1654 list_for_each_entry_safe(m_entry, tmp, &ct_entry->children, in nfp_free_nft_merge_children()
1656 cleanup_nft_merge_entry(m_entry); in nfp_free_nft_merge_children()
1662 list_for_each_entry_safe(m_entry, tmp, &ct_entry->children, in nfp_free_nft_merge_children()
1664 cleanup_nft_merge_entry(m_entry); in nfp_free_nft_merge_children()
1809 struct nfp_fl_nft_tc_merge *m_entry) in nfp_fl_ct_handle_pre_ct() argument
1855 if (m_entry) { in nfp_fl_ct_handle_pre_ct()
1859 pre_ct_entry = m_entry->tc_m_parent->pre_ct_parent; in nfp_fl_ct_handle_pre_ct()
1862 ct_entry->prev_m_entries[i++] = m_entry; in nfp_fl_ct_handle_pre_ct()
1865 m_entry->next_pre_ct_entry = ct_entry; in nfp_fl_ct_handle_pre_ct()
1965 int nfp_fl_create_new_pre_ct(struct nfp_fl_nft_tc_merge *m_entry) in nfp_fl_create_new_pre_ct() argument
1971 pre_ct_entry = m_entry->tc_m_parent->pre_ct_parent; in nfp_fl_create_new_pre_ct()
1975 post_ct_entry = m_entry->tc_m_parent->post_ct_parent; in nfp_fl_create_new_pre_ct()
1983 m_entry); in nfp_fl_create_new_pre_ct()