Thu, May 09, 2019 at 06:39:50PM CEST, pablo@xxxxxxxxxxxxx wrote: >This patch renames: > >* struct tcf_block_cb to flow_block_cb. >* struct tc_block_offload to flow_block_offload. > >And it exposes the flow_block_cb API through net/flow_offload.h. This >renames the existing codebase to adapt it to this name. > >Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> [...] >+ >+void *flow_block_cb_priv(struct flow_block_cb *block_cb) >+{ >+ return block_cb->cb_priv; >+} >+EXPORT_SYMBOL(flow_block_cb_priv); >+ >+LIST_HEAD(flow_block_cb_list); >+EXPORT_SYMBOL(flow_block_cb_list); I don't understand, why is this exported? >+ >+struct flow_block_cb *flow_block_cb_lookup(u32 block_index, tc_setup_cb_t *cb, >+ void *cb_ident) 2 namespaces may have the same block_index, yet it is completely unrelated block. The cb_ident >+{ struct flow_block_cb *block_cb; >+ >+ list_for_each_entry(block_cb, &flow_block_cb_list, list) >+ if (block_cb->block_index == block_index && >+ block_cb->cb == cb && >+ block_cb->cb_ident == cb_ident) >+ return block_cb; >+ return NULL; >+} >+EXPORT_SYMBOL(flow_block_cb_lookup); [...]