All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ido Schimmel <idosch@idosch.org>
To: Victor Nogueira <victor@mojatatu.com>
Cc: jhs@mojatatu.com, davem@davemloft.net, edumazet@google.com,
	kuba@kernel.org, pabeni@redhat.com, xiyou.wangcong@gmail.com,
	jiri@resnulli.us, mleitner@redhat.com, vladbu@nvidia.com,
	paulb@nvidia.com, pctammela@mojatatu.com, netdev@vger.kernel.org,
	kernel@mojatatu.com
Subject: Re: [PATCH net-next v8 1/5] net/sched: Introduce tc block netdev tracking infra
Date: Thu, 28 Dec 2023 13:40:50 +0200	[thread overview]
Message-ID: <ZY1ewk_H4QWmKz_T@shredder> (raw)
In-Reply-To: <20231219181623.3845083-2-victor@mojatatu.com>

On Tue, Dec 19, 2023 at 03:16:19PM -0300, Victor Nogueira wrote:
> +static int qdisc_block_add_dev(struct Qdisc *sch, struct net_device *dev,
> +			       struct netlink_ext_ack *extack)
> +{
> +	const struct Qdisc_class_ops *cl_ops = sch->ops->cl_ops;
> +	struct tcf_block *block;
> +	int err;
> +
> +	block = cl_ops->tcf_block(sch, TC_H_MIN_INGRESS, NULL);
> +	if (block) {
> +		err = xa_insert(&block->ports, dev->ifindex, dev, GFP_KERNEL);
> +		if (err) {
> +			NL_SET_ERR_MSG(extack,
> +				       "ingress block dev insert failed");
> +			return err;
> +		}
> +	}
> +
> +	block = cl_ops->tcf_block(sch, TC_H_MIN_EGRESS, NULL);
> +	if (block) {
> +		err = xa_insert(&block->ports, dev->ifindex, dev, GFP_KERNEL);
> +		if (err) {
> +			NL_SET_ERR_MSG(extack,
> +				       "Egress block dev insert failed");
> +			goto err_out;
> +		}
> +	}

The following fails after this patch:

# tc qdisc add dev swp1 ingress
Error: Egress block dev insert failed.

Probably because ingress_tcf_block() ignores the 'cl' argument.

> +
> +	return 0;
> +
> +err_out:
> +	block = cl_ops->tcf_block(sch, TC_H_MIN_INGRESS, NULL);
> +	if (block)
> +		xa_erase(&block->ports, dev->ifindex);
> +
> +	return err;
> +}

  reply	other threads:[~2023-12-28 11:40 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-19 18:16 [PATCH net-next v8 0/5] net/sched: Introduce tc block ports tracking and use Victor Nogueira
2023-12-19 18:16 ` [PATCH net-next v8 1/5] net/sched: Introduce tc block netdev tracking infra Victor Nogueira
2023-12-28 11:40   ` Ido Schimmel [this message]
2023-12-28 11:50   ` Ido Schimmel
2023-12-28 12:35     ` Jamal Hadi Salim
2023-12-28 14:13       ` Victor Nogueira
2023-12-19 18:16 ` [PATCH net-next v8 2/5] net/sched: cls_api: Expose tc block to the datapath Victor Nogueira
2023-12-19 18:16 ` [PATCH net-next v8 3/5] net/sched: act_mirred: Create function tcf_mirred_to_dev and improve readability Victor Nogueira
2023-12-19 18:16 ` [PATCH net-next v8 4/5] net/sched: act_mirred: Add helper function tcf_mirred_replace_dev Victor Nogueira
2023-12-19 18:16 ` [PATCH net-next v8 5/5] net/sched: act_mirred: Allow mirred to block Victor Nogueira
2023-12-26 21:30 ` [PATCH net-next v8 0/5] net/sched: Introduce tc block ports tracking and use patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZY1ewk_H4QWmKz_T@shredder \
    --to=idosch@idosch.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=jhs@mojatatu.com \
    --cc=jiri@resnulli.us \
    --cc=kernel@mojatatu.com \
    --cc=kuba@kernel.org \
    --cc=mleitner@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=paulb@nvidia.com \
    --cc=pctammela@mojatatu.com \
    --cc=victor@mojatatu.com \
    --cc=vladbu@nvidia.com \
    --cc=xiyou.wangcong@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.