Lines Matching refs:nlh
131 void *ibnl_put_msg(struct sk_buff *skb, struct nlmsghdr **nlh, int seq, in ibnl_put_msg() argument
134 *nlh = nlmsg_put(skb, 0, seq, RDMA_NL_GET_TYPE(client, op), len, flags); in ibnl_put_msg()
135 if (!*nlh) in ibnl_put_msg()
137 return nlmsg_data(*nlh); in ibnl_put_msg()
141 int ibnl_put_attr(struct sk_buff *skb, struct nlmsghdr *nlh, in ibnl_put_attr() argument
145 nlmsg_cancel(skb, nlh); in ibnl_put_attr()
152 static int rdma_nl_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh, in rdma_nl_rcv_msg() argument
155 int type = nlh->nlmsg_type; in rdma_nl_rcv_msg()
181 err = cb_table[op].doit(skb, nlh, extack); in rdma_nl_rcv_msg()
185 if ((nlh->nlmsg_flags & NLM_F_DUMP) || index == RDMA_NL_IWCM) { in rdma_nl_rcv_msg()
190 err = netlink_dump_start(skb->sk, skb, nlh, &c); in rdma_nl_rcv_msg()
195 err = cb_table[op].doit(skb, nlh, extack); in rdma_nl_rcv_msg()
212 struct nlmsghdr *nlh; in rdma_nl_rcv_skb() local
218 nlh = nlmsg_hdr(skb); in rdma_nl_rcv_skb()
221 if (nlh->nlmsg_len < NLMSG_HDRLEN || skb->len < nlh->nlmsg_len) in rdma_nl_rcv_skb()
231 if (!(nlh->nlmsg_flags & NLM_F_REQUEST) && in rdma_nl_rcv_skb()
232 (RDMA_NL_GET_CLIENT(nlh->nlmsg_type) != RDMA_NL_LS)) in rdma_nl_rcv_skb()
236 if (nlh->nlmsg_type < NLMSG_MIN_TYPE) in rdma_nl_rcv_skb()
239 err = cb(skb, nlh, &extack); in rdma_nl_rcv_skb()
244 if (nlh->nlmsg_flags & NLM_F_ACK || err) in rdma_nl_rcv_skb()
245 netlink_ack(skb, nlh, err, &extack); in rdma_nl_rcv_skb()
248 msglen = NLMSG_ALIGN(nlh->nlmsg_len); in rdma_nl_rcv_skb()