netdevsim: move sdev specific bpf debugfs files to sdev dir
Some netdevsim bpf debugfs files are per-sdev, yet they are defined per netdevsim instance. Move them under sdev directory. Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
af9095f00d
commit
38f58c9723
@@ -65,8 +65,8 @@ nsim_bpf_verify_insn(struct bpf_verifier_env *env, int insn_idx, int prev_insn)
|
|||||||
struct nsim_bpf_bound_prog *state;
|
struct nsim_bpf_bound_prog *state;
|
||||||
|
|
||||||
state = env->prog->aux->offload->dev_priv;
|
state = env->prog->aux->offload->dev_priv;
|
||||||
if (state->ns->bpf_bind_verifier_delay && !insn_idx)
|
if (state->ns->sdev->bpf_bind_verifier_delay && !insn_idx)
|
||||||
msleep(state->ns->bpf_bind_verifier_delay);
|
msleep(state->ns->sdev->bpf_bind_verifier_delay);
|
||||||
|
|
||||||
if (insn_idx == env->prog->len - 1)
|
if (insn_idx == env->prog->len - 1)
|
||||||
pr_vlog(env, "Hello from netdevsim!\n");
|
pr_vlog(env, "Hello from netdevsim!\n");
|
||||||
@@ -250,7 +250,7 @@ static int nsim_bpf_verifier_prep(struct bpf_prog *prog)
|
|||||||
{
|
{
|
||||||
struct netdevsim *ns = bpf_offload_dev_priv(prog->aux->offload->offdev);
|
struct netdevsim *ns = bpf_offload_dev_priv(prog->aux->offload->offdev);
|
||||||
|
|
||||||
if (!ns->bpf_bind_accept)
|
if (!ns->sdev->bpf_bind_accept)
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
return nsim_bpf_create_prog(ns, prog);
|
return nsim_bpf_create_prog(ns, prog);
|
||||||
@@ -594,6 +594,12 @@ int nsim_bpf_init(struct netdevsim *ns)
|
|||||||
err = PTR_ERR_OR_ZERO(ns->sdev->bpf_dev);
|
err = PTR_ERR_OR_ZERO(ns->sdev->bpf_dev);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
|
ns->sdev->bpf_bind_accept = true;
|
||||||
|
debugfs_create_bool("bpf_bind_accept", 0600, ns->sdev->ddir,
|
||||||
|
&ns->sdev->bpf_bind_accept);
|
||||||
|
debugfs_create_u32("bpf_bind_verifier_delay", 0600, ns->sdev->ddir,
|
||||||
|
&ns->sdev->bpf_bind_verifier_delay);
|
||||||
}
|
}
|
||||||
|
|
||||||
err = bpf_offload_dev_netdev_register(ns->sdev->bpf_dev, ns->netdev);
|
err = bpf_offload_dev_netdev_register(ns->sdev->bpf_dev, ns->netdev);
|
||||||
@@ -603,12 +609,6 @@ int nsim_bpf_init(struct netdevsim *ns)
|
|||||||
debugfs_create_u32("bpf_offloaded_id", 0400, ns->ddir,
|
debugfs_create_u32("bpf_offloaded_id", 0400, ns->ddir,
|
||||||
&ns->bpf_offloaded_id);
|
&ns->bpf_offloaded_id);
|
||||||
|
|
||||||
ns->bpf_bind_accept = true;
|
|
||||||
debugfs_create_bool("bpf_bind_accept", 0600, ns->ddir,
|
|
||||||
&ns->bpf_bind_accept);
|
|
||||||
debugfs_create_u32("bpf_bind_verifier_delay", 0600, ns->ddir,
|
|
||||||
&ns->bpf_bind_verifier_delay);
|
|
||||||
|
|
||||||
ns->bpf_tc_accept = true;
|
ns->bpf_tc_accept = true;
|
||||||
debugfs_create_bool("bpf_tc_accept", 0600, ns->ddir,
|
debugfs_create_bool("bpf_tc_accept", 0600, ns->ddir,
|
||||||
&ns->bpf_tc_accept);
|
&ns->bpf_tc_accept);
|
||||||
|
@@ -39,6 +39,9 @@ struct netdevsim_shared_dev {
|
|||||||
|
|
||||||
struct bpf_offload_dev *bpf_dev;
|
struct bpf_offload_dev *bpf_dev;
|
||||||
|
|
||||||
|
bool bpf_bind_accept;
|
||||||
|
u32 bpf_bind_verifier_delay;
|
||||||
|
|
||||||
struct dentry *ddir_bpf_bound_progs;
|
struct dentry *ddir_bpf_bound_progs;
|
||||||
u32 prog_id_gen;
|
u32 prog_id_gen;
|
||||||
|
|
||||||
@@ -95,9 +98,6 @@ struct netdevsim {
|
|||||||
struct xdp_attachment_info xdp;
|
struct xdp_attachment_info xdp;
|
||||||
struct xdp_attachment_info xdp_hw;
|
struct xdp_attachment_info xdp_hw;
|
||||||
|
|
||||||
bool bpf_bind_accept;
|
|
||||||
u32 bpf_bind_verifier_delay;
|
|
||||||
|
|
||||||
bool bpf_tc_accept;
|
bool bpf_tc_accept;
|
||||||
bool bpf_tc_non_bound_accept;
|
bool bpf_tc_non_bound_accept;
|
||||||
bool bpf_xdpdrv_accept;
|
bool bpf_xdpdrv_accept;
|
||||||
|
@@ -1055,7 +1055,7 @@ try:
|
|||||||
|
|
||||||
start_test("Test if netdev removal waits for translation...")
|
start_test("Test if netdev removal waits for translation...")
|
||||||
delay_msec = 500
|
delay_msec = 500
|
||||||
sim.dfs["bpf_bind_verifier_delay"] = delay_msec
|
sim.dfs["sdev/bpf_bind_verifier_delay"] = delay_msec
|
||||||
start = time.time()
|
start = time.time()
|
||||||
cmd_line = "tc filter add dev %s ingress bpf %s da skip_sw" % \
|
cmd_line = "tc filter add dev %s ingress bpf %s da skip_sw" % \
|
||||||
(sim['ifname'], obj)
|
(sim['ifname'], obj)
|
||||||
|
Reference in New Issue
Block a user