Lines Matching refs:ifm

898 					   const struct ifinfomsg *ifm)
900 unsigned int flags = ifm->ifi_flags;
903 if (ifm->ifi_change)
904 flags = (flags & ifm->ifi_change) |
905 (rtnl_dev_get_flags(dev) & ~ifm->ifi_change);
1784 struct ifinfomsg *ifm;
1789 nlh = nlmsg_put(skb, pid, seq, type, sizeof(*ifm), flags);
1793 ifm = nlmsg_data(nlh);
1794 ifm->ifi_family = AF_UNSPEC;
1795 ifm->__ifi_pad = 0;
1796 ifm->ifi_type = dev->type;
1797 ifm->ifi_index = dev->ifindex;
1798 ifm->ifi_flags = dev_get_flags(dev);
1799 ifm->ifi_change = change;
2131 struct ifinfomsg *ifm;
2133 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*ifm))) {
2138 ifm = nlmsg_data(nlh);
2139 if (ifm->__ifi_pad || ifm->ifi_type || ifm->ifi_flags ||
2140 ifm->ifi_change) {
2144 if (ifm->ifi_index) {
2149 return nlmsg_parse_deprecated_strict(nlh, sizeof(*ifm), tb,
2748 struct net_device *dev, struct ifinfomsg *ifm,
2852 if (ifm->ifi_index > 0 && ifname[0]) {
2872 if (ifm->ifi_flags || ifm->ifi_change) {
2873 err = dev_change_flags(dev, rtnl_dev_combine_flags(dev, ifm),
3144 struct ifinfomsg *ifm;
3149 err = nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFLA_MAX,
3159 ifm = nlmsg_data(nlh);
3160 if (ifm->ifi_index > 0)
3161 dev = __dev_get_by_index(net, ifm->ifi_index);
3176 err = do_setlink(skb, dev, ifm, extack, tb, 0);
3240 struct ifinfomsg *ifm;
3245 err = nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFLA_MAX,
3262 ifm = nlmsg_data(nlh);
3263 if (ifm->ifi_index > 0)
3264 dev = __dev_get_by_index(tgt_net, ifm->ifi_index);
3273 if (tb[IFLA_IFNAME] || tb[IFLA_ALT_IFNAME] || ifm->ifi_index > 0)
3288 int rtnl_configure_link(struct net_device *dev, const struct ifinfomsg *ifm,
3295 if (ifm && (ifm->ifi_flags || ifm->ifi_change)) {
3296 err = __dev_change_flags(dev, rtnl_dev_combine_flags(dev, ifm),
3410 struct ifinfomsg *ifm,
3422 err = do_setlink(skb, dev, ifm, extack, tb, 0);
3431 static int rtnl_newlink_create(struct sk_buff *skb, struct ifinfomsg *ifm,
3482 dev->ifindex = ifm->ifi_index;
3493 err = rtnl_configure_link(dev, ifm, portid, nlh);
3542 struct ifinfomsg *ifm;
3550 err = nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFLA_MAX,
3559 ifm = nlmsg_data(nlh);
3560 if (ifm->ifi_index > 0) {
3562 dev = __dev_get_by_index(net, ifm->ifi_index);
3563 } else if (ifm->ifi_index < 0) {
3671 return do_setlink(skb, dev, ifm, extack, tb, status);
3683 ifm, extack, tb);
3705 return rtnl_newlink_create(skb, ifm, ops, nlh, tb, data, extack);
3728 struct ifinfomsg *ifm;
3731 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*ifm))) {
3737 return nlmsg_parse_deprecated(nlh, sizeof(*ifm), tb, IFLA_MAX,
3740 ifm = nlmsg_data(nlh);
3741 if (ifm->__ifi_pad || ifm->ifi_type || ifm->ifi_flags ||
3742 ifm->ifi_change) {
3747 err = nlmsg_parse_deprecated_strict(nlh, sizeof(*ifm), tb, IFLA_MAX,
3776 struct ifinfomsg *ifm;
3803 ifm = nlmsg_data(nlh);
3804 if (ifm->ifi_index > 0)
3805 dev = __dev_get_by_index(tgt_net, ifm->ifi_index);
3885 struct ifinfomsg *ifm;
3890 err = nlmsg_parse(nlh, sizeof(*ifm), tb, IFLA_MAX, ifla_policy, extack);
3898 ifm = nlmsg_data(nlh);
3899 if (ifm->ifi_index > 0)
3900 dev = __dev_get_by_index(net, ifm->ifi_index);
4579 struct ifinfomsg *ifm;
4591 ifm = nlmsg_data(nlh);
4592 *brport_idx = ifm->ifi_index;
4873 struct ifinfomsg *ifm;
4880 nlh = nlmsg_put(skb, pid, seq, RTM_NEWLINK, sizeof(*ifm), nlflags);
4884 ifm = nlmsg_data(nlh);
4885 ifm->ifi_family = AF_BRIDGE;
4886 ifm->__ifi_pad = 0;
4887 ifm->ifi_type = dev->type;
4888 ifm->ifi_index = dev->ifindex;
4889 ifm->ifi_flags = dev_get_flags(dev);
4890 ifm->ifi_change = 0;
4975 struct ifinfomsg *ifm;
4977 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*ifm))) {
4982 ifm = nlmsg_data(nlh);
4983 if (ifm->__ifi_pad || ifm->ifi_type || ifm->ifi_flags ||
4984 ifm->ifi_change || ifm->ifi_index) {
5136 struct ifinfomsg *ifm;
5142 if (nlmsg_len(nlh) < sizeof(*ifm))
5145 ifm = nlmsg_data(nlh);
5146 if (ifm->ifi_family != AF_BRIDGE)
5149 dev = __dev_get_by_index(net, ifm->ifi_index);
5216 struct ifinfomsg *ifm;
5223 if (nlmsg_len(nlh) < sizeof(*ifm))
5226 ifm = nlmsg_data(nlh);
5227 if (ifm->ifi_family != AF_BRIDGE)
5230 dev = __dev_get_by_index(net, ifm->ifi_index);