Lines Matching refs:d

141 static bool tipc_disc_addr_trial_msg(struct tipc_discoverer *d,  in tipc_disc_addr_trial_msg()  argument
149 struct net *net = d->net; in tipc_disc_addr_trial_msg()
164 msg_set_prevnode(buf_msg(d->skb), sugg_addr); in tipc_disc_addr_trial_msg()
172 msg_set_prevnode(buf_msg(d->skb), tn->trial_addr); in tipc_disc_addr_trial_msg()
173 msg_set_type(buf_msg(d->skb), DSC_REQ_MSG); in tipc_disc_addr_trial_msg()
263 void tipc_disc_add_dest(struct tipc_discoverer *d) in tipc_disc_add_dest() argument
265 spin_lock_bh(&d->lock); in tipc_disc_add_dest()
266 d->num_nodes++; in tipc_disc_add_dest()
267 spin_unlock_bh(&d->lock); in tipc_disc_add_dest()
272 void tipc_disc_remove_dest(struct tipc_discoverer *d) in tipc_disc_remove_dest() argument
276 spin_lock_bh(&d->lock); in tipc_disc_remove_dest()
277 d->num_nodes--; in tipc_disc_remove_dest()
278 num = d->num_nodes; in tipc_disc_remove_dest()
279 intv = d->timer_intv; in tipc_disc_remove_dest()
281 d->timer_intv = TIPC_DISC_INIT; in tipc_disc_remove_dest()
282 mod_timer(&d->timer, jiffies + d->timer_intv); in tipc_disc_remove_dest()
284 spin_unlock_bh(&d->lock); in tipc_disc_remove_dest()
295 struct tipc_discoverer *d = timer_container_of(d, t, timer); in tipc_disc_timeout() local
296 struct tipc_net *tn = tipc_net(d->net); in tipc_disc_timeout()
299 struct net *net = d->net; in tipc_disc_timeout()
302 spin_lock_bh(&d->lock); in tipc_disc_timeout()
305 if (tipc_node(d->domain) && d->num_nodes) { in tipc_disc_timeout()
306 d->timer_intv = TIPC_DISC_INACTIVE; in tipc_disc_timeout()
312 mod_timer(&d->timer, jiffies + TIPC_DISC_INIT); in tipc_disc_timeout()
313 spin_unlock_bh(&d->lock); in tipc_disc_timeout()
320 d->timer_intv = TIPC_DISC_INIT; in tipc_disc_timeout()
322 d->timer_intv *= 2; in tipc_disc_timeout()
323 if (d->num_nodes && d->timer_intv > TIPC_DISC_SLOW) in tipc_disc_timeout()
324 d->timer_intv = TIPC_DISC_SLOW; in tipc_disc_timeout()
325 else if (!d->num_nodes && d->timer_intv > TIPC_DISC_FAST) in tipc_disc_timeout()
326 d->timer_intv = TIPC_DISC_FAST; in tipc_disc_timeout()
327 msg_set_type(buf_msg(d->skb), DSC_REQ_MSG); in tipc_disc_timeout()
328 msg_set_prevnode(buf_msg(d->skb), tn->trial_addr); in tipc_disc_timeout()
331 mod_timer(&d->timer, jiffies + d->timer_intv); in tipc_disc_timeout()
332 memcpy(&maddr, &d->dest, sizeof(maddr)); in tipc_disc_timeout()
333 skb = skb_clone(d->skb, GFP_ATOMIC); in tipc_disc_timeout()
334 bearer_id = d->bearer_id; in tipc_disc_timeout()
336 spin_unlock_bh(&d->lock); in tipc_disc_timeout()
354 struct tipc_discoverer *d; in tipc_disc_create() local
356 d = kmalloc(sizeof(*d), GFP_ATOMIC); in tipc_disc_create()
357 if (!d) in tipc_disc_create()
359 d->skb = tipc_buf_acquire(MAX_H_SIZE + NODE_ID_LEN, GFP_ATOMIC); in tipc_disc_create()
360 if (!d->skb) { in tipc_disc_create()
361 kfree(d); in tipc_disc_create()
364 tipc_disc_init_msg(net, d->skb, DSC_REQ_MSG, b); in tipc_disc_create()
369 msg_set_type(buf_msg(d->skb), DSC_TRIAL_MSG); in tipc_disc_create()
371 memcpy(&d->dest, dest, sizeof(*dest)); in tipc_disc_create()
372 d->net = net; in tipc_disc_create()
373 d->bearer_id = b->identity; in tipc_disc_create()
374 d->domain = b->domain; in tipc_disc_create()
375 d->num_nodes = 0; in tipc_disc_create()
376 d->timer_intv = TIPC_DISC_INIT; in tipc_disc_create()
377 spin_lock_init(&d->lock); in tipc_disc_create()
378 timer_setup(&d->timer, tipc_disc_timeout, 0); in tipc_disc_create()
379 mod_timer(&d->timer, jiffies + d->timer_intv); in tipc_disc_create()
380 b->disc = d; in tipc_disc_create()
381 *skb = skb_clone(d->skb, GFP_ATOMIC); in tipc_disc_create()
389 void tipc_disc_delete(struct tipc_discoverer *d) in tipc_disc_delete() argument
391 timer_shutdown_sync(&d->timer); in tipc_disc_delete()
392 kfree_skb(d->skb); in tipc_disc_delete()
393 kfree(d); in tipc_disc_delete()
403 struct tipc_discoverer *d = b->disc; in tipc_disc_reset() local
407 spin_lock_bh(&d->lock); in tipc_disc_reset()
408 tipc_disc_init_msg(net, d->skb, DSC_REQ_MSG, b); in tipc_disc_reset()
409 d->net = net; in tipc_disc_reset()
410 d->bearer_id = b->identity; in tipc_disc_reset()
411 d->domain = b->domain; in tipc_disc_reset()
412 d->num_nodes = 0; in tipc_disc_reset()
413 d->timer_intv = TIPC_DISC_INIT; in tipc_disc_reset()
414 memcpy(&maddr, &d->dest, sizeof(maddr)); in tipc_disc_reset()
415 mod_timer(&d->timer, jiffies + d->timer_intv); in tipc_disc_reset()
416 skb = skb_clone(d->skb, GFP_ATOMIC); in tipc_disc_reset()
417 spin_unlock_bh(&d->lock); in tipc_disc_reset()