Lines Matching refs:ifm

866 					   const struct ifinfomsg *ifm)  in rtnl_dev_combine_flags()  argument
868 unsigned int flags = ifm->ifi_flags; in rtnl_dev_combine_flags()
871 if (ifm->ifi_change) in rtnl_dev_combine_flags()
872 flags = (flags & ifm->ifi_change) | in rtnl_dev_combine_flags()
873 (rtnl_dev_get_flags(dev) & ~ifm->ifi_change); in rtnl_dev_combine_flags()
1706 struct ifinfomsg *ifm; in rtnl_fill_ifinfo() local
1710 nlh = nlmsg_put(skb, pid, seq, type, sizeof(*ifm), flags); in rtnl_fill_ifinfo()
1714 ifm = nlmsg_data(nlh); in rtnl_fill_ifinfo()
1715 ifm->ifi_family = AF_UNSPEC; in rtnl_fill_ifinfo()
1716 ifm->__ifi_pad = 0; in rtnl_fill_ifinfo()
1717 ifm->ifi_type = dev->type; in rtnl_fill_ifinfo()
1718 ifm->ifi_index = dev->ifindex; in rtnl_fill_ifinfo()
1719 ifm->ifi_flags = dev_get_flags(dev); in rtnl_fill_ifinfo()
1720 ifm->ifi_change = change; in rtnl_fill_ifinfo()
2017 struct ifinfomsg *ifm; in rtnl_valid_dump_ifinfo_req() local
2019 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*ifm))) { in rtnl_valid_dump_ifinfo_req()
2024 ifm = nlmsg_data(nlh); in rtnl_valid_dump_ifinfo_req()
2025 if (ifm->__ifi_pad || ifm->ifi_type || ifm->ifi_flags || in rtnl_valid_dump_ifinfo_req()
2026 ifm->ifi_change) { in rtnl_valid_dump_ifinfo_req()
2030 if (ifm->ifi_index) { in rtnl_valid_dump_ifinfo_req()
2035 return nlmsg_parse_deprecated_strict(nlh, sizeof(*ifm), tb, in rtnl_valid_dump_ifinfo_req()
2592 struct net_device *dev, struct ifinfomsg *ifm, in do_setlink() argument
2685 if (ifm->ifi_index > 0 && ifname[0]) { in do_setlink()
2705 if (ifm->ifi_flags || ifm->ifi_change) { in do_setlink()
2706 err = dev_change_flags(dev, rtnl_dev_combine_flags(dev, ifm), in do_setlink()
2970 struct ifinfomsg *ifm; in rtnl_setlink() local
2976 err = nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFLA_MAX, in rtnl_setlink()
2991 ifm = nlmsg_data(nlh); in rtnl_setlink()
2992 if (ifm->ifi_index > 0) in rtnl_setlink()
2993 dev = __dev_get_by_index(net, ifm->ifi_index); in rtnl_setlink()
3004 err = do_setlink(skb, dev, ifm, extack, tb, ifname, 0); in rtnl_setlink()
3067 struct ifinfomsg *ifm; in rtnl_dellink() local
3072 err = nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFLA_MAX, in rtnl_dellink()
3089 ifm = nlmsg_data(nlh); in rtnl_dellink()
3090 if (ifm->ifi_index > 0) in rtnl_dellink()
3091 dev = __dev_get_by_index(tgt_net, ifm->ifi_index); in rtnl_dellink()
3101 if (tb[IFLA_IFNAME] || ifm->ifi_index > 0) in rtnl_dellink()
3116 int rtnl_configure_link(struct net_device *dev, const struct ifinfomsg *ifm) in rtnl_configure_link() argument
3122 if (ifm && (ifm->ifi_flags || ifm->ifi_change)) { in rtnl_configure_link()
3123 err = __dev_change_flags(dev, rtnl_dev_combine_flags(dev, ifm), in rtnl_configure_link()
3216 struct ifinfomsg *ifm, in rtnl_group_changelink() argument
3225 err = do_setlink(skb, dev, ifm, extack, tb, NULL, 0); in rtnl_group_changelink()
3249 struct ifinfomsg *ifm; in __rtnl_newlink() local
3257 err = nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFLA_MAX, in __rtnl_newlink()
3271 ifm = nlmsg_data(nlh); in __rtnl_newlink()
3272 if (ifm->ifi_index > 0) in __rtnl_newlink()
3273 dev = __dev_get_by_index(net, ifm->ifi_index); in __rtnl_newlink()
3374 return do_setlink(skb, dev, ifm, extack, tb, ifname, status); in __rtnl_newlink()
3378 if (ifm->ifi_index == 0 && tb[IFLA_GROUP]) in __rtnl_newlink()
3381 ifm, extack, tb); in __rtnl_newlink()
3438 dev->ifindex = ifm->ifi_index; in __rtnl_newlink()
3460 err = rtnl_configure_link(dev, ifm); in __rtnl_newlink()
3510 struct ifinfomsg *ifm; in rtnl_valid_getlink_req() local
3513 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*ifm))) { in rtnl_valid_getlink_req()
3519 return nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFLA_MAX, in rtnl_valid_getlink_req()
3522 ifm = nlmsg_data(nlh); in rtnl_valid_getlink_req()
3523 if (ifm->__ifi_pad || ifm->ifi_type || ifm->ifi_flags || in rtnl_valid_getlink_req()
3524 ifm->ifi_change) { in rtnl_valid_getlink_req()
3529 err = nlmsg_parse_deprecated_strict(nlh, sizeof(*ifm), tb, IFLA_MAX, in rtnl_valid_getlink_req()
3558 struct ifinfomsg *ifm; in rtnl_getlink() local
3585 ifm = nlmsg_data(nlh); in rtnl_getlink()
3586 if (ifm->ifi_index > 0) in rtnl_getlink()
3587 dev = __dev_get_by_index(tgt_net, ifm->ifi_index); in rtnl_getlink()
3657 struct ifinfomsg *ifm; in rtnl_linkprop() local
3662 err = nlmsg_parse(nlh, sizeof(*ifm), tb, IFLA_MAX, ifla_policy, extack); in rtnl_linkprop()
3670 ifm = nlmsg_data(nlh); in rtnl_linkprop()
3671 if (ifm->ifi_index > 0) in rtnl_linkprop()
3672 dev = __dev_get_by_index(net, ifm->ifi_index); in rtnl_linkprop()
4309 struct ifinfomsg *ifm; in valid_fdb_dump_legacy() local
4321 ifm = nlmsg_data(nlh); in valid_fdb_dump_legacy()
4322 *brport_idx = ifm->ifi_index; in valid_fdb_dump_legacy()
4603 struct ifinfomsg *ifm; in ndo_dflt_bridge_getlink() local
4610 nlh = nlmsg_put(skb, pid, seq, RTM_NEWLINK, sizeof(*ifm), nlflags); in ndo_dflt_bridge_getlink()
4614 ifm = nlmsg_data(nlh); in ndo_dflt_bridge_getlink()
4615 ifm->ifi_family = AF_BRIDGE; in ndo_dflt_bridge_getlink()
4616 ifm->__ifi_pad = 0; in ndo_dflt_bridge_getlink()
4617 ifm->ifi_type = dev->type; in ndo_dflt_bridge_getlink()
4618 ifm->ifi_index = dev->ifindex; in ndo_dflt_bridge_getlink()
4619 ifm->ifi_flags = dev_get_flags(dev); in ndo_dflt_bridge_getlink()
4620 ifm->ifi_change = 0; in ndo_dflt_bridge_getlink()
4705 struct ifinfomsg *ifm; in valid_bridge_getlink_req() local
4707 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*ifm))) { in valid_bridge_getlink_req()
4712 ifm = nlmsg_data(nlh); in valid_bridge_getlink_req()
4713 if (ifm->__ifi_pad || ifm->ifi_type || ifm->ifi_flags || in valid_bridge_getlink_req()
4714 ifm->ifi_change || ifm->ifi_index) { in valid_bridge_getlink_req()
4862 struct ifinfomsg *ifm; in rtnl_bridge_setlink() local
4869 if (nlmsg_len(nlh) < sizeof(*ifm)) in rtnl_bridge_setlink()
4872 ifm = nlmsg_data(nlh); in rtnl_bridge_setlink()
4873 if (ifm->ifi_family != AF_BRIDGE) in rtnl_bridge_setlink()
4876 dev = __dev_get_by_index(net, ifm->ifi_index); in rtnl_bridge_setlink()
4939 struct ifinfomsg *ifm; in rtnl_bridge_dellink() local
4946 if (nlmsg_len(nlh) < sizeof(*ifm)) in rtnl_bridge_dellink()
4949 ifm = nlmsg_data(nlh); in rtnl_bridge_dellink()
4950 if (ifm->ifi_family != AF_BRIDGE) in rtnl_bridge_dellink()
4953 dev = __dev_get_by_index(net, ifm->ifi_index); in rtnl_bridge_dellink()