Lines Matching refs:net_cb
955 struct rtnl_net_dump_cb *net_cb = (struct rtnl_net_dump_cb *)data; in rtnl_net_dumpid_one() local
958 if (net_cb->idx < net_cb->s_idx) in rtnl_net_dumpid_one()
961 net_cb->fillargs.nsid = id; in rtnl_net_dumpid_one()
962 if (net_cb->fillargs.add_ref) in rtnl_net_dumpid_one()
963 net_cb->fillargs.ref_nsid = __peernet2id(net_cb->ref_net, peer); in rtnl_net_dumpid_one()
964 ret = rtnl_net_fill(net_cb->skb, &net_cb->fillargs); in rtnl_net_dumpid_one()
969 net_cb->idx++; in rtnl_net_dumpid_one()
974 struct rtnl_net_dump_cb *net_cb, in rtnl_valid_dump_net_req() argument
1001 net_cb->fillargs.add_ref = true; in rtnl_valid_dump_net_req()
1002 net_cb->ref_net = net_cb->tgt_net; in rtnl_valid_dump_net_req()
1003 net_cb->tgt_net = net; in rtnl_valid_dump_net_req()
1017 struct rtnl_net_dump_cb net_cb = { in rtnl_net_dumpid() local
1032 err = rtnl_valid_dump_net_req(cb->nlh, skb->sk, &net_cb, cb); in rtnl_net_dumpid()
1037 spin_lock_bh(&net_cb.tgt_net->nsid_lock); in rtnl_net_dumpid()
1038 if (net_cb.fillargs.add_ref && in rtnl_net_dumpid()
1039 !net_eq(net_cb.ref_net, net_cb.tgt_net) && in rtnl_net_dumpid()
1040 !spin_trylock_bh(&net_cb.ref_net->nsid_lock)) { in rtnl_net_dumpid()
1041 spin_unlock_bh(&net_cb.tgt_net->nsid_lock); in rtnl_net_dumpid()
1045 idr_for_each(&net_cb.tgt_net->netns_ids, rtnl_net_dumpid_one, &net_cb); in rtnl_net_dumpid()
1046 if (net_cb.fillargs.add_ref && in rtnl_net_dumpid()
1047 !net_eq(net_cb.ref_net, net_cb.tgt_net)) in rtnl_net_dumpid()
1048 spin_unlock_bh(&net_cb.ref_net->nsid_lock); in rtnl_net_dumpid()
1049 spin_unlock_bh(&net_cb.tgt_net->nsid_lock); in rtnl_net_dumpid()
1051 cb->args[0] = net_cb.idx; in rtnl_net_dumpid()
1053 if (net_cb.fillargs.add_ref) in rtnl_net_dumpid()
1054 put_net(net_cb.tgt_net); in rtnl_net_dumpid()