From: Jiri Pirko <j...@resnulli.us>
Date: Wed, 12 Apr 2017 17:13:03 +0200

> Wed, Apr 12, 2017 at 05:06:48PM CEST, d...@cumulusnetworks.com wrote:
>>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.
> 
> I believe that we need strings right away. Without them, this patchset
> really does not make much sense.

Agreed.

Reply via email to