rtnetlink.c (1268afe676ee9431a229fc68a2efb0dad4d5852f) | rtnetlink.c (cbda10fa97d72c7a1923be4426171aa90e8c6dab) |
---|---|
1/* 2 * INET An implementation of the TCP/IP protocol suite for the LINUX 3 * operating system. INET is implemented using the BSD Socket 4 * interface as the means of communication with the user level. 5 * 6 * Routing netlink socket interface: protocol independent part. 7 * 8 * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> --- 854 unchanged lines hidden (view full) --- 863 ifm->ifi_change = change; 864 865 NLA_PUT_STRING(skb, IFLA_IFNAME, dev->name); 866 NLA_PUT_U32(skb, IFLA_TXQLEN, dev->tx_queue_len); 867 NLA_PUT_U8(skb, IFLA_OPERSTATE, 868 netif_running(dev) ? dev->operstate : IF_OPER_DOWN); 869 NLA_PUT_U8(skb, IFLA_LINKMODE, dev->link_mode); 870 NLA_PUT_U32(skb, IFLA_MTU, dev->mtu); | 1/* 2 * INET An implementation of the TCP/IP protocol suite for the LINUX 3 * operating system. INET is implemented using the BSD Socket 4 * interface as the means of communication with the user level. 5 * 6 * Routing netlink socket interface: protocol independent part. 7 * 8 * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> --- 854 unchanged lines hidden (view full) --- 863 ifm->ifi_change = change; 864 865 NLA_PUT_STRING(skb, IFLA_IFNAME, dev->name); 866 NLA_PUT_U32(skb, IFLA_TXQLEN, dev->tx_queue_len); 867 NLA_PUT_U8(skb, IFLA_OPERSTATE, 868 netif_running(dev) ? dev->operstate : IF_OPER_DOWN); 869 NLA_PUT_U8(skb, IFLA_LINKMODE, dev->link_mode); 870 NLA_PUT_U32(skb, IFLA_MTU, dev->mtu); |
871 NLA_PUT_U32(skb, IFLA_GROUP, dev->group); |
|
871 872 if (dev->ifindex != dev->iflink) 873 NLA_PUT_U32(skb, IFLA_LINK, dev->iflink); 874 875 if (dev->master) 876 NLA_PUT_U32(skb, IFLA_MASTER, dev->master->ifindex); 877 878 if (dev->qdisc) --- 381 unchanged lines hidden (view full) --- 1260 1261 if (tb[IFLA_MTU]) { 1262 err = dev_set_mtu(dev, nla_get_u32(tb[IFLA_MTU])); 1263 if (err < 0) 1264 goto errout; 1265 modified = 1; 1266 } 1267 | 872 873 if (dev->ifindex != dev->iflink) 874 NLA_PUT_U32(skb, IFLA_LINK, dev->iflink); 875 876 if (dev->master) 877 NLA_PUT_U32(skb, IFLA_MASTER, dev->master->ifindex); 878 879 if (dev->qdisc) --- 381 unchanged lines hidden (view full) --- 1261 1262 if (tb[IFLA_MTU]) { 1263 err = dev_set_mtu(dev, nla_get_u32(tb[IFLA_MTU])); 1264 if (err < 0) 1265 goto errout; 1266 modified = 1; 1267 } 1268 |
1269 if (tb[IFLA_GROUP]) { 1270 dev_set_group(dev, nla_get_u32(tb[IFLA_GROUP])); 1271 modified = 1; 1272 } 1273 |
|
1268 /* 1269 * Interface selected by interface index but interface 1270 * name provided implies that a name change has been 1271 * requested. 1272 */ 1273 if (ifm->ifi_index > 0 && ifname[0]) { 1274 err = dev_change_name(dev, ifname); 1275 if (err < 0) --- 539 unchanged lines hidden (view full) --- 1815 1816 family = ((struct rtgenmsg *)NLMSG_DATA(nlh))->rtgen_family; 1817 sz_idx = type>>2; 1818 kind = type&3; 1819 1820 if (kind != 2 && security_netlink_recv(skb, CAP_NET_ADMIN)) 1821 return -EPERM; 1822 | 1274 /* 1275 * Interface selected by interface index but interface 1276 * name provided implies that a name change has been 1277 * requested. 1278 */ 1279 if (ifm->ifi_index > 0 && ifname[0]) { 1280 err = dev_change_name(dev, ifname); 1281 if (err < 0) --- 539 unchanged lines hidden (view full) --- 1821 1822 family = ((struct rtgenmsg *)NLMSG_DATA(nlh))->rtgen_family; 1823 sz_idx = type>>2; 1824 kind = type&3; 1825 1826 if (kind != 2 && security_netlink_recv(skb, CAP_NET_ADMIN)) 1827 return -EPERM; 1828 |
1823 if (kind == 2 && nlh->nlmsg_flags&NLM_F_DUMP) { | 1829 if (kind == 2 && (nlh->nlmsg_flags & NLM_F_DUMP) == NLM_F_DUMP) { |
1824 struct sock *rtnl; 1825 rtnl_dumpit_func dumpit; 1826 1827 dumpit = rtnl_get_dumpit(family, type); 1828 if (dumpit == NULL) 1829 return -EOPNOTSUPP; 1830 1831 __rtnl_unlock(); --- 118 unchanged lines hidden --- | 1830 struct sock *rtnl; 1831 rtnl_dumpit_func dumpit; 1832 1833 dumpit = rtnl_get_dumpit(family, type); 1834 if (dumpit == NULL) 1835 return -EOPNOTSUPP; 1836 1837 __rtnl_unlock(); --- 118 unchanged lines hidden --- |