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_prevnode(buf_msg(d->skb), tn->trial_addr); in tipc_disc_addr_trial_msg()
171 msg_set_type(buf_msg(d->skb), DSC_REQ_MSG); in tipc_disc_addr_trial_msg()
257 void tipc_disc_add_dest(struct tipc_discoverer *d) in tipc_disc_add_dest() argument
259 spin_lock_bh(&d->lock); in tipc_disc_add_dest()
260 d->num_nodes++; in tipc_disc_add_dest()
261 spin_unlock_bh(&d->lock); in tipc_disc_add_dest()
266 void tipc_disc_remove_dest(struct tipc_discoverer *d) in tipc_disc_remove_dest() argument
270 spin_lock_bh(&d->lock); in tipc_disc_remove_dest()
271 d->num_nodes--; in tipc_disc_remove_dest()
272 num = d->num_nodes; in tipc_disc_remove_dest()
273 intv = d->timer_intv; in tipc_disc_remove_dest()
275 d->timer_intv = TIPC_DISC_INIT; in tipc_disc_remove_dest()
276 mod_timer(&d->timer, jiffies + d->timer_intv); in tipc_disc_remove_dest()
278 spin_unlock_bh(&d->lock); in tipc_disc_remove_dest()
289 struct tipc_discoverer *d = from_timer(d, t, timer); in tipc_disc_timeout() local
290 struct tipc_net *tn = tipc_net(d->net); in tipc_disc_timeout()
293 struct net *net = d->net; in tipc_disc_timeout()
296 spin_lock_bh(&d->lock); in tipc_disc_timeout()
299 if (tipc_node(d->domain) && d->num_nodes) { in tipc_disc_timeout()
300 d->timer_intv = TIPC_DISC_INACTIVE; in tipc_disc_timeout()
306 mod_timer(&d->timer, jiffies + TIPC_DISC_INIT); in tipc_disc_timeout()
307 spin_unlock_bh(&d->lock); in tipc_disc_timeout()
314 d->timer_intv = TIPC_DISC_INIT; in tipc_disc_timeout()
316 d->timer_intv *= 2; in tipc_disc_timeout()
317 if (d->num_nodes && d->timer_intv > TIPC_DISC_SLOW) in tipc_disc_timeout()
318 d->timer_intv = TIPC_DISC_SLOW; in tipc_disc_timeout()
319 else if (!d->num_nodes && d->timer_intv > TIPC_DISC_FAST) in tipc_disc_timeout()
320 d->timer_intv = TIPC_DISC_FAST; in tipc_disc_timeout()
321 msg_set_type(buf_msg(d->skb), DSC_REQ_MSG); in tipc_disc_timeout()
322 msg_set_prevnode(buf_msg(d->skb), tn->trial_addr); in tipc_disc_timeout()
325 mod_timer(&d->timer, jiffies + d->timer_intv); in tipc_disc_timeout()
326 memcpy(&maddr, &d->dest, sizeof(maddr)); in tipc_disc_timeout()
327 skb = skb_clone(d->skb, GFP_ATOMIC); in tipc_disc_timeout()
328 bearer_id = d->bearer_id; in tipc_disc_timeout()
330 spin_unlock_bh(&d->lock); in tipc_disc_timeout()
348 struct tipc_discoverer *d; in tipc_disc_create() local
350 d = kmalloc(sizeof(*d), GFP_ATOMIC); in tipc_disc_create()
351 if (!d) in tipc_disc_create()
353 d->skb = tipc_buf_acquire(MAX_H_SIZE + NODE_ID_LEN, GFP_ATOMIC); in tipc_disc_create()
354 if (!d->skb) { in tipc_disc_create()
355 kfree(d); in tipc_disc_create()
358 tipc_disc_init_msg(net, d->skb, DSC_REQ_MSG, b); in tipc_disc_create()
363 msg_set_type(buf_msg(d->skb), DSC_TRIAL_MSG); in tipc_disc_create()
365 memcpy(&d->dest, dest, sizeof(*dest)); in tipc_disc_create()
366 d->net = net; in tipc_disc_create()
367 d->bearer_id = b->identity; in tipc_disc_create()
368 d->domain = b->domain; in tipc_disc_create()
369 d->num_nodes = 0; in tipc_disc_create()
370 d->timer_intv = TIPC_DISC_INIT; in tipc_disc_create()
371 spin_lock_init(&d->lock); in tipc_disc_create()
372 timer_setup(&d->timer, tipc_disc_timeout, 0); in tipc_disc_create()
373 mod_timer(&d->timer, jiffies + d->timer_intv); in tipc_disc_create()
374 b->disc = d; in tipc_disc_create()
375 *skb = skb_clone(d->skb, GFP_ATOMIC); in tipc_disc_create()
383 void tipc_disc_delete(struct tipc_discoverer *d) in tipc_disc_delete() argument
385 del_timer_sync(&d->timer); in tipc_disc_delete()
386 kfree_skb(d->skb); in tipc_disc_delete()
387 kfree(d); in tipc_disc_delete()
398 struct tipc_discoverer *d = b->disc; in tipc_disc_reset() local
402 spin_lock_bh(&d->lock); in tipc_disc_reset()
403 tipc_disc_init_msg(net, d->skb, DSC_REQ_MSG, b); in tipc_disc_reset()
404 d->net = net; in tipc_disc_reset()
405 d->bearer_id = b->identity; in tipc_disc_reset()
406 d->domain = b->domain; in tipc_disc_reset()
407 d->num_nodes = 0; in tipc_disc_reset()
408 d->timer_intv = TIPC_DISC_INIT; in tipc_disc_reset()
409 memcpy(&maddr, &d->dest, sizeof(maddr)); in tipc_disc_reset()
410 mod_timer(&d->timer, jiffies + d->timer_intv); in tipc_disc_reset()
411 skb = skb_clone(d->skb, GFP_ATOMIC); in tipc_disc_reset()
412 spin_unlock_bh(&d->lock); in tipc_disc_reset()