include/netpacket/netlink.h: General clean-up and re-organization.
This commit is contained in:
parent
9d6c607afc
commit
73b86ee458
@ -87,7 +87,91 @@
|
||||
#define NETLINK_CRYPTO 19 /* Crypto layer */
|
||||
#define NETLINK_SMC 20 /* SMC monitoring */
|
||||
|
||||
/* Definitions associated with struct sockaddr_nl ***************************/
|
||||
|
||||
/* Flags values */
|
||||
|
||||
#define NLM_F_REQUEST 0x0001 /* It is request message. */
|
||||
#define NLM_F_MULTI 0x0002 /* Multipart message, terminated by NLMSG_DONE */
|
||||
#define NLM_F_ACK 0x0004 /* Reply with ack, with zero or error code */
|
||||
#define NLM_F_ECHO 0x0008 /* Echo this request */
|
||||
#define NLM_F_DUMP_INTR 0x0010 /* Dump was inconsistent due to sequence change */
|
||||
#define NLM_F_DUMP_FILTERED 0x0020 /* Dump was filtered as requested */
|
||||
|
||||
/* Modifiers to GET request */
|
||||
|
||||
#define NLM_F_ROOT 0x0100 /* specify tree root */
|
||||
#define NLM_F_MATCH 0x0200 /* return all matching */
|
||||
#define NLM_F_ATOMIC 0x0400 /* atomic GET */
|
||||
#define NLM_F_DUMP (NLM_F_ROOT | NLM_F_MATCH)
|
||||
|
||||
/* Modifiers to NEW request */
|
||||
|
||||
#define NLM_F_REPLACE 0x0100 /* Override existing */
|
||||
#define NLM_F_EXCL 0x0200 /* Do not touch, if it exists */
|
||||
#define NLM_F_CREATE 0x0400 /* Create, if it does not exist */
|
||||
#define NLM_F_APPEND 0x0800 /* Add to end of list */
|
||||
|
||||
/* Modifiers to DELETE request */
|
||||
|
||||
#define NLM_F_NONREC 0x0100 /* Do not delete recursively */
|
||||
|
||||
/* Flags for ACK message */
|
||||
|
||||
#define NLM_F_CAPPED 0x0100 /* request was capped */
|
||||
#define NLM_F_ACK_TLVS 0x0200 /* extended ACK TVLs were included */
|
||||
|
||||
/* Definitions for struct nlmsghdr ******************************************/
|
||||
|
||||
#define NLMSG_MASK (sizeof(uint32_t) - 1)
|
||||
#define NLMSG_ALIGN(n) (((n) + NLMSG_MASK) & ~NLMSG_MASK)
|
||||
#define NLMSG_HDRLEN sizeof(struct nlmsghdr)
|
||||
#define NLMSG_LENGTH(n) (NLMSG_HDRLEN + (n))
|
||||
#define NLMSG_SPACE(len) NLMSG_ALIGN(NLMSG_LENGTH(len))
|
||||
#define NLMSG_DATA(hdr) ((FAR void*)(((FAR char*)hdr) + NLMSG_HDRLEN))
|
||||
#define NLMSG_NEXT(hdr,n) \
|
||||
((n) -= NLMSG_ALIGN((hdr)->nlmsg_len), \
|
||||
(FAR struct nlmsghdr*) \
|
||||
(((FAR cha r*)(hdr)) + NLMSG_ALIGN((hdr)->nlmsg_len)))
|
||||
#define NLMSG_PAYLOAD(hdr, len) \
|
||||
((hdr)->nlmsg_len - NLMSG_SPACE((len)))
|
||||
|
||||
#define NLMSG_NOOP 1 /* Nothing */
|
||||
#define NLMSG_ERROR 2 /* Error */
|
||||
#define NLMSG_DONE 3 /* End of a dump */
|
||||
#define NLMSG_OVERRUN 4 /* Data lost */
|
||||
#define NLMSG_MIN_TYPE 16 /* < 16: Reserved control messages */
|
||||
|
||||
/* Attribute definitions for struct rtattr **********************************/
|
||||
|
||||
/* Macros to handle attribute lists */
|
||||
|
||||
#define RTA_MASK (sizeof(uint32_t) - 1)
|
||||
#define RTA_ALIGN(n) (((n) + RTA_MASK) & ~RTA_MASK)
|
||||
#define RTA_OK(rta,n) \
|
||||
((n) >= (int)sizeof(struct rtattr) && \
|
||||
(rta)->rta_len >= sizeof(struct rtattr) && \
|
||||
(rta)->rta_len <= (n))
|
||||
#define RTA_NEXT(rta, attrlen) \
|
||||
((attrlen) -= RTA_ALIGN((rta)->rta_len), \
|
||||
(FAR struct rtattr*)(((FAR char*)(rta)) + RTA_ALIGN((rta)->rta_len)))
|
||||
#define RTA_LENGTH(n) (RTA_ALIGN(sizeof(struct rtattr)) + (n))
|
||||
#define RTA_SPACE(n) RTA_ALIGN(RTA_LENGTH(n))
|
||||
#define RTA_DATA(rta) ((FAR void *)(((FAR char *)(rta)) + RTA_LENGTH(0)))
|
||||
#define RTA_PAYLOAD(rta) ((int)((rta)->rta_len) - RTA_LENGTH(0))
|
||||
|
||||
/* NETLINK_ROUTE: Routing table attributes */
|
||||
|
||||
#define RTA_UNSPEC 0 /* Inored */
|
||||
#define RTA_DST 1 /* Argument: Route destination address */
|
||||
#define RTA_SRC 2 /* Argument: Route source address */
|
||||
#define RTA_IIF 3 /* Argument: Input interface index */
|
||||
#define RTA_OIF 4 /* Argument: Output interface index */
|
||||
#define RTA_GENMASK 5 /* Argument: Network address mask of sub-net */
|
||||
#define RTA_GATEWAY 6 /* Argument: Gateway address of the route */
|
||||
|
||||
/* NETLINK_ROUTE protocol message types *************************************/
|
||||
|
||||
/* Link layer:
|
||||
*
|
||||
* RTM_NEWLINK, RTM_DELLINK, RTM_GETLINK
|
||||
@ -196,78 +280,6 @@
|
||||
#define RTM_GETNEIGHTBL 33
|
||||
#define RTM_SETNEIGHTBL 34
|
||||
|
||||
/* Definitions associated with struct sockaddr_nl ***************************/
|
||||
/* Flags values */
|
||||
|
||||
#define NLM_F_REQUEST 0x0001 /* It is request message. */
|
||||
#define NLM_F_MULTI 0x0002 /* Multipart message, terminated by NLMSG_DONE */
|
||||
#define NLM_F_ACK 0x0004 /* Reply with ack, with zero or error code */
|
||||
#define NLM_F_ECHO 0x0008 /* Echo this request */
|
||||
#define NLM_F_DUMP_INTR 0x0010 /* Dump was inconsistent due to sequence change */
|
||||
#define NLM_F_DUMP_FILTERED 0x0020 /* Dump was filtered as requested */
|
||||
|
||||
/* Modifiers to GET request */
|
||||
|
||||
#define NLM_F_ROOT 0x0100 /* specify tree root */
|
||||
#define NLM_F_MATCH 0x0200 /* return all matching */
|
||||
#define NLM_F_ATOMIC 0x0400 /* atomic GET */
|
||||
#define NLM_F_DUMP (NLM_F_ROOT|NLM_F_MATCH)
|
||||
|
||||
/* Modifiers to NEW request */
|
||||
|
||||
#define NLM_F_REPLACE 0x0100 /* Override existing */
|
||||
#define NLM_F_EXCL 0x0200 /* Do not touch, if it exists */
|
||||
#define NLM_F_CREATE 0x0400 /* Create, if it does not exist */
|
||||
#define NLM_F_APPEND 0x0800 /* Add to end of list */
|
||||
|
||||
/* Modifiers to DELETE request */
|
||||
|
||||
#define NLM_F_NONREC 0x0100 /* Do not delete recursively */
|
||||
|
||||
/* Flags for ACK message */
|
||||
|
||||
#define NLM_F_CAPPED 0x0100 /* request was capped */
|
||||
#define NLM_F_ACK_TLVS 0x0200 /* extended ACK TVLs were included */
|
||||
|
||||
/* Definitions for struct nlmsghdr ******************************************/
|
||||
|
||||
#define NLMSG_MASK (sizeof(uint32_t) - 1)
|
||||
#define NLMSG_ALIGN(n) (((n) + NLMSG_MASK) & ~NLMSG_MASK)
|
||||
#define NLMSG_HDRLEN sizeof(struct nlmsghdr)
|
||||
#define NLMSG_LENGTH(n) (NLMSG_HDRLEN + (n))
|
||||
#define NLMSG_SPACE(len) NLMSG_ALIGN(NLMSG_LENGTH(len))
|
||||
#define NLMSG_DATA(hdr) ((FAR void*)(((FAR char*)hdr) + NLMSG_HDRLEN))
|
||||
#define NLMSG_NEXT(hdr,n) \
|
||||
((n) -= NLMSG_ALIGN((hdr)->nlmsg_len), \
|
||||
(FAR struct nlmsghdr*) \
|
||||
(((FAR cha r*)(hdr)) + NLMSG_ALIGN((hdr)->nlmsg_len)))
|
||||
#define NLMSG_PAYLOAD(hdr, len) \
|
||||
((hdr)->nlmsg_len - NLMSG_SPACE((len)))
|
||||
|
||||
#define NLMSG_NOOP 1 /* Nothing */
|
||||
#define NLMSG_ERROR 2 /* Error */
|
||||
#define NLMSG_DONE 3 /* End of a dump */
|
||||
#define NLMSG_OVERRUN 4 /* Data lost */
|
||||
#define NLMSG_MIN_TYPE 16 /* < 16: Reserved control messages */
|
||||
|
||||
/* Definitions for struct rtattr ********************************************/
|
||||
|
||||
/* Macros to handle rtattributes */
|
||||
|
||||
#define RTA_MASK (sizeof(uint32_t) - 1)
|
||||
#define RTA_ALIGN(n) (((n) + RTA_MASK) & ~RTA_MASK)
|
||||
#define RTA_OK(rta,n) \
|
||||
((n) >= (int)sizeof(struct rtattr) && \
|
||||
(rta)->rta_len >= sizeof(struct rtattr) && \
|
||||
(rta)->rta_len <= (n))
|
||||
#define RTA_NEXT(rta, attrlen) \
|
||||
((attrlen) -= RTA_ALIGN((rta)->rta_len), \
|
||||
(FAR struct rtattr*)(((FAR char*)(rta)) + RTA_ALIGN((rta)->rta_len)))
|
||||
#define RTA_LENGTH(n) (RTA_ALIGN(sizeof(struct rtattr)) + (n))
|
||||
#define RTA_SPACE(n) RTA_ALIGN(RTA_LENGTH(n))
|
||||
#define RTA_DATA(rta) ((FAR void *)(((FAR char *)(rta)) + RTA_LENGTH(0)))
|
||||
#define RTA_PAYLOAD(rta) ((int)((rta)->rta_len) - RTA_LENGTH(0))
|
||||
|
||||
/* Definitions for struct ifaddrmsg ****************************************/
|
||||
|
||||
/* ifa_flags definitions: ifa_flags is a flag word of IFA_F_SECONDARY for
|
||||
@ -275,15 +287,15 @@
|
||||
* address set by the user and other undocumented flags.
|
||||
*/
|
||||
|
||||
#define IFA_F_SECONDARY 0x01
|
||||
#define IFA_F_PERMANENT 0x02
|
||||
#define IFA_F_SECONDARY 0x01
|
||||
#define IFA_F_PERMANENT 0x02
|
||||
|
||||
/* Definitions for struct ifinfomsg *****************************************/
|
||||
|
||||
#define IFLA_RTA(r) ((FAR struct rtattr *) \
|
||||
(((FAR char *)(r)) + \
|
||||
NLMSG_ALIGN(sizeof(struct ifinfomsg))))
|
||||
#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct ifinfomsg))
|
||||
#define IFLA_RTA(r) ((FAR struct rtattr *) \
|
||||
(((FAR char *)(r)) + \
|
||||
NLMSG_ALIGN(sizeof(struct ifinfomsg))))
|
||||
#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct ifinfomsg))
|
||||
|
||||
/* Values for rta_type */
|
||||
|
||||
@ -291,55 +303,47 @@
|
||||
|
||||
/* Definitions for struct rtmsg *********************************************/
|
||||
|
||||
#define RTM_RTA(r) ((FAR struct rtattr *)\
|
||||
(((FAR char *)(r)) + \
|
||||
NLMSG_ALIGN(sizeof(struct rtmsg))))
|
||||
#define RTM_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct rtmsg))
|
||||
#define RTM_RTA(r) ((FAR struct rtattr *)\
|
||||
(((FAR char *)(r)) + \
|
||||
NLMSG_ALIGN(sizeof(struct rtmsg))))
|
||||
#define RTM_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct rtmsg))
|
||||
|
||||
/* rtm_table. Routing table identifiers */
|
||||
|
||||
#define RT_TABLE_UNSPEC 0
|
||||
/* 1-251: User defined values */
|
||||
#define RT_TABLE_MAIN 254
|
||||
#define RT_TABLE_MAX 0xffffffff
|
||||
#define RT_TABLE_UNSPEC 0
|
||||
/* 1-251: User defined values */
|
||||
#define RT_TABLE_MAIN 254
|
||||
#define RT_TABLE_MAX 0xffffffff
|
||||
|
||||
/* rtm_type */
|
||||
|
||||
#define RTN_UNSPEC 0
|
||||
#define RTN_UNICAST 1 /* Gateway or direct route */
|
||||
#define RTN_LOCAL 2 /* Accept locally */
|
||||
#define RTN_BROADCAST 3 /* Accept locally as broadcast;
|
||||
* send as broadcast */
|
||||
#define RTN_ANYCAST 4 /* Accept locally as broadcast
|
||||
* but send as unicast */
|
||||
#define RTN_MULTICAST 5 /* Multicast route */
|
||||
#define RTN_UNSPEC 0
|
||||
#define RTN_UNICAST 1 /* Gateway or direct route */
|
||||
#define RTN_LOCAL 2 /* Accept locally */
|
||||
#define RTN_BROADCAST 3 /* Accept locally as broadcast;
|
||||
* send as broadcast */
|
||||
#define RTN_ANYCAST 4 /* Accept locally as broadcast
|
||||
* but send as unicast */
|
||||
#define RTN_MULTICAST 5 /* Multicast route */
|
||||
|
||||
/* rtm_protocol */
|
||||
|
||||
#define RTPROT_UNSPEC 0
|
||||
#define RTPROT_REDIRECT 1 /* Route installed by ICMP redirects */
|
||||
#define RTPROT_KERNEL 2 /* Route installed by kernel */
|
||||
#define RTPROT_BOOT 3 /* Route installed during boot */
|
||||
#define RTPROT_STATIC 4 /* Route installed by administrator */
|
||||
#define RTPROT_RA 5 /* RDISC/ND router advertisements */
|
||||
#define RTPROT_DHCP 6 /* DHCP client */
|
||||
#define RTPROT_UNSPEC 0
|
||||
#define RTPROT_REDIRECT 1 /* Route installed by ICMP redirects */
|
||||
#define RTPROT_KERNEL 2 /* Route installed by kernel */
|
||||
#define RTPROT_BOOT 3 /* Route installed during boot */
|
||||
#define RTPROT_STATIC 4 /* Route installed by administrator */
|
||||
#define RTPROT_RA 5 /* RDISC/ND router advertisements */
|
||||
#define RTPROT_DHCP 6 /* DHCP client */
|
||||
|
||||
/* rtm_scope */
|
||||
|
||||
#define RT_SCOPE_UNIVERSE 0
|
||||
/* 1-199: User defined values */
|
||||
#define RT_SCOPE_SITE 200
|
||||
#define RT_SCOPE_LINK 253
|
||||
#define RT_SCOPE_HOST 254
|
||||
#define RT_SCOPE_NOWHERE 255
|
||||
|
||||
/* Routing table attributes */
|
||||
|
||||
#define RTA_UNSPEC 0
|
||||
#define RTA_DST 1
|
||||
#define RTA_SRC 2
|
||||
#define RTA_GENMASK 3
|
||||
#define RTA_GATEWAY 5
|
||||
#define RT_SCOPE_UNIVERSE 0 /* Global route */
|
||||
/* 1-199: User defined values */
|
||||
#define RT_SCOPE_SITE 200 /* Interior route in local system */
|
||||
#define RT_SCOPE_LINK 253 /* Route on this link */
|
||||
#define RT_SCOPE_HOST 254 /* Route on local host */
|
||||
#define RT_SCOPE_NOWHERE 255 /* Destination does not exist */
|
||||
|
||||
/****************************************************************************
|
||||
* Public Type Definitions
|
||||
|
Loading…
x
Reference in New Issue
Block a user