Lines Matching refs:nlh
384 static int ip6addrlbl_newdel(struct sk_buff *skb, struct nlmsghdr *nlh,
394 err = nlmsg_parse_deprecated(nlh, sizeof(*ifal), tb, IFAL_MAX,
399 ifal = nlmsg_data(nlh);
415 switch (nlh->nlmsg_type) {
423 nlh->nlmsg_flags & NLM_F_REPLACE);
435 static void ip6addrlbl_putmsg(struct nlmsghdr *nlh,
438 struct ifaddrlblmsg *ifal = nlmsg_data(nlh);
453 struct nlmsghdr *nlh = nlmsg_put(skb, portid, seq, event,
455 if (!nlh)
458 ip6addrlbl_putmsg(nlh, p->prefixlen, p->ifindex, lseq);
462 nlmsg_cancel(skb, nlh);
466 nlmsg_end(skb, nlh);
470 static int ip6addrlbl_valid_dump_req(const struct nlmsghdr *nlh,
475 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*ifal))) {
480 ifal = nlmsg_data(nlh);
487 if (nlmsg_attrlen(nlh, sizeof(*ifal))) {
497 const struct nlmsghdr *nlh = cb->nlh;
504 err = ip6addrlbl_valid_dump_req(nlh, cb->extack);
515 nlh->nlmsg_seq,
536 const struct nlmsghdr *nlh,
543 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*ifal))) {
549 return nlmsg_parse_deprecated(nlh, sizeof(*ifal), tb,
552 ifal = nlmsg_data(nlh);
558 err = nlmsg_parse_deprecated_strict(nlh, sizeof(*ifal), tb, IFAL_MAX,
579 static int ip6addrlbl_get(struct sk_buff *in_skb, struct nlmsghdr *nlh,
591 err = ip6addrlbl_valid_get_req(in_skb, nlh, tb, extack);
595 ifal = nlmsg_data(nlh);
621 nlh->nlmsg_seq,