diff options
Diffstat (limited to 'include/net')
| -rw-r--r-- | include/net/9p/9p.h | 29 | ||||
| -rw-r--r-- | include/net/cfg80211.h | 5 | ||||
| -rw-r--r-- | include/net/flow.h | 25 | ||||
| -rw-r--r-- | include/net/request_sock.h | 3 | ||||
| -rw-r--r-- | include/net/sctp/command.h | 1 | ||||
| -rw-r--r-- | include/net/tcp.h | 22 | ||||
| -rw-r--r-- | include/net/transp_v6.h | 1 |
7 files changed, 81 insertions, 5 deletions
diff --git a/include/net/9p/9p.h b/include/net/9p/9p.h index 342dcf13d039..a6326ef8ade6 100644 --- a/include/net/9p/9p.h +++ b/include/net/9p/9p.h | |||
| @@ -288,6 +288,35 @@ enum p9_perm_t { | |||
| 288 | P9_DMSETVTX = 0x00010000, | 288 | P9_DMSETVTX = 0x00010000, |
| 289 | }; | 289 | }; |
| 290 | 290 | ||
| 291 | /* 9p2000.L open flags */ | ||
| 292 | #define P9_DOTL_RDONLY 00000000 | ||
| 293 | #define P9_DOTL_WRONLY 00000001 | ||
| 294 | #define P9_DOTL_RDWR 00000002 | ||
| 295 | #define P9_DOTL_NOACCESS 00000003 | ||
| 296 | #define P9_DOTL_CREATE 00000100 | ||
| 297 | #define P9_DOTL_EXCL 00000200 | ||
| 298 | #define P9_DOTL_NOCTTY 00000400 | ||
| 299 | #define P9_DOTL_TRUNC 00001000 | ||
| 300 | #define P9_DOTL_APPEND 00002000 | ||
| 301 | #define P9_DOTL_NONBLOCK 00004000 | ||
| 302 | #define P9_DOTL_DSYNC 00010000 | ||
| 303 | #define P9_DOTL_FASYNC 00020000 | ||
| 304 | #define P9_DOTL_DIRECT 00040000 | ||
| 305 | #define P9_DOTL_LARGEFILE 00100000 | ||
| 306 | #define P9_DOTL_DIRECTORY 00200000 | ||
| 307 | #define P9_DOTL_NOFOLLOW 00400000 | ||
| 308 | #define P9_DOTL_NOATIME 01000000 | ||
| 309 | #define P9_DOTL_CLOEXEC 02000000 | ||
| 310 | #define P9_DOTL_SYNC 04000000 | ||
| 311 | |||
| 312 | /* 9p2000.L at flags */ | ||
| 313 | #define P9_DOTL_AT_REMOVEDIR 0x200 | ||
| 314 | |||
| 315 | /* 9p2000.L lock type */ | ||
| 316 | #define P9_LOCK_TYPE_RDLCK 0 | ||
| 317 | #define P9_LOCK_TYPE_WRLCK 1 | ||
| 318 | #define P9_LOCK_TYPE_UNLCK 2 | ||
| 319 | |||
| 291 | /** | 320 | /** |
| 292 | * enum p9_qid_t - QID types | 321 | * enum p9_qid_t - QID types |
| 293 | * @P9_QTDIR: directory | 322 | * @P9_QTDIR: directory |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index d17f47fc9e31..401d73bd151f 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
| @@ -1744,6 +1744,8 @@ struct wiphy_wowlan_support { | |||
| 1744 | * by default for perm_addr. In this case, the mask should be set to | 1744 | * by default for perm_addr. In this case, the mask should be set to |
| 1745 | * all-zeroes. In this case it is assumed that the device can handle | 1745 | * all-zeroes. In this case it is assumed that the device can handle |
| 1746 | * the same number of arbitrary MAC addresses. | 1746 | * the same number of arbitrary MAC addresses. |
| 1747 | * @registered: protects ->resume and ->suspend sysfs callbacks against | ||
| 1748 | * unregister hardware | ||
| 1747 | * @debugfsdir: debugfs directory used for this wiphy, will be renamed | 1749 | * @debugfsdir: debugfs directory used for this wiphy, will be renamed |
| 1748 | * automatically on wiphy renames | 1750 | * automatically on wiphy renames |
| 1749 | * @dev: (virtual) struct device for this wiphy | 1751 | * @dev: (virtual) struct device for this wiphy |
| @@ -1865,6 +1867,9 @@ struct wiphy { | |||
| 1865 | * you need use set_wiphy_dev() (see below) */ | 1867 | * you need use set_wiphy_dev() (see below) */ |
| 1866 | struct device dev; | 1868 | struct device dev; |
| 1867 | 1869 | ||
| 1870 | /* protects ->resume, ->suspend sysfs callbacks against unregister hw */ | ||
| 1871 | bool registered; | ||
| 1872 | |||
| 1868 | /* dir in debugfs: ieee80211/<wiphyname> */ | 1873 | /* dir in debugfs: ieee80211/<wiphyname> */ |
| 1869 | struct dentry *debugfsdir; | 1874 | struct dentry *debugfsdir; |
| 1870 | 1875 | ||
diff --git a/include/net/flow.h b/include/net/flow.h index 78113daadd63..a09447749e2d 100644 --- a/include/net/flow.h +++ b/include/net/flow.h | |||
| @@ -7,6 +7,7 @@ | |||
| 7 | #ifndef _NET_FLOW_H | 7 | #ifndef _NET_FLOW_H |
| 8 | #define _NET_FLOW_H | 8 | #define _NET_FLOW_H |
| 9 | 9 | ||
| 10 | #include <linux/socket.h> | ||
| 10 | #include <linux/in6.h> | 11 | #include <linux/in6.h> |
| 11 | #include <linux/atomic.h> | 12 | #include <linux/atomic.h> |
| 12 | 13 | ||
| @@ -68,7 +69,7 @@ struct flowi4 { | |||
| 68 | #define fl4_ipsec_spi uli.spi | 69 | #define fl4_ipsec_spi uli.spi |
| 69 | #define fl4_mh_type uli.mht.type | 70 | #define fl4_mh_type uli.mht.type |
| 70 | #define fl4_gre_key uli.gre_key | 71 | #define fl4_gre_key uli.gre_key |
| 71 | }; | 72 | } __attribute__((__aligned__(BITS_PER_LONG/8))); |
| 72 | 73 | ||
| 73 | static inline void flowi4_init_output(struct flowi4 *fl4, int oif, | 74 | static inline void flowi4_init_output(struct flowi4 *fl4, int oif, |
| 74 | __u32 mark, __u8 tos, __u8 scope, | 75 | __u32 mark, __u8 tos, __u8 scope, |
| @@ -112,7 +113,7 @@ struct flowi6 { | |||
| 112 | #define fl6_ipsec_spi uli.spi | 113 | #define fl6_ipsec_spi uli.spi |
| 113 | #define fl6_mh_type uli.mht.type | 114 | #define fl6_mh_type uli.mht.type |
| 114 | #define fl6_gre_key uli.gre_key | 115 | #define fl6_gre_key uli.gre_key |
| 115 | }; | 116 | } __attribute__((__aligned__(BITS_PER_LONG/8))); |
| 116 | 117 | ||
| 117 | struct flowidn { | 118 | struct flowidn { |
| 118 | struct flowi_common __fl_common; | 119 | struct flowi_common __fl_common; |
| @@ -127,7 +128,7 @@ struct flowidn { | |||
| 127 | union flowi_uli uli; | 128 | union flowi_uli uli; |
| 128 | #define fld_sport uli.ports.sport | 129 | #define fld_sport uli.ports.sport |
| 129 | #define fld_dport uli.ports.dport | 130 | #define fld_dport uli.ports.dport |
| 130 | }; | 131 | } __attribute__((__aligned__(BITS_PER_LONG/8))); |
| 131 | 132 | ||
| 132 | struct flowi { | 133 | struct flowi { |
| 133 | union { | 134 | union { |
| @@ -161,6 +162,24 @@ static inline struct flowi *flowidn_to_flowi(struct flowidn *fldn) | |||
| 161 | return container_of(fldn, struct flowi, u.dn); | 162 | return container_of(fldn, struct flowi, u.dn); |
| 162 | } | 163 | } |
| 163 | 164 | ||
| 165 | typedef unsigned long flow_compare_t; | ||
| 166 | |||
| 167 | static inline size_t flow_key_size(u16 family) | ||
| 168 | { | ||
| 169 | switch (family) { | ||
| 170 | case AF_INET: | ||
| 171 | BUILD_BUG_ON(sizeof(struct flowi4) % sizeof(flow_compare_t)); | ||
| 172 | return sizeof(struct flowi4) / sizeof(flow_compare_t); | ||
| 173 | case AF_INET6: | ||
| 174 | BUILD_BUG_ON(sizeof(struct flowi6) % sizeof(flow_compare_t)); | ||
| 175 | return sizeof(struct flowi6) / sizeof(flow_compare_t); | ||
| 176 | case AF_DECnet: | ||
| 177 | BUILD_BUG_ON(sizeof(struct flowidn) % sizeof(flow_compare_t)); | ||
| 178 | return sizeof(struct flowidn) / sizeof(flow_compare_t); | ||
| 179 | } | ||
| 180 | return 0; | ||
| 181 | } | ||
| 182 | |||
| 164 | #define FLOW_DIR_IN 0 | 183 | #define FLOW_DIR_IN 0 |
| 165 | #define FLOW_DIR_OUT 1 | 184 | #define FLOW_DIR_OUT 1 |
| 166 | #define FLOW_DIR_FWD 2 | 185 | #define FLOW_DIR_FWD 2 |
diff --git a/include/net/request_sock.h b/include/net/request_sock.h index 99e6e19b57c2..4c0766e201e3 100644 --- a/include/net/request_sock.h +++ b/include/net/request_sock.h | |||
| @@ -96,7 +96,8 @@ extern int sysctl_max_syn_backlog; | |||
| 96 | */ | 96 | */ |
| 97 | struct listen_sock { | 97 | struct listen_sock { |
| 98 | u8 max_qlen_log; | 98 | u8 max_qlen_log; |
| 99 | /* 3 bytes hole, try to use */ | 99 | u8 synflood_warned; |
| 100 | /* 2 bytes hole, try to use */ | ||
| 100 | int qlen; | 101 | int qlen; |
| 101 | int qlen_young; | 102 | int qlen_young; |
| 102 | int clock_hand; | 103 | int clock_hand; |
diff --git a/include/net/sctp/command.h b/include/net/sctp/command.h index 6506458ccd33..712b3bebeda7 100644 --- a/include/net/sctp/command.h +++ b/include/net/sctp/command.h | |||
| @@ -109,6 +109,7 @@ typedef enum { | |||
| 109 | SCTP_CMD_SEND_MSG, /* Send the whole use message */ | 109 | SCTP_CMD_SEND_MSG, /* Send the whole use message */ |
| 110 | SCTP_CMD_SEND_NEXT_ASCONF, /* Send the next ASCONF after ACK */ | 110 | SCTP_CMD_SEND_NEXT_ASCONF, /* Send the next ASCONF after ACK */ |
| 111 | SCTP_CMD_PURGE_ASCONF_QUEUE, /* Purge all asconf queues.*/ | 111 | SCTP_CMD_PURGE_ASCONF_QUEUE, /* Purge all asconf queues.*/ |
| 112 | SCTP_CMD_SET_ASOC, /* Restore association context */ | ||
| 112 | SCTP_CMD_LAST | 113 | SCTP_CMD_LAST |
| 113 | } sctp_verb_t; | 114 | } sctp_verb_t; |
| 114 | 115 | ||
diff --git a/include/net/tcp.h b/include/net/tcp.h index 149a415d1e0a..acc620a4a45f 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
| @@ -431,17 +431,34 @@ extern int tcp_disconnect(struct sock *sk, int flags); | |||
| 431 | extern __u32 syncookie_secret[2][16-4+SHA_DIGEST_WORDS]; | 431 | extern __u32 syncookie_secret[2][16-4+SHA_DIGEST_WORDS]; |
| 432 | extern struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb, | 432 | extern struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb, |
| 433 | struct ip_options *opt); | 433 | struct ip_options *opt); |
| 434 | #ifdef CONFIG_SYN_COOKIES | ||
| 434 | extern __u32 cookie_v4_init_sequence(struct sock *sk, struct sk_buff *skb, | 435 | extern __u32 cookie_v4_init_sequence(struct sock *sk, struct sk_buff *skb, |
| 435 | __u16 *mss); | 436 | __u16 *mss); |
| 437 | #else | ||
| 438 | static inline __u32 cookie_v4_init_sequence(struct sock *sk, | ||
| 439 | struct sk_buff *skb, | ||
| 440 | __u16 *mss) | ||
| 441 | { | ||
| 442 | return 0; | ||
| 443 | } | ||
| 444 | #endif | ||
| 436 | 445 | ||
| 437 | extern __u32 cookie_init_timestamp(struct request_sock *req); | 446 | extern __u32 cookie_init_timestamp(struct request_sock *req); |
| 438 | extern bool cookie_check_timestamp(struct tcp_options_received *opt, bool *); | 447 | extern bool cookie_check_timestamp(struct tcp_options_received *opt, bool *); |
| 439 | 448 | ||
| 440 | /* From net/ipv6/syncookies.c */ | 449 | /* From net/ipv6/syncookies.c */ |
| 441 | extern struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb); | 450 | extern struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb); |
| 451 | #ifdef CONFIG_SYN_COOKIES | ||
| 442 | extern __u32 cookie_v6_init_sequence(struct sock *sk, struct sk_buff *skb, | 452 | extern __u32 cookie_v6_init_sequence(struct sock *sk, struct sk_buff *skb, |
| 443 | __u16 *mss); | 453 | __u16 *mss); |
| 444 | 454 | #else | |
| 455 | static inline __u32 cookie_v6_init_sequence(struct sock *sk, | ||
| 456 | struct sk_buff *skb, | ||
| 457 | __u16 *mss) | ||
| 458 | { | ||
| 459 | return 0; | ||
| 460 | } | ||
| 461 | #endif | ||
| 445 | /* tcp_output.c */ | 462 | /* tcp_output.c */ |
| 446 | 463 | ||
| 447 | extern void __tcp_push_pending_frames(struct sock *sk, unsigned int cur_mss, | 464 | extern void __tcp_push_pending_frames(struct sock *sk, unsigned int cur_mss, |
| @@ -460,6 +477,9 @@ extern int tcp_write_wakeup(struct sock *); | |||
| 460 | extern void tcp_send_fin(struct sock *sk); | 477 | extern void tcp_send_fin(struct sock *sk); |
| 461 | extern void tcp_send_active_reset(struct sock *sk, gfp_t priority); | 478 | extern void tcp_send_active_reset(struct sock *sk, gfp_t priority); |
| 462 | extern int tcp_send_synack(struct sock *); | 479 | extern int tcp_send_synack(struct sock *); |
| 480 | extern int tcp_syn_flood_action(struct sock *sk, | ||
| 481 | const struct sk_buff *skb, | ||
| 482 | const char *proto); | ||
| 463 | extern void tcp_push_one(struct sock *, unsigned int mss_now); | 483 | extern void tcp_push_one(struct sock *, unsigned int mss_now); |
| 464 | extern void tcp_send_ack(struct sock *sk); | 484 | extern void tcp_send_ack(struct sock *sk); |
| 465 | extern void tcp_send_delayed_ack(struct sock *sk); | 485 | extern void tcp_send_delayed_ack(struct sock *sk); |
diff --git a/include/net/transp_v6.h b/include/net/transp_v6.h index 5271a741c3a3..498433dd067d 100644 --- a/include/net/transp_v6.h +++ b/include/net/transp_v6.h | |||
| @@ -39,6 +39,7 @@ extern int datagram_recv_ctl(struct sock *sk, | |||
| 39 | struct sk_buff *skb); | 39 | struct sk_buff *skb); |
| 40 | 40 | ||
| 41 | extern int datagram_send_ctl(struct net *net, | 41 | extern int datagram_send_ctl(struct net *net, |
| 42 | struct sock *sk, | ||
| 42 | struct msghdr *msg, | 43 | struct msghdr *msg, |
| 43 | struct flowi6 *fl6, | 44 | struct flowi6 *fl6, |
| 44 | struct ipv6_txoptions *opt, | 45 | struct ipv6_txoptions *opt, |
