Lines Matching refs:ifr

29 static int dev_ifname(struct net *net, struct ifreq *ifr)  in dev_ifname()  argument
31 ifr->ifr_name[IFNAMSIZ-1] = 0; in dev_ifname()
32 return netdev_get_name(net, ifr->ifr_name, ifr->ifr_ifindex); in dev_ifname()
87 static int dev_getifmap(struct net_device *dev, struct ifreq *ifr) in dev_getifmap() argument
89 struct ifmap *ifmap = &ifr->ifr_map; in dev_getifmap()
114 static int netif_setifmap(struct net_device *dev, struct ifreq *ifr) in netif_setifmap() argument
116 struct compat_ifmap *cifmap = (struct compat_ifmap *)&ifr->ifr_map; in netif_setifmap()
134 return dev->netdev_ops->ndo_set_config(dev, &ifr->ifr_map); in netif_setifmap()
140 static int dev_ifsioc_locked(struct net *net, struct ifreq *ifr, unsigned int cmd) in dev_ifsioc_locked() argument
143 struct net_device *dev = dev_get_by_name_rcu(net, ifr->ifr_name); in dev_ifsioc_locked()
150 ifr->ifr_flags = (short)netif_get_flags(dev); in dev_ifsioc_locked()
155 ifr->ifr_metric = 0; in dev_ifsioc_locked()
159 ifr->ifr_mtu = dev->mtu; in dev_ifsioc_locked()
167 return dev_getifmap(dev, ifr); in dev_ifsioc_locked()
170 ifr->ifr_ifindex = dev->ifindex; in dev_ifsioc_locked()
174 ifr->ifr_qlen = dev->tx_queue_len; in dev_ifsioc_locked()
281 static int dev_get_hwtstamp(struct net_device *dev, struct ifreq *ifr) in dev_get_hwtstamp() argument
289 return dev_eth_ioctl(dev, ifr, SIOCGHWTSTAMP); /* legacy */ in dev_get_hwtstamp()
294 kernel_cfg.ifr = ifr; in dev_get_hwtstamp()
307 if (copy_to_user(ifr->ifr_data, &cfg, sizeof(cfg))) in dev_get_hwtstamp()
390 static int dev_set_hwtstamp(struct net_device *dev, struct ifreq *ifr) in dev_set_hwtstamp() argument
398 if (copy_from_user(&cfg, ifr->ifr_data, sizeof(cfg))) in dev_set_hwtstamp()
402 kernel_cfg.ifr = ifr; in dev_set_hwtstamp()
416 return dev_eth_ioctl(dev, ifr, SIOCSHWTSTAMP); /* legacy */ in dev_set_hwtstamp()
433 if (copy_to_user(ifr->ifr_data, &cfg, sizeof(cfg))) in dev_set_hwtstamp()
447 ifrr.ifr_ifru = kernel_cfg->ifr->ifr_ifru; in generic_hwtstamp_ioctl_lower()
453 kernel_cfg->ifr->ifr_ifru = ifrr.ifr_ifru; in generic_hwtstamp_ioctl_lower()
493 struct ifreq *ifr, unsigned int cmd) in dev_siocbond() argument
502 ret = ops->ndo_siocbond(dev, ifr, cmd); in dev_siocbond()
511 static int dev_siocdevprivate(struct net_device *dev, struct ifreq *ifr, in dev_siocdevprivate() argument
521 ret = ops->ndo_siocdevprivate(dev, ifr, data, cmd); in dev_siocdevprivate()
551 static int dev_ifsioc(struct net *net, struct ifreq *ifr, void __user *data, in dev_ifsioc() argument
555 struct net_device *dev = __dev_get_by_name(net, ifr->ifr_name); in dev_ifsioc()
565 return dev_change_flags(dev, ifr->ifr_flags, NULL); in dev_ifsioc()
572 return dev_set_mtu(dev, ifr->ifr_mtu); in dev_ifsioc()
575 if (dev->addr_len > sizeof(ifr->ifr_hwaddr)) in dev_ifsioc()
578 (struct sockaddr_storage *)&ifr->ifr_hwaddr, in dev_ifsioc()
582 if (ifr->ifr_hwaddr.sa_family != dev->type) in dev_ifsioc()
584 memcpy(dev->broadcast, ifr->ifr_hwaddr.sa_data, in dev_ifsioc()
585 min(sizeof(ifr->ifr_hwaddr.sa_data_min), in dev_ifsioc()
594 err = netif_setifmap(dev, ifr); in dev_ifsioc()
600 ifr->ifr_hwaddr.sa_family != AF_UNSPEC) in dev_ifsioc()
605 err = dev_mc_add_global(dev, ifr->ifr_hwaddr.sa_data); in dev_ifsioc()
611 ifr->ifr_hwaddr.sa_family != AF_UNSPEC) in dev_ifsioc()
616 err = dev_mc_del_global(dev, ifr->ifr_hwaddr.sa_data); in dev_ifsioc()
621 if (ifr->ifr_qlen < 0) in dev_ifsioc()
623 return dev_change_tx_queue_len(dev, ifr->ifr_qlen); in dev_ifsioc()
626 ifr->ifr_newname[IFNAMSIZ-1] = '\0'; in dev_ifsioc()
627 return dev_change_name(dev, ifr->ifr_newname); in dev_ifsioc()
630 return dev_siocwandev(dev, &ifr->ifr_settings); in dev_ifsioc()
633 return dev_siocdevprivate(dev, ifr, data, cmd); in dev_ifsioc()
636 return dev_set_hwtstamp(dev, ifr); in dev_ifsioc()
639 return dev_get_hwtstamp(dev, ifr); in dev_ifsioc()
644 return dev_eth_ioctl(dev, ifr, cmd); in dev_ifsioc()
652 return dev_siocbond(dev, ifr, cmd); in dev_ifsioc()
707 int dev_ioctl(struct net *net, unsigned int cmd, struct ifreq *ifr, in dev_ioctl() argument
716 return dev_ifname(net, ifr); in dev_ioctl()
718 ifr->ifr_name[IFNAMSIZ-1] = 0; in dev_ioctl()
720 colon = strchr(ifr->ifr_name, ':'); in dev_ioctl()
730 dev_load(net, ifr->ifr_name); in dev_ioctl()
731 ret = netif_get_mac_address(&ifr->ifr_hwaddr, net, in dev_ioctl()
732 ifr->ifr_name); in dev_ioctl()
749 dev_load(net, ifr->ifr_name); in dev_ioctl()
751 ret = dev_ifsioc_locked(net, ifr, cmd); in dev_ioctl()
758 dev_load(net, ifr->ifr_name); in dev_ioctl()
759 ret = dev_ethtool(net, ifr, data); in dev_ioctl()
773 dev_load(net, ifr->ifr_name); in dev_ioctl()
778 ret = dev_ifsioc(net, ifr, data, cmd); in dev_ioctl()
821 dev_load(net, ifr->ifr_name); in dev_ioctl()
824 ret = dev_ifsioc(net, ifr, data, cmd); in dev_ioctl()
848 dev_load(net, ifr->ifr_name); in dev_ioctl()
851 ret = dev_ifsioc(net, ifr, data, cmd); in dev_ioctl()