netdevsim: move sdev specific bpf debugfs files to sdev dir
authorJiri Pirko <jiri@mellanox.com>
Fri, 12 Apr 2019 12:49:27 +0000 (14:49 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 12 Apr 2019 23:49:54 +0000 (16:49 -0700)
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>
drivers/net/netdevsim/bpf.c
drivers/net/netdevsim/netdevsim.h
tools/testing/selftests/bpf/test_offload.py

index f92c43453ec67e1408860561d6a9fe221158b7b3..ae8a2da434716abcf6146ca756c188dabdb199ca 100644 (file)
@@ -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;
 
        state = env->prog->aux->offload->dev_priv;
-       if (state->ns->bpf_bind_verifier_delay && !insn_idx)
-               msleep(state->ns->bpf_bind_verifier_delay);
+       if (state->ns->sdev->bpf_bind_verifier_delay && !insn_idx)
+               msleep(state->ns->sdev->bpf_bind_verifier_delay);
 
        if (insn_idx == env->prog->len - 1)
                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);
 
-       if (!ns->bpf_bind_accept)
+       if (!ns->sdev->bpf_bind_accept)
                return -EOPNOTSUPP;
 
        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);
                if (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);
@@ -603,12 +609,6 @@ int nsim_bpf_init(struct netdevsim *ns)
        debugfs_create_u32("bpf_offloaded_id", 0400, ns->ddir,
                           &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;
        debugfs_create_bool("bpf_tc_accept", 0600, ns->ddir,
                            &ns->bpf_tc_accept);
index e5d6fea246a5270e92d64b19143640c673337534..2667f9b0e1f9e0dd0e57edb82d0c9997ca84e201 100644 (file)
@@ -39,6 +39,9 @@ struct netdevsim_shared_dev {
 
        struct bpf_offload_dev *bpf_dev;
 
+       bool bpf_bind_accept;
+       u32 bpf_bind_verifier_delay;
+
        struct dentry *ddir_bpf_bound_progs;
        u32 prog_id_gen;
 
@@ -95,9 +98,6 @@ struct netdevsim {
        struct xdp_attachment_info xdp;
        struct xdp_attachment_info xdp_hw;
 
-       bool bpf_bind_accept;
-       u32 bpf_bind_verifier_delay;
-
        bool bpf_tc_accept;
        bool bpf_tc_non_bound_accept;
        bool bpf_xdpdrv_accept;
index 84bea3985d64fb154ac6bdcac4a31e166e175834..a7f95106119fc8a411569345e66fc2bcc8f2891d 100755 (executable)
@@ -1055,7 +1055,7 @@ try:
 
     start_test("Test if netdev removal waits for translation...")
     delay_msec = 500
-    sim.dfs["bpf_bind_verifier_delay"] = delay_msec
+    sim.dfs["sdev/bpf_bind_verifier_delay"] = delay_msec
     start = time.time()
     cmd_line = "tc filter add dev %s ingress bpf %s da skip_sw" % \
                (sim['ifname'], obj)