Lines Matching defs:ifr
29 static int dev_ifname(struct net *net, struct ifreq *ifr)
31 ifr->ifr_name[IFNAMSIZ-1] = 0;
32 return netdev_get_name(net, ifr->ifr_name, ifr->ifr_ifindex);
87 static int dev_getifmap(struct net_device *dev, struct ifreq *ifr)
89 struct ifmap *ifmap = &ifr->ifr_map;
114 static int netif_setifmap(struct net_device *dev, struct ifreq *ifr)
116 struct compat_ifmap *cifmap = (struct compat_ifmap *)&ifr->ifr_map;
134 return dev->netdev_ops->ndo_set_config(dev, &ifr->ifr_map);
140 static int dev_ifsioc_locked(struct net *net, struct ifreq *ifr, unsigned int cmd)
143 struct net_device *dev = dev_get_by_name_rcu(net, ifr->ifr_name);
150 ifr->ifr_flags = (short)netif_get_flags(dev);
155 ifr->ifr_metric = 0;
159 ifr->ifr_mtu = dev->mtu;
167 return dev_getifmap(dev, ifr);
170 ifr->ifr_ifindex = dev->ifindex;
174 ifr->ifr_qlen = dev->tx_queue_len;
282 static int dev_get_hwtstamp(struct net_device *dev, struct ifreq *ifr)
295 kernel_cfg.ifr = ifr;
308 if (copy_to_user(ifr->ifr_data, &cfg, sizeof(cfg)))
391 static int dev_set_hwtstamp(struct net_device *dev, struct ifreq *ifr)
399 if (copy_from_user(&cfg, ifr->ifr_data, sizeof(cfg)))
403 kernel_cfg.ifr = ifr;
434 if (copy_to_user(ifr->ifr_data, &cfg, sizeof(cfg)))
483 struct ifreq *ifr, unsigned int cmd)
492 ret = ops->ndo_siocbond(dev, ifr, cmd);
501 static int dev_siocdevprivate(struct net_device *dev, struct ifreq *ifr,
511 ret = ops->ndo_siocdevprivate(dev, ifr, data, cmd);
541 static int dev_ifsioc(struct net *net, struct ifreq *ifr, void __user *data,
545 struct net_device *dev = __dev_get_by_name(net, ifr->ifr_name);
555 return dev_change_flags(dev, ifr->ifr_flags, NULL);
562 return dev_set_mtu(dev, ifr->ifr_mtu);
565 if (dev->addr_len > sizeof(ifr->ifr_hwaddr))
568 (struct sockaddr_storage *)&ifr->ifr_hwaddr,
572 if (ifr->ifr_hwaddr.sa_family != dev->type)
574 memcpy(dev->broadcast, ifr->ifr_hwaddr.sa_data,
575 min(sizeof(ifr->ifr_hwaddr.sa_data),
584 err = netif_setifmap(dev, ifr);
590 ifr->ifr_hwaddr.sa_family != AF_UNSPEC)
595 err = dev_mc_add_global(dev, ifr->ifr_hwaddr.sa_data);
601 ifr->ifr_hwaddr.sa_family != AF_UNSPEC)
606 err = dev_mc_del_global(dev, ifr->ifr_hwaddr.sa_data);
611 if (ifr->ifr_qlen < 0)
613 return dev_change_tx_queue_len(dev, ifr->ifr_qlen);
616 ifr->ifr_newname[IFNAMSIZ-1] = '\0';
617 return dev_change_name(dev, ifr->ifr_newname);
620 return dev_siocwandev(dev, &ifr->ifr_settings);
623 return dev_siocdevprivate(dev, ifr, data, cmd);
626 return dev_set_hwtstamp(dev, ifr);
629 return dev_get_hwtstamp(dev, ifr);
634 return dev_eth_ioctl(dev, ifr, cmd);
642 return dev_siocbond(dev, ifr, cmd);
687 * @ifr: pointer to a struct ifreq in user space
697 int dev_ioctl(struct net *net, unsigned int cmd, struct ifreq *ifr,
706 return dev_ifname(net, ifr);
708 ifr->ifr_name[IFNAMSIZ-1] = 0;
710 colon = strchr(ifr->ifr_name, ':');
720 dev_load(net, ifr->ifr_name);
721 ret = netif_get_mac_address(&ifr->ifr_hwaddr, net,
722 ifr->ifr_name);
739 dev_load(net, ifr->ifr_name);
741 ret = dev_ifsioc_locked(net, ifr, cmd);
748 dev_load(net, ifr->ifr_name);
749 ret = dev_ethtool(net, ifr, data);
763 dev_load(net, ifr->ifr_name);
768 ret = dev_ifsioc(net, ifr, data, cmd);
811 dev_load(net, ifr->ifr_name);
814 ret = dev_ifsioc(net, ifr, data, cmd);
838 dev_load(net, ifr->ifr_name);
841 ret = dev_ifsioc(net, ifr, data, cmd);