On 4/12/17 6:34 AM, Johannes Berg wrote:
> diff --git a/include/uapi/linux/netlink.h b/include/uapi/linux/netlink.h
> index b2c9c26ea30f..7df88770e029 100644
> --- a/include/uapi/linux/netlink.h
> +++ b/include/uapi/linux/netlink.h
> @@ -69,6 +69,10 @@ struct nlmsghdr {
>  #define NLM_F_CREATE 0x400   /* Create, if it does not exist */
>  #define NLM_F_APPEND 0x800   /* Add to end of list           */
>  
> +/* Flags for ACK message */
> +#define NLM_F_CAPPED 0x100   /* request was capped */
> +#define NLM_F_ACK_TLVS       0x200   /* extended ACK TVLs were included */
> +
>  /*
>     4.4BSD ADD                NLM_F_CREATE|NLM_F_EXCL
>     4.4BSD CHANGE     NLM_F_REPLACE
> @@ -101,6 +105,33 @@ struct nlmsghdr {
>  struct nlmsgerr {
>       int             error;
>       struct nlmsghdr msg;
> +     /*
> +      * followed by the message contents unless NETLINK_CAP_ACK was set
> +      * or the ACK indicates success (error == 0)
> +      * message length is aligned with NLMSG_ALIGN()
> +      */
> +     /*
> +      * followed by TLVs defined in enum nlmsgerr_attrs
> +      * if NETLINK_EXT_ACK was set
> +      */
> +};
> +
> +/**
> + * enum nlmsgerr_attrs - nlmsgerr attributes
> + * @NLMSGERR_ATTR_UNUSED: unused
> + * @NLMSGERR_ATTR_MSG: error message string (string)
> + * @NLMSGERR_ATTR_OFFS: offset of the invalid attribute in the original
> + *    message, counting from the beginning of the header (u32)
> + * @__NLMSGERR_ATTR_MAX: number of attributes
> + * @NLMSGERR_ATTR_MAX: highest attribute number
> + */
> +enum nlmsgerr_attrs {
> +     NLMSGERR_ATTR_UNUSED,
> +     NLMSGERR_ATTR_MSG,

There was a discussion about side effects of adding strings (bloat,
internationalization). Should ATTR_MSG be removed until that is ironed
out? Leaving it in suggests it is ok to start adding strings.

Reply via email to