Thu, May 09, 2019 at 06:39:50PM CEST, [email protected] 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 <[email protected]>
[...]
>+
>+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);
[...]