net: sctp: introduce uapi header for sctp
This patch introduces an UAPI header for the SCTP protocol, so that we can facilitate the maintenance and development of user land applications or libraries, in particular in terms of header synchronization. To not break compatibility, some fragments from lksctp-tools' netinet/sctp.h have been carefully included, while taking care that neither kernel nor user land breaks, so both compile fine with this change (for lksctp-tools I tested with the old netinet/sctp.h header and with a newly adapted one that includes the uapi sctp header). lksctp-tools smoke test run through successfully as well in both cases. Suggested-by: Neil Horman <nhorman@tuxdriver.com> Cc: Neil Horman <nhorman@tuxdriver.com> Cc: Vlad Yasevich <vyasevich@gmail.com> Signed-off-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
3d4a131628
commit
1b86643411
@@ -53,7 +53,9 @@
|
||||
|
||||
#include <linux/in.h> /* We need in_addr. */
|
||||
#include <linux/in6.h> /* We need in6_addr. */
|
||||
#include <linux/skbuff.h>
|
||||
|
||||
#include <uapi/linux/sctp.h>
|
||||
|
||||
/* Section 3.1. SCTP Common Header Format */
|
||||
typedef struct sctphdr {
|
||||
@@ -63,14 +65,10 @@ typedef struct sctphdr {
|
||||
__le32 checksum;
|
||||
} __packed sctp_sctphdr_t;
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#include <linux/skbuff.h>
|
||||
|
||||
static inline struct sctphdr *sctp_hdr(const struct sk_buff *skb)
|
||||
{
|
||||
return (struct sctphdr *)skb_transport_header(skb);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Section 3.2. Chunk Field Descriptions. */
|
||||
typedef struct sctp_chunkhdr {
|
||||
|
Reference in New Issue
Block a user