Lines Matching refs:ifr

22 	struct ifreq ifr;  in dev_ifname()  local
29 if (copy_from_user(&ifr, arg, sizeof(struct ifreq))) in dev_ifname()
32 error = netdev_get_name(net, ifr.ifr_name, ifr.ifr_ifindex); in dev_ifname()
36 if (copy_to_user(arg, &ifr, sizeof(struct ifreq))) in dev_ifname()
121 static int dev_ifsioc_locked(struct net *net, struct ifreq *ifr, unsigned int cmd) in dev_ifsioc_locked() argument
124 struct net_device *dev = dev_get_by_name_rcu(net, ifr->ifr_name); in dev_ifsioc_locked()
131 ifr->ifr_flags = (short) dev_get_flags(dev); in dev_ifsioc_locked()
136 ifr->ifr_metric = 0; in dev_ifsioc_locked()
140 ifr->ifr_mtu = dev->mtu; in dev_ifsioc_locked()
145 memset(ifr->ifr_hwaddr.sa_data, 0, in dev_ifsioc_locked()
146 sizeof(ifr->ifr_hwaddr.sa_data)); in dev_ifsioc_locked()
148 memcpy(ifr->ifr_hwaddr.sa_data, dev->dev_addr, in dev_ifsioc_locked()
149 min(sizeof(ifr->ifr_hwaddr.sa_data), in dev_ifsioc_locked()
151 ifr->ifr_hwaddr.sa_family = dev->type; in dev_ifsioc_locked()
159 ifr->ifr_map.mem_start = dev->mem_start; in dev_ifsioc_locked()
160 ifr->ifr_map.mem_end = dev->mem_end; in dev_ifsioc_locked()
161 ifr->ifr_map.base_addr = dev->base_addr; in dev_ifsioc_locked()
162 ifr->ifr_map.irq = dev->irq; in dev_ifsioc_locked()
163 ifr->ifr_map.dma = dev->dma; in dev_ifsioc_locked()
164 ifr->ifr_map.port = dev->if_port; in dev_ifsioc_locked()
168 ifr->ifr_ifindex = dev->ifindex; in dev_ifsioc_locked()
172 ifr->ifr_qlen = dev->tx_queue_len; in dev_ifsioc_locked()
187 static int net_hwtstamp_validate(struct ifreq *ifr) in net_hwtstamp_validate() argument
195 if (copy_from_user(&cfg, ifr->ifr_data, sizeof(cfg))) in net_hwtstamp_validate()
241 static int dev_ifsioc(struct net *net, struct ifreq *ifr, unsigned int cmd) in dev_ifsioc() argument
244 struct net_device *dev = __dev_get_by_name(net, ifr->ifr_name); in dev_ifsioc()
254 return dev_change_flags(dev, ifr->ifr_flags); in dev_ifsioc()
261 return dev_set_mtu(dev, ifr->ifr_mtu); in dev_ifsioc()
264 return dev_set_mac_address(dev, &ifr->ifr_hwaddr); in dev_ifsioc()
267 if (ifr->ifr_hwaddr.sa_family != dev->type) in dev_ifsioc()
269 memcpy(dev->broadcast, ifr->ifr_hwaddr.sa_data, in dev_ifsioc()
270 min(sizeof(ifr->ifr_hwaddr.sa_data), in dev_ifsioc()
279 return ops->ndo_set_config(dev, &ifr->ifr_map); in dev_ifsioc()
285 ifr->ifr_hwaddr.sa_family != AF_UNSPEC) in dev_ifsioc()
289 return dev_mc_add_global(dev, ifr->ifr_hwaddr.sa_data); in dev_ifsioc()
293 ifr->ifr_hwaddr.sa_family != AF_UNSPEC) in dev_ifsioc()
297 return dev_mc_del_global(dev, ifr->ifr_hwaddr.sa_data); in dev_ifsioc()
300 if (ifr->ifr_qlen < 0) in dev_ifsioc()
302 dev->tx_queue_len = ifr->ifr_qlen; in dev_ifsioc()
306 ifr->ifr_newname[IFNAMSIZ-1] = '\0'; in dev_ifsioc()
307 return dev_change_name(dev, ifr->ifr_newname); in dev_ifsioc()
310 err = net_hwtstamp_validate(ifr); in dev_ifsioc()
338 err = ops->ndo_do_ioctl(dev, ifr, cmd); in dev_ifsioc()
395 struct ifreq ifr; in dev_ioctl() local
413 if (copy_from_user(&ifr, arg, sizeof(struct ifreq))) in dev_ioctl()
416 ifr.ifr_name[IFNAMSIZ-1] = 0; in dev_ioctl()
418 colon = strchr(ifr.ifr_name, ':'); in dev_ioctl()
441 dev_load(net, ifr.ifr_name); in dev_ioctl()
443 ret = dev_ifsioc_locked(net, &ifr, cmd); in dev_ioctl()
448 if (copy_to_user(arg, &ifr, in dev_ioctl()
455 dev_load(net, ifr.ifr_name); in dev_ioctl()
457 ret = dev_ethtool(net, &ifr); in dev_ioctl()
462 if (copy_to_user(arg, &ifr, in dev_ioctl()
479 dev_load(net, ifr.ifr_name); in dev_ioctl()
481 ret = dev_ifsioc(net, &ifr, cmd); in dev_ioctl()
486 if (copy_to_user(arg, &ifr, in dev_ioctl()
530 dev_load(net, ifr.ifr_name); in dev_ioctl()
532 ret = dev_ifsioc(net, &ifr, cmd); in dev_ioctl()
553 dev_load(net, ifr.ifr_name); in dev_ioctl()
555 ret = dev_ifsioc(net, &ifr, cmd); in dev_ioctl()
557 if (!ret && copy_to_user(arg, &ifr, in dev_ioctl()
564 return wext_handle_ioctl(net, &ifr, cmd, arg); in dev_ioctl()