Lines Matching refs:ndev
314 struct inet6_dev *ndev;
322 ndev = kzalloc(sizeof(struct inet6_dev), GFP_KERNEL);
324 if (ndev == NULL)
327 rwlock_init(&ndev->lock);
328 ndev->dev = dev;
329 memcpy(&ndev->cnf, &ipv6_devconf_dflt, sizeof(ndev->cnf));
330 ndev->cnf.mtu6 = dev->mtu;
331 ndev->cnf.sysctl = NULL;
332 ndev->nd_parms = neigh_parms_alloc(dev, &nd_tbl);
333 if (ndev->nd_parms == NULL) {
334 kfree(ndev);
340 if (snmp6_alloc_dev(ndev) < 0) {
344 neigh_parms_release(&nd_tbl, ndev->nd_parms);
345 ndev->dead = 1;
346 in6_dev_finish_destroy(ndev);
350 if (snmp6_register_dev(ndev) < 0) {
354 neigh_parms_release(&nd_tbl, ndev->nd_parms);
355 ndev->dead = 1;
356 in6_dev_finish_destroy(ndev);
363 in6_dev_hold(ndev);
366 init_timer(&ndev->regen_timer);
367 ndev->regen_timer.function = ipv6_regen_rndid;
368 ndev->regen_timer.data = (unsigned long) ndev;
378 ndev->cnf.use_tempaddr = -1;
380 in6_dev_hold(ndev);
381 ipv6_regen_rndid((unsigned long) ndev);
386 ndev->if_flags |= IF_READY;
388 ipv6_mc_init_dev(ndev);
389 ndev->tstamp = jiffies;
391 neigh_sysctl_register(dev, ndev->nd_parms, NET_IPV6,
395 addrconf_sysctl_register(ndev, &ndev->cnf);
398 rcu_assign_pointer(dev->ip6_ptr, ndev);
404 return ndev;