allow specifying cmd-cnt-name and cmd-max-name in netlink specs, in
accordance with Documentation/userspace-api/netlink/c-code-gen.rst.
Use cmd-cnt-name and attr-cnt-name in the mptcp yaml spec and in the
corresponding uAPI headers, to preserve the #defines we had in the past
and avoid adding new ones.
v2:
- squash modification in mptcp.yaml and MPTCP uAPI headers
Suggested-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Davide Caratti <dcaratti@redhat.com>
Link: https://lore.kernel.org/r/12d4ed0116d8883cf4b533b856f3125a34e56749.1698415310.git.dcaratti@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
max-by-define:
description: Makes the number of attributes and commands be specified by a define, not an enum value.
type: boolean
+ cmd-max-name:
+ description: Name of the define for the last operation in the list.
+ type: string
+ cmd-cnt-name:
+ description: The explicit name for constant holding the count of operations (last operation + 1).
+ type: string
# End genetlink-c
definitions:
max-by-define:
description: Makes the number of attributes and commands be specified by a define, not an enum value.
type: boolean
+ cmd-max-name:
+ description: Name of the define for the last operation in the list.
+ type: string
+ cmd-cnt-name:
+ description: The explicit name for constant holding the count of operations (last operation + 1).
+ type: string
# End genetlink-c
# Start genetlink-legacy
kernel-policy:
max-by-define:
description: Makes the number of attributes and commands be specified by a define, not an enum value.
type: boolean
+ cmd-max-name:
+ description: Name of the define for the last operation in the list.
+ type: string
+ cmd-cnt-name:
+ description: The explicit name for constant holding the count of operations (last operation + 1).
+ type: string
# End genetlink-c
# Start genetlink-legacy
kernel-policy:
c-version-name: mptcp-pm-ver
max-by-define: true
kernel-policy: per-op
+cmd-cnt-name: --mptcp-pm-cmd-after-last
definitions:
-
-
name: attr
name-prefix: mptcp-pm-attr-
+ attr-cnt-name: --mptcp-attr-after-last
attributes:
-
name: unspec
#include <linux/mptcp_pm.h>
-/* for backward compatibility */
-#define __MPTCP_PM_CMD_AFTER_LAST __MPTCP_PM_CMD_MAX
-#define __MPTCP_ATTR_AFTER_LAST __MPTCP_ATTR_MAX
-
#define MPTCP_INFO_FLAG_FALLBACK _BITUL(0)
#define MPTCP_INFO_FLAG_REMOTE_KEY_RECEIVED _BITUL(1)
MPTCP_PM_ATTR_LOC_ID,
MPTCP_PM_ATTR_ADDR_REMOTE,
- __MPTCP_PM_ATTR_MAX
+ __MPTCP_ATTR_AFTER_LAST
};
-#define MPTCP_PM_ATTR_MAX (__MPTCP_PM_ATTR_MAX - 1)
+#define MPTCP_PM_ATTR_MAX (__MPTCP_ATTR_AFTER_LAST - 1)
enum mptcp_event_attr {
MPTCP_ATTR_UNSPEC,
MPTCP_PM_CMD_SUBFLOW_CREATE,
MPTCP_PM_CMD_SUBFLOW_DESTROY,
- __MPTCP_PM_CMD_MAX
+ __MPTCP_PM_CMD_AFTER_LAST
};
-#define MPTCP_PM_CMD_MAX (__MPTCP_PM_CMD_MAX - 1)
+#define MPTCP_PM_CMD_MAX (__MPTCP_PM_CMD_AFTER_LAST - 1)
#endif /* _UAPI_LINUX_MPTCP_PM_H */