Re: [PATCH libnetfilter_queue 1/1] src: move static nfq_hdr_put from examples/nf-queue.c into the library since everyone is going to want it.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 04, 2020 at 01:00:03PM +1100, Duncan Roe wrote:
> Signed-off-by: Duncan Roe <duncan_roe@xxxxxxxxxxxxxxx>
> ---
>  examples/nf-queue.c                             | 15 -------------
>  include/libnetfilter_queue/libnetfilter_queue.h |  1 +
>  src/nlmsg.c                                     | 28 ++++++++++++++++++++++---
>  3 files changed, 26 insertions(+), 18 deletions(-)
> 
> diff --git a/examples/nf-queue.c b/examples/nf-queue.c
> index 960e244..112c3bf 100644
> --- a/examples/nf-queue.c
> +++ b/examples/nf-queue.c
> @@ -20,21 +20,6 @@
>  
>  static struct mnl_socket *nl;
>  
> -static struct nlmsghdr *
> -nfq_hdr_put(char *buf, int type, uint32_t queue_num)
> -{
> -	struct nlmsghdr *nlh = mnl_nlmsg_put_header(buf);
> -	nlh->nlmsg_type	= (NFNL_SUBSYS_QUEUE << 8) | type;
> -	nlh->nlmsg_flags = NLM_F_REQUEST;
> -
> -	struct nfgenmsg *nfg = mnl_nlmsg_put_extra_header(nlh, sizeof(*nfg));
> -	nfg->nfgen_family = AF_UNSPEC;
> -	nfg->version = NFNETLINK_V0;
> -	nfg->res_id = htons(queue_num);
> -
> -	return nlh;
> -}
> -
>  static void
>  nfq_send_verdict(int queue_num, uint32_t id)
>  {
> diff --git a/include/libnetfilter_queue/libnetfilter_queue.h b/include/libnetfilter_queue/libnetfilter_queue.h
> index 092c57d..3372099 100644
> --- a/include/libnetfilter_queue/libnetfilter_queue.h
> +++ b/include/libnetfilter_queue/libnetfilter_queue.h
> @@ -149,6 +149,7 @@ void nfq_nlmsg_verdict_put_mark(struct nlmsghdr *nlh, uint32_t mark);
>  void nfq_nlmsg_verdict_put_pkt(struct nlmsghdr *nlh, const void *pkt, uint32_t pktlen);
>  
>  int nfq_nlmsg_parse(const struct nlmsghdr *nlh, struct nlattr **attr);
> +struct nlmsghdr *nfq_hdr_put(char *buf, int type, uint32_t queue_num);
>  
>  #ifdef __cplusplus
>  } /* extern "C" */
> diff --git a/src/nlmsg.c b/src/nlmsg.c
> index 4f09bf6..f4123f3 100644
> --- a/src/nlmsg.c
> +++ b/src/nlmsg.c
> @@ -261,9 +261,9 @@ static int nfq_pkt_parse_attr_cb(const struct nlattr *attr, void *data)
>  
>  /**
>   * nfq_nlmsg_parse - set packet attributes from netlink message
> - * \param nlh netlink message that you want to read.
> - * \param attr pointer to array of attributes to set.
> - * \returns MNL_CB_OK on success or MNL_CB_ERROR if any error occurs.
> + * \param nlh Pointer to netlink message
> + * \param attr Pointer to array of attributes to set
> + * \returns MNL_CB_OK on success or MNL_CB_ERROR if any error occurs
>   */
>  EXPORT_SYMBOL
>  int nfq_nlmsg_parse(const struct nlmsghdr *nlh, struct nlattr **attr)
> @@ -272,6 +272,28 @@ int nfq_nlmsg_parse(const struct nlmsghdr *nlh, struct nlattr **attr)
>  			      nfq_pkt_parse_attr_cb, attr);
>  }
>  
> +/**
> + * nfq_hdr_put - Convert memory buffer into a Netlink buffer

Looks good. Just one small change: I'd suggest you rename this to
nfq_nlmsg_put.

Thanks.



[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux