Lines Matching refs:d

139 static bool tipc_disc_addr_trial_msg(struct tipc_discoverer *d,  in tipc_disc_addr_trial_msg()  argument
147 struct net *net = d->net; in tipc_disc_addr_trial_msg()
162 msg_set_prevnode(buf_msg(d->skb), sugg_addr); in tipc_disc_addr_trial_msg()
170 msg_set_type(buf_msg(d->skb), DSC_REQ_MSG); in tipc_disc_addr_trial_msg()
256 void tipc_disc_add_dest(struct tipc_discoverer *d) in tipc_disc_add_dest() argument
258 spin_lock_bh(&d->lock); in tipc_disc_add_dest()
259 d->num_nodes++; in tipc_disc_add_dest()
260 spin_unlock_bh(&d->lock); in tipc_disc_add_dest()
265 void tipc_disc_remove_dest(struct tipc_discoverer *d) in tipc_disc_remove_dest() argument
269 spin_lock_bh(&d->lock); in tipc_disc_remove_dest()
270 d->num_nodes--; in tipc_disc_remove_dest()
271 num = d->num_nodes; in tipc_disc_remove_dest()
272 intv = d->timer_intv; in tipc_disc_remove_dest()
274 d->timer_intv = TIPC_DISC_INIT; in tipc_disc_remove_dest()
275 mod_timer(&d->timer, jiffies + d->timer_intv); in tipc_disc_remove_dest()
277 spin_unlock_bh(&d->lock); in tipc_disc_remove_dest()
288 struct tipc_discoverer *d = from_timer(d, t, timer); in tipc_disc_timeout() local
289 struct tipc_net *tn = tipc_net(d->net); in tipc_disc_timeout()
292 struct net *net = d->net; in tipc_disc_timeout()
295 spin_lock_bh(&d->lock); in tipc_disc_timeout()
298 if (tipc_node(d->domain) && d->num_nodes) { in tipc_disc_timeout()
299 d->timer_intv = TIPC_DISC_INACTIVE; in tipc_disc_timeout()
309 msg_set_type(buf_msg(d->skb), DSC_REQ_MSG); in tipc_disc_timeout()
310 msg_set_prevnode(buf_msg(d->skb), tipc_own_addr(net)); in tipc_disc_timeout()
315 d->timer_intv = TIPC_DISC_INIT; in tipc_disc_timeout()
317 d->timer_intv *= 2; in tipc_disc_timeout()
318 if (d->num_nodes && d->timer_intv > TIPC_DISC_SLOW) in tipc_disc_timeout()
319 d->timer_intv = TIPC_DISC_SLOW; in tipc_disc_timeout()
320 else if (!d->num_nodes && d->timer_intv > TIPC_DISC_FAST) in tipc_disc_timeout()
321 d->timer_intv = TIPC_DISC_FAST; in tipc_disc_timeout()
324 mod_timer(&d->timer, jiffies + d->timer_intv); in tipc_disc_timeout()
325 memcpy(&maddr, &d->dest, sizeof(maddr)); in tipc_disc_timeout()
326 skb = skb_clone(d->skb, GFP_ATOMIC); in tipc_disc_timeout()
327 bearer_id = d->bearer_id; in tipc_disc_timeout()
329 spin_unlock_bh(&d->lock); in tipc_disc_timeout()
347 struct tipc_discoverer *d; in tipc_disc_create() local
349 d = kmalloc(sizeof(*d), GFP_ATOMIC); in tipc_disc_create()
350 if (!d) in tipc_disc_create()
352 d->skb = tipc_buf_acquire(MAX_H_SIZE + NODE_ID_LEN, GFP_ATOMIC); in tipc_disc_create()
353 if (!d->skb) { in tipc_disc_create()
354 kfree(d); in tipc_disc_create()
357 tipc_disc_init_msg(net, d->skb, DSC_REQ_MSG, b); in tipc_disc_create()
362 msg_set_type(buf_msg(d->skb), DSC_TRIAL_MSG); in tipc_disc_create()
364 memcpy(&d->dest, dest, sizeof(*dest)); in tipc_disc_create()
365 d->net = net; in tipc_disc_create()
366 d->bearer_id = b->identity; in tipc_disc_create()
367 d->domain = b->domain; in tipc_disc_create()
368 d->num_nodes = 0; in tipc_disc_create()
369 d->timer_intv = TIPC_DISC_INIT; in tipc_disc_create()
370 spin_lock_init(&d->lock); in tipc_disc_create()
371 timer_setup(&d->timer, tipc_disc_timeout, 0); in tipc_disc_create()
372 mod_timer(&d->timer, jiffies + d->timer_intv); in tipc_disc_create()
373 b->disc = d; in tipc_disc_create()
374 *skb = skb_clone(d->skb, GFP_ATOMIC); in tipc_disc_create()
382 void tipc_disc_delete(struct tipc_discoverer *d) in tipc_disc_delete() argument
384 del_timer_sync(&d->timer); in tipc_disc_delete()
385 kfree_skb(d->skb); in tipc_disc_delete()
386 kfree(d); in tipc_disc_delete()
397 struct tipc_discoverer *d = b->disc; in tipc_disc_reset() local
401 spin_lock_bh(&d->lock); in tipc_disc_reset()
402 tipc_disc_init_msg(net, d->skb, DSC_REQ_MSG, b); in tipc_disc_reset()
403 d->net = net; in tipc_disc_reset()
404 d->bearer_id = b->identity; in tipc_disc_reset()
405 d->domain = b->domain; in tipc_disc_reset()
406 d->num_nodes = 0; in tipc_disc_reset()
407 d->timer_intv = TIPC_DISC_INIT; in tipc_disc_reset()
408 memcpy(&maddr, &d->dest, sizeof(maddr)); in tipc_disc_reset()
409 mod_timer(&d->timer, jiffies + d->timer_intv); in tipc_disc_reset()
410 skb = skb_clone(d->skb, GFP_ATOMIC); in tipc_disc_reset()
411 spin_unlock_bh(&d->lock); in tipc_disc_reset()