• Home
  • Raw
  • Download

Lines Matching refs:idev

57 	struct inet6_dev *idev;  in ipv6_sock_ac_join()  local
100 idev = __in6_dev_get(dev); in ipv6_sock_ac_join()
101 if (!idev) { in ipv6_sock_ac_join()
109 ishost = !idev->cnf.forwarding; in ipv6_sock_ac_join()
125 err = __ipv6_dev_ac_inc(idev, addr); in ipv6_sock_ac_join()
223 struct inet6_dev *idev = rt->rt6i_idev; in aca_alloc() local
231 in6_dev_hold(idev); in aca_alloc()
232 aca->aca_idev = idev; in aca_alloc()
245 int __ipv6_dev_ac_inc(struct inet6_dev *idev, const struct in6_addr *addr) in __ipv6_dev_ac_inc() argument
253 write_lock_bh(&idev->lock); in __ipv6_dev_ac_inc()
254 if (idev->dead) { in __ipv6_dev_ac_inc()
259 for (aca = idev->ac_list; aca; aca = aca->aca_next) { in __ipv6_dev_ac_inc()
267 rt = addrconf_dst_alloc(idev, addr, true); in __ipv6_dev_ac_inc()
279 aca->aca_next = idev->ac_list; in __ipv6_dev_ac_inc()
280 idev->ac_list = aca; in __ipv6_dev_ac_inc()
286 write_unlock_bh(&idev->lock); in __ipv6_dev_ac_inc()
290 addrconf_join_solict(idev->dev, &aca->aca_addr); in __ipv6_dev_ac_inc()
295 write_unlock_bh(&idev->lock); in __ipv6_dev_ac_inc()
302 int __ipv6_dev_ac_dec(struct inet6_dev *idev, const struct in6_addr *addr) in __ipv6_dev_ac_dec() argument
308 write_lock_bh(&idev->lock); in __ipv6_dev_ac_dec()
310 for (aca = idev->ac_list; aca; aca = aca->aca_next) { in __ipv6_dev_ac_dec()
316 write_unlock_bh(&idev->lock); in __ipv6_dev_ac_dec()
320 write_unlock_bh(&idev->lock); in __ipv6_dev_ac_dec()
326 idev->ac_list = aca->aca_next; in __ipv6_dev_ac_dec()
327 write_unlock_bh(&idev->lock); in __ipv6_dev_ac_dec()
328 addrconf_leave_solict(idev, &aca->aca_addr); in __ipv6_dev_ac_dec()
340 struct inet6_dev *idev = __in6_dev_get(dev); in ipv6_dev_ac_dec() local
342 if (idev == NULL) in ipv6_dev_ac_dec()
344 return __ipv6_dev_ac_dec(idev, addr); in ipv6_dev_ac_dec()
347 void ipv6_ac_destroy_dev(struct inet6_dev *idev) in ipv6_ac_destroy_dev() argument
351 write_lock_bh(&idev->lock); in ipv6_ac_destroy_dev()
352 while ((aca = idev->ac_list) != NULL) { in ipv6_ac_destroy_dev()
353 idev->ac_list = aca->aca_next; in ipv6_ac_destroy_dev()
354 write_unlock_bh(&idev->lock); in ipv6_ac_destroy_dev()
356 addrconf_leave_solict(idev, &aca->aca_addr); in ipv6_ac_destroy_dev()
363 write_lock_bh(&idev->lock); in ipv6_ac_destroy_dev()
365 write_unlock_bh(&idev->lock); in ipv6_ac_destroy_dev()
374 struct inet6_dev *idev; in ipv6_chk_acast_dev() local
377 idev = __in6_dev_get(dev); in ipv6_chk_acast_dev()
378 if (idev) { in ipv6_chk_acast_dev()
379 read_lock_bh(&idev->lock); in ipv6_chk_acast_dev()
380 for (aca = idev->ac_list; aca; aca = aca->aca_next) in ipv6_chk_acast_dev()
383 read_unlock_bh(&idev->lock); in ipv6_chk_acast_dev()
426 struct inet6_dev *idev; member
437 state->idev = NULL; in ac6_get_first()
439 struct inet6_dev *idev; in ac6_get_first() local
440 idev = __in6_dev_get(state->dev); in ac6_get_first()
441 if (!idev) in ac6_get_first()
443 read_lock_bh(&idev->lock); in ac6_get_first()
444 im = idev->ac_list; in ac6_get_first()
446 state->idev = idev; in ac6_get_first()
449 read_unlock_bh(&idev->lock); in ac6_get_first()
460 if (likely(state->idev != NULL)) in ac6_get_next()
461 read_unlock_bh(&state->idev->lock); in ac6_get_next()
465 state->idev = NULL; in ac6_get_next()
468 state->idev = __in6_dev_get(state->dev); in ac6_get_next()
469 if (!state->idev) in ac6_get_next()
471 read_lock_bh(&state->idev->lock); in ac6_get_next()
472 im = state->idev->ac_list; in ac6_get_next()
506 if (likely(state->idev != NULL)) { in ac6_seq_stop()
507 read_unlock_bh(&state->idev->lock); in ac6_seq_stop()
508 state->idev = NULL; in ac6_seq_stop()