Lines Matching refs:ifm
758 const struct ifinfomsg *ifm) in rtnl_dev_combine_flags() argument
760 unsigned int flags = ifm->ifi_flags; in rtnl_dev_combine_flags()
763 if (ifm->ifi_change) in rtnl_dev_combine_flags()
764 flags = (flags & ifm->ifi_change) | in rtnl_dev_combine_flags()
765 (rtnl_dev_get_flags(dev) & ~ifm->ifi_change); in rtnl_dev_combine_flags()
1026 struct ifinfomsg *ifm; in rtnl_fill_ifinfo() local
1035 nlh = nlmsg_put(skb, pid, seq, type, sizeof(*ifm), flags); in rtnl_fill_ifinfo()
1039 ifm = nlmsg_data(nlh); in rtnl_fill_ifinfo()
1040 ifm->ifi_family = AF_UNSPEC; in rtnl_fill_ifinfo()
1041 ifm->__ifi_pad = 0; in rtnl_fill_ifinfo()
1042 ifm->ifi_type = dev->type; in rtnl_fill_ifinfo()
1043 ifm->ifi_index = dev->ifindex; in rtnl_fill_ifinfo()
1044 ifm->ifi_flags = dev_get_flags(dev); in rtnl_fill_ifinfo()
1045 ifm->ifi_change = change; in rtnl_fill_ifinfo()
1570 struct net_device *dev, struct ifinfomsg *ifm, in do_setlink() argument
1660 if (ifm->ifi_index > 0 && ifname[0]) { in do_setlink()
1680 if (ifm->ifi_flags || ifm->ifi_change) { in do_setlink()
1681 err = dev_change_flags(dev, rtnl_dev_combine_flags(dev, ifm)); in do_setlink()
1826 struct ifinfomsg *ifm; in rtnl_setlink() local
1832 err = nlmsg_parse(nlh, sizeof(*ifm), tb, IFLA_MAX, ifla_policy); in rtnl_setlink()
1842 ifm = nlmsg_data(nlh); in rtnl_setlink()
1843 if (ifm->ifi_index > 0) in rtnl_setlink()
1844 dev = __dev_get_by_index(net, ifm->ifi_index); in rtnl_setlink()
1859 err = do_setlink(skb, dev, ifm, tb, ifname, 0); in rtnl_setlink()
1905 struct ifinfomsg *ifm; in rtnl_dellink() local
1911 err = nlmsg_parse(nlh, sizeof(*ifm), tb, IFLA_MAX, ifla_policy); in rtnl_dellink()
1918 ifm = nlmsg_data(nlh); in rtnl_dellink()
1919 if (ifm->ifi_index > 0) in rtnl_dellink()
1920 dev = __dev_get_by_index(net, ifm->ifi_index); in rtnl_dellink()
1940 int rtnl_configure_link(struct net_device *dev, const struct ifinfomsg *ifm) in rtnl_configure_link() argument
1946 if (ifm && (ifm->ifi_flags || ifm->ifi_change)) { in rtnl_configure_link()
1947 err = __dev_change_flags(dev, rtnl_dev_combine_flags(dev, ifm)); in rtnl_configure_link()
2016 struct ifinfomsg *ifm, in rtnl_group_changelink() argument
2024 err = do_setlink(skb, dev, ifm, tb, NULL, 0); in rtnl_group_changelink()
2040 struct ifinfomsg *ifm; in rtnl_newlink() local
2051 err = nlmsg_parse(nlh, sizeof(*ifm), tb, IFLA_MAX, ifla_policy); in rtnl_newlink()
2060 ifm = nlmsg_data(nlh); in rtnl_newlink()
2061 if (ifm->ifi_index > 0) in rtnl_newlink()
2062 dev = __dev_get_by_index(net, ifm->ifi_index); in rtnl_newlink()
2167 return do_setlink(skb, dev, ifm, tb, ifname, status); in rtnl_newlink()
2171 if (ifm->ifi_index == 0 && tb[IFLA_GROUP]) in rtnl_newlink()
2174 ifm, tb); in rtnl_newlink()
2231 dev->ifindex = ifm->ifi_index; in rtnl_newlink()
2252 err = rtnl_configure_link(dev, ifm); in rtnl_newlink()
2281 struct ifinfomsg *ifm; in rtnl_getlink() local
2289 err = nlmsg_parse(nlh, sizeof(*ifm), tb, IFLA_MAX, ifla_policy); in rtnl_getlink()
2299 ifm = nlmsg_data(nlh); in rtnl_getlink()
2300 if (ifm->ifi_index > 0) in rtnl_getlink()
2301 dev = __dev_get_by_index(net, ifm->ifi_index); in rtnl_getlink()
2792 struct ifinfomsg *ifm = nlmsg_data(cb->nlh); in rtnl_fdb_dump() local
2804 brport_idx = ifm->ifi_index; in rtnl_fdb_dump()
2868 struct ifinfomsg *ifm; in ndo_dflt_bridge_getlink() local
2874 nlh = nlmsg_put(skb, pid, seq, RTM_NEWLINK, sizeof(*ifm), nlflags); in ndo_dflt_bridge_getlink()
2878 ifm = nlmsg_data(nlh); in ndo_dflt_bridge_getlink()
2879 ifm->ifi_family = AF_BRIDGE; in ndo_dflt_bridge_getlink()
2880 ifm->__ifi_pad = 0; in ndo_dflt_bridge_getlink()
2881 ifm->ifi_type = dev->type; in ndo_dflt_bridge_getlink()
2882 ifm->ifi_index = dev->ifindex; in ndo_dflt_bridge_getlink()
2883 ifm->ifi_flags = dev_get_flags(dev); in ndo_dflt_bridge_getlink()
2884 ifm->ifi_change = 0; in ndo_dflt_bridge_getlink()
3051 struct ifinfomsg *ifm; in rtnl_bridge_setlink() local
3058 if (nlmsg_len(nlh) < sizeof(*ifm)) in rtnl_bridge_setlink()
3061 ifm = nlmsg_data(nlh); in rtnl_bridge_setlink()
3062 if (ifm->ifi_family != AF_BRIDGE) in rtnl_bridge_setlink()
3065 dev = __dev_get_by_index(net, ifm->ifi_index); in rtnl_bridge_setlink()
3125 struct ifinfomsg *ifm; in rtnl_bridge_dellink() local
3132 if (nlmsg_len(nlh) < sizeof(*ifm)) in rtnl_bridge_dellink()
3135 ifm = nlmsg_data(nlh); in rtnl_bridge_dellink()
3136 if (ifm->ifi_family != AF_BRIDGE) in rtnl_bridge_dellink()
3139 dev = __dev_get_by_index(net, ifm->ifi_index); in rtnl_bridge_dellink()