Search Linux Wireless

Re: [PATCH net-next v5 1/5] netlink: extended ACK reporting

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

 



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.




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux