mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-06 14:05:39 +00:00
net/sched: cls_api: Expose tc block to the datapath
The datapath can now find the block of the port in which the packet arrived at. In the next patch we show a possible usage of this patch in a new version of mirred that multicasts to all ports except for the port in which the packet arrived on. Co-developed-by: Jamal Hadi Salim <jhs@mojatatu.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com> Co-developed-by: Pedro Tammela <pctammela@mojatatu.com> Signed-off-by: Pedro Tammela <pctammela@mojatatu.com> Signed-off-by: Victor Nogueira <victor@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
913b47d342
commit
a7042cf8f2
@ -484,6 +484,8 @@ struct tcf_block {
|
||||
struct mutex proto_destroy_lock; /* Lock for proto_destroy hashtable. */
|
||||
};
|
||||
|
||||
struct tcf_block *tcf_block_lookup(struct net *net, u32 block_index);
|
||||
|
||||
static inline bool lockdep_tcf_chain_is_locked(struct tcf_chain *chain)
|
||||
{
|
||||
return lockdep_is_held(&chain->filter_chain_lock);
|
||||
|
@ -1011,12 +1011,13 @@ static struct tcf_block *tcf_block_create(struct net *net, struct Qdisc *q,
|
||||
return block;
|
||||
}
|
||||
|
||||
static struct tcf_block *tcf_block_lookup(struct net *net, u32 block_index)
|
||||
struct tcf_block *tcf_block_lookup(struct net *net, u32 block_index)
|
||||
{
|
||||
struct tcf_net *tn = net_generic(net, tcf_net_id);
|
||||
|
||||
return idr_find(&tn->idr, block_index);
|
||||
}
|
||||
EXPORT_SYMBOL(tcf_block_lookup);
|
||||
|
||||
static struct tcf_block *tcf_block_refcnt_get(struct net *net, u32 block_index)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user