1*4882a593SmuzhiyunFrom 30ff5d1f742e2ed1be3fd9c42dcc902b6f3a19cc Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Jeffy Chen <jeffy.chen@rock-chips.com> 3*4882a593SmuzhiyunDate: Wed, 27 May 2020 15:24:19 +0800 4*4882a593SmuzhiyunSubject: [PATCH 4/5] uapi: netlink.h: Add more definations from upstream 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunNo functional changes. 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunChange-Id: I7fb817dda7f9755e6d068594cbc71e2202a5ade5 9*4882a593SmuzhiyunSigned-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> 10*4882a593Smuzhiyun--- 11*4882a593Smuzhiyun include/uapi/linux/netlink.h | 27 +++++++++++++++++++++++++++ 12*4882a593Smuzhiyun 1 file changed, 27 insertions(+) 13*4882a593Smuzhiyun 14*4882a593Smuzhiyundiff --git a/include/uapi/linux/netlink.h b/include/uapi/linux/netlink.h 15*4882a593Smuzhiyunindex 0dba4e4ed2be..c4999c6552f1 100644 16*4882a593Smuzhiyun--- a/include/uapi/linux/netlink.h 17*4882a593Smuzhiyun+++ b/include/uapi/linux/netlink.h 18*4882a593Smuzhiyun@@ -68,6 +68,10 @@ struct nlmsghdr { 19*4882a593Smuzhiyun #define NLM_F_CREATE 0x400 /* Create, if it does not exist */ 20*4882a593Smuzhiyun #define NLM_F_APPEND 0x800 /* Add to end of list */ 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun+/* Flags for ACK message */ 23*4882a593Smuzhiyun+#define NLM_F_CAPPED 0x100 /* request was capped */ 24*4882a593Smuzhiyun+#define NLM_F_ACK_TLVS 0x200 /* extended ACK TVLs were included */ 25*4882a593Smuzhiyun+ 26*4882a593Smuzhiyun /* 27*4882a593Smuzhiyun 4.4BSD ADD NLM_F_CREATE|NLM_F_EXCL 28*4882a593Smuzhiyun 4.4BSD CHANGE NLM_F_REPLACE 29*4882a593Smuzhiyun@@ -102,6 +106,28 @@ struct nlmsgerr { 30*4882a593Smuzhiyun struct nlmsghdr msg; 31*4882a593Smuzhiyun }; 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun+/** 34*4882a593Smuzhiyun+ * enum nlmsgerr_attrs - nlmsgerr attributes 35*4882a593Smuzhiyun+ * @NLMSGERR_ATTR_UNUSED: unused 36*4882a593Smuzhiyun+ * @NLMSGERR_ATTR_MSG: error message string (string) 37*4882a593Smuzhiyun+ * @NLMSGERR_ATTR_OFFS: offset of the invalid attribute in the original 38*4882a593Smuzhiyun+ * message, counting from the beginning of the header (u32) 39*4882a593Smuzhiyun+ * @NLMSGERR_ATTR_COOKIE: arbitrary subsystem specific cookie to 40*4882a593Smuzhiyun+ * be used - in the success case - to identify a created 41*4882a593Smuzhiyun+ * object or operation or similar (binary) 42*4882a593Smuzhiyun+ * @__NLMSGERR_ATTR_MAX: number of attributes 43*4882a593Smuzhiyun+ * @NLMSGERR_ATTR_MAX: highest attribute number 44*4882a593Smuzhiyun+ */ 45*4882a593Smuzhiyun+enum nlmsgerr_attrs { 46*4882a593Smuzhiyun+ NLMSGERR_ATTR_UNUSED, 47*4882a593Smuzhiyun+ NLMSGERR_ATTR_MSG, 48*4882a593Smuzhiyun+ NLMSGERR_ATTR_OFFS, 49*4882a593Smuzhiyun+ NLMSGERR_ATTR_COOKIE, 50*4882a593Smuzhiyun+ 51*4882a593Smuzhiyun+ __NLMSGERR_ATTR_MAX, 52*4882a593Smuzhiyun+ NLMSGERR_ATTR_MAX = __NLMSGERR_ATTR_MAX - 1 53*4882a593Smuzhiyun+}; 54*4882a593Smuzhiyun+ 55*4882a593Smuzhiyun #define NETLINK_ADD_MEMBERSHIP 1 56*4882a593Smuzhiyun #define NETLINK_DROP_MEMBERSHIP 2 57*4882a593Smuzhiyun #define NETLINK_PKTINFO 3 58*4882a593Smuzhiyun@@ -114,6 +140,7 @@ struct nlmsgerr { 59*4882a593Smuzhiyun #define NETLINK_LISTEN_ALL_NSID 8 60*4882a593Smuzhiyun #define NETLINK_LIST_MEMBERSHIPS 9 61*4882a593Smuzhiyun #define NETLINK_CAP_ACK 10 62*4882a593Smuzhiyun+#define NETLINK_EXT_ACK 11 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun struct nl_pktinfo { 65*4882a593Smuzhiyun __u32 group; 66*4882a593Smuzhiyun-- 67*4882a593Smuzhiyun2.20.1 68*4882a593Smuzhiyun 69