Lines Matching refs:pd
42 static void l2tp_dfs_next_tunnel(struct l2tp_dfs_seq_data *pd)
45 if (pd->tunnel)
46 l2tp_tunnel_dec_refcount(pd->tunnel);
48 pd->tunnel = l2tp_tunnel_get_nth(pd->net, pd->tunnel_idx);
49 pd->tunnel_idx++;
52 static void l2tp_dfs_next_session(struct l2tp_dfs_seq_data *pd)
55 if (pd->session)
56 l2tp_session_dec_refcount(pd->session);
58 pd->session = l2tp_session_get_nth(pd->tunnel, pd->session_idx);
59 pd->session_idx++;
61 if (!pd->session) {
62 pd->session_idx = 0;
63 l2tp_dfs_next_tunnel(pd);
69 struct l2tp_dfs_seq_data *pd = SEQ_START_TOKEN;
76 pd = NULL;
79 pd = m->private;
81 if (!pd->tunnel)
82 l2tp_dfs_next_tunnel(pd);
84 l2tp_dfs_next_session(pd);
87 if (!pd->tunnel && !pd->session)
88 pd = NULL;
91 return pd;
102 struct l2tp_dfs_seq_data *pd = v;
104 if (!pd || pd == SEQ_START_TOKEN)
110 if (pd->session) {
111 l2tp_session_dec_refcount(pd->session);
112 pd->session = NULL;
114 if (pd->tunnel) {
115 l2tp_tunnel_dec_refcount(pd->tunnel);
116 pd->tunnel = NULL;
235 struct l2tp_dfs_seq_data *pd = v;
253 if (!pd->session)
254 l2tp_dfs_seq_tunnel_show(m, pd->tunnel);
256 l2tp_dfs_seq_session_show(m, pd->session);
271 struct l2tp_dfs_seq_data *pd;
275 pd = kzalloc(sizeof(*pd), GFP_KERNEL);
276 if (!pd)
282 pd->net = get_net_ns_by_pid(current->pid);
283 if (IS_ERR(pd->net)) {
284 rc = PTR_ERR(pd->net);
293 seq->private = pd;
299 put_net(pd->net);
301 kfree(pd);
307 struct l2tp_dfs_seq_data *pd;
311 pd = seq->private;
312 if (pd->net)
313 put_net(pd->net);
314 kfree(pd);