• Home
  • Raw
  • Download

Lines Matching refs:nlh

543 		 struct nlmsghdr *nlh, gfp_t flags)  in rtnl_notify()  argument
548 if (nlh) in rtnl_notify()
549 report = nlmsg_report(nlh); in rtnl_notify()
854 struct nlmsghdr *nlh; in rtnl_fill_ifinfo() local
862 nlh = nlmsg_put(skb, pid, seq, type, sizeof(*ifm), flags); in rtnl_fill_ifinfo()
863 if (nlh == NULL) in rtnl_fill_ifinfo()
866 ifm = nlmsg_data(nlh); in rtnl_fill_ifinfo()
1028 return nlmsg_end(skb, nlh); in rtnl_fill_ifinfo()
1031 nlmsg_cancel(skb, nlh); in rtnl_fill_ifinfo()
1051 if (nlmsg_parse(cb->nlh, sizeof(struct ifinfomsg), tb, IFLA_MAX, in rtnl_dump_ifinfo()
1066 cb->nlh->nlmsg_seq, 0, in rtnl_dump_ifinfo()
1518 static int rtnl_setlink(struct sk_buff *skb, struct nlmsghdr *nlh) in rtnl_setlink() argument
1527 err = nlmsg_parse(nlh, sizeof(*ifm), tb, IFLA_MAX, ifla_policy); in rtnl_setlink()
1537 ifm = nlmsg_data(nlh); in rtnl_setlink()
1559 static int rtnl_dellink(struct sk_buff *skb, struct nlmsghdr *nlh) in rtnl_dellink() argument
1570 err = nlmsg_parse(nlh, sizeof(*ifm), tb, IFLA_MAX, ifla_policy); in rtnl_dellink()
1577 ifm = nlmsg_data(nlh); in rtnl_dellink()
1690 static int rtnl_newlink(struct sk_buff *skb, struct nlmsghdr *nlh) in rtnl_newlink() argument
1705 err = nlmsg_parse(nlh, sizeof(*ifm), tb, IFLA_MAX, ifla_policy); in rtnl_newlink()
1714 ifm = nlmsg_data(nlh); in rtnl_newlink()
1767 if (nlh->nlmsg_flags & NLM_F_EXCL) in rtnl_newlink()
1769 if (nlh->nlmsg_flags & NLM_F_REPLACE) in rtnl_newlink()
1786 if (!(nlh->nlmsg_flags & NLM_F_CREATE)) { in rtnl_newlink()
1845 static int rtnl_getlink(struct sk_buff *skb, struct nlmsghdr* nlh) in rtnl_getlink() argument
1856 err = nlmsg_parse(nlh, sizeof(*ifm), tb, IFLA_MAX, ifla_policy); in rtnl_getlink()
1866 ifm = nlmsg_data(nlh); in rtnl_getlink()
1882 nlh->nlmsg_seq, 0, 0, ext_filter_mask); in rtnl_getlink()
1893 static u16 rtnl_calcit(struct sk_buff *skb, struct nlmsghdr *nlh) in rtnl_calcit() argument
1901 if (nlmsg_parse(nlh, sizeof(struct ifinfomsg), tb, IFLA_MAX, in rtnl_calcit()
1930 int type = cb->nlh->nlmsg_type-RTM_BASE; in rtnl_dump_all()
1980 struct nlmsghdr *nlh; in nlmsg_populate_fdb_fill() local
1983 nlh = nlmsg_put(skb, pid, seq, type, sizeof(*ndm), NLM_F_MULTI); in nlmsg_populate_fdb_fill()
1984 if (!nlh) in nlmsg_populate_fdb_fill()
1987 ndm = nlmsg_data(nlh); in nlmsg_populate_fdb_fill()
1999 return nlmsg_end(skb, nlh); in nlmsg_populate_fdb_fill()
2002 nlmsg_cancel(skb, nlh); in nlmsg_populate_fdb_fill()
2065 static int rtnl_fdb_add(struct sk_buff *skb, struct nlmsghdr *nlh) in rtnl_fdb_add() argument
2074 err = nlmsg_parse(nlh, sizeof(*ndm), tb, NDA_MAX, NULL); in rtnl_fdb_add()
2078 ndm = nlmsg_data(nlh); in rtnl_fdb_add()
2109 err = ops->ndo_fdb_add(ndm, tb, dev, addr, nlh->nlmsg_flags); in rtnl_fdb_add()
2120 nlh->nlmsg_flags); in rtnl_fdb_add()
2123 nlh->nlmsg_flags); in rtnl_fdb_add()
2163 static int rtnl_fdb_del(struct sk_buff *skb, struct nlmsghdr *nlh) in rtnl_fdb_del() argument
2175 err = nlmsg_parse(nlh, sizeof(*ndm), tb, NDA_MAX, NULL); in rtnl_fdb_del()
2179 ndm = nlmsg_data(nlh); in rtnl_fdb_del()
2246 seq = cb->nlh->nlmsg_seq; in nlmsg_populate_fdb()
2321 struct nlmsghdr *nlh; in ndo_dflt_bridge_getlink() local
2327 nlh = nlmsg_put(skb, pid, seq, RTM_NEWLINK, sizeof(*ifm), NLM_F_MULTI); in ndo_dflt_bridge_getlink()
2328 if (nlh == NULL) in ndo_dflt_bridge_getlink()
2331 ifm = nlmsg_data(nlh); in ndo_dflt_bridge_getlink()
2362 return nlmsg_end(skb, nlh); in ndo_dflt_bridge_getlink()
2364 nlmsg_cancel(skb, nlh); in ndo_dflt_bridge_getlink()
2375 u32 seq = cb->nlh->nlmsg_seq; in rtnl_bridge_getlink()
2379 extfilt = nlmsg_find_attr(cb->nlh, sizeof(struct rtgenmsg), in rtnl_bridge_getlink()
2462 static int rtnl_bridge_setlink(struct sk_buff *skb, struct nlmsghdr *nlh) in rtnl_bridge_setlink() argument
2472 if (nlmsg_len(nlh) < sizeof(*ifm)) in rtnl_bridge_setlink()
2475 ifm = nlmsg_data(nlh); in rtnl_bridge_setlink()
2485 br_spec = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg), IFLA_AF_SPEC); in rtnl_bridge_setlink()
2506 err = br_dev->netdev_ops->ndo_bridge_setlink(dev, nlh); in rtnl_bridge_setlink()
2517 err = dev->netdev_ops->ndo_bridge_setlink(dev, nlh); in rtnl_bridge_setlink()
2532 static int rtnl_bridge_dellink(struct sk_buff *skb, struct nlmsghdr *nlh) in rtnl_bridge_dellink() argument
2542 if (nlmsg_len(nlh) < sizeof(*ifm)) in rtnl_bridge_dellink()
2545 ifm = nlmsg_data(nlh); in rtnl_bridge_dellink()
2555 br_spec = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg), IFLA_AF_SPEC); in rtnl_bridge_dellink()
2576 err = br_dev->netdev_ops->ndo_bridge_dellink(dev, nlh); in rtnl_bridge_dellink()
2587 err = dev->netdev_ops->ndo_bridge_dellink(dev, nlh); in rtnl_bridge_dellink()
2604 static int rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh) in rtnetlink_rcv_msg() argument
2613 type = nlh->nlmsg_type; in rtnetlink_rcv_msg()
2620 if (nlmsg_len(nlh) < sizeof(struct rtgenmsg)) in rtnetlink_rcv_msg()
2623 family = ((struct rtgenmsg *)nlmsg_data(nlh))->rtgen_family; in rtnetlink_rcv_msg()
2630 if (kind == 2 && nlh->nlmsg_flags&NLM_F_DUMP) { in rtnetlink_rcv_msg()
2641 min_dump_alloc = calcit(skb, nlh); in rtnetlink_rcv_msg()
2650 err = netlink_dump_start(rtnl, skb, nlh, &c); in rtnetlink_rcv_msg()
2660 return doit(skb, nlh); in rtnetlink_rcv_msg()