Re: [PATCH net-next 2/3] ipmr: add netlink notifications on igmpmsg cache reports

From: Nicolas Dichtel
Date: Wed Jun 14 2017 - 03:56:27 EST


Le 13/06/2017 Ã 19:08, Julien Gomes a Ãcrit :
> Add Netlink notifications on cache reports in ipmr, in addition to the
> existing igmpmsg sent to mroute_sk.
> Send RTM_NEWCACHEREPORT notifications to RTNLGRP_IPV4_MROUTE.
>
> MSGTYPE, VIF_ID, SRC_ADDR and DST_ADDR Netlink attributes contain the
> same data as their equivalent fields in the igmpmsg header.
> PKT attribute is the packet sent to mroute_sk, without the added igmpmsg
> header.
>
> Suggested-by: Ryan Halbrook <halbrook@xxxxxxxxxx>
> Signed-off-by: Julien Gomes <julien@xxxxxxxxxx>
> ---
> include/uapi/linux/mroute.h | 11 ++++++++
> net/ipv4/ipmr.c | 63 +++++++++++++++++++++++++++++++++++++++++++--
> 2 files changed, 72 insertions(+), 2 deletions(-)
>
> diff --git a/include/uapi/linux/mroute.h b/include/uapi/linux/mroute.h
> index f904367c0cee..f6f9e01ee734 100644
> --- a/include/uapi/linux/mroute.h
> +++ b/include/uapi/linux/mroute.h
> @@ -152,6 +152,17 @@ enum {
> };
> #define IPMRA_VIFA_MAX (__IPMRA_VIFA_MAX - 1)
>
> +/* ipmr netlink cache report attributes */
> +enum {
IPMRA_CACHEREPORTA_UNSPEC is missing.
By the way, maybe something shorter than IPMRA_CACHEREPORTA_ would be better.
What about IPMR_CREPORTA_? IPMR_CACHEA_? IPMR_IGMPA_? or whatever.
What is the signification of the two 'A'? One for 'attribute', but the other?

> + IPMRA_CACHEREPORTA_MSGTYPE,
> + IPMRA_CACHEREPORTA_VIF_ID,
> + IPMRA_CACHEREPORTA_SRC_ADDR,
> + IPMRA_CACHEREPORTA_DST_ADDR,
> + IPMRA_CACHEREPORTA_PKT,
> + __IPMRA_CACHEREPORTA_MAX
> +};
> +#define IPMRA_CACHEREPORTA_MAX (__IPMRA_CACHEREPORTA_MAX - 1)