diff options
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/bluetooth/smp.h | 2 | ||||
-rw-r--r-- | include/net/cfg80211.h | 2 | ||||
-rw-r--r-- | include/net/codel.h | 8 | ||||
-rw-r--r-- | include/net/dst.h | 2 | ||||
-rw-r--r-- | include/net/inet_connection_sock.h | 1 | ||||
-rw-r--r-- | include/net/inet_sock.h | 9 | ||||
-rw-r--r-- | include/net/ip.h | 2 | ||||
-rw-r--r-- | include/net/llc.h | 2 | ||||
-rw-r--r-- | include/net/netfilter/nf_conntrack_ecache.h | 1 | ||||
-rw-r--r-- | include/net/scm.h | 4 | ||||
-rw-r--r-- | include/net/sock.h | 4 | ||||
-rw-r--r-- | include/net/tcp.h | 1 | ||||
-rw-r--r-- | include/net/xfrm.h | 9 |
13 files changed, 30 insertions, 17 deletions
diff --git a/include/net/bluetooth/smp.h b/include/net/bluetooth/smp.h index ca356a73492..8b27927b2a5 100644 --- a/include/net/bluetooth/smp.h +++ b/include/net/bluetooth/smp.h | |||
@@ -136,7 +136,7 @@ struct smp_chan { | |||
136 | }; | 136 | }; |
137 | 137 | ||
138 | /* SMP Commands */ | 138 | /* SMP Commands */ |
139 | int smp_conn_security(struct l2cap_conn *conn, __u8 sec_level); | 139 | int smp_conn_security(struct hci_conn *hcon, __u8 sec_level); |
140 | int smp_sig_channel(struct l2cap_conn *conn, struct sk_buff *skb); | 140 | int smp_sig_channel(struct l2cap_conn *conn, struct sk_buff *skb); |
141 | int smp_distribute_keys(struct l2cap_conn *conn, __u8 force); | 141 | int smp_distribute_keys(struct l2cap_conn *conn, __u8 force); |
142 | int smp_user_confirm_reply(struct hci_conn *conn, u16 mgmt_op, __le32 passkey); | 142 | int smp_user_confirm_reply(struct hci_conn *conn, u16 mgmt_op, __le32 passkey); |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 493fa0c7900..3d254e10ff3 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -96,6 +96,7 @@ enum ieee80211_band { | |||
96 | * is not permitted. | 96 | * is not permitted. |
97 | * @IEEE80211_CHAN_NO_HT40MINUS: extension channel below this channel | 97 | * @IEEE80211_CHAN_NO_HT40MINUS: extension channel below this channel |
98 | * is not permitted. | 98 | * is not permitted. |
99 | * @IEEE80211_CHAN_NO_OFDM: OFDM is not allowed on this channel. | ||
99 | */ | 100 | */ |
100 | enum ieee80211_channel_flags { | 101 | enum ieee80211_channel_flags { |
101 | IEEE80211_CHAN_DISABLED = 1<<0, | 102 | IEEE80211_CHAN_DISABLED = 1<<0, |
@@ -104,6 +105,7 @@ enum ieee80211_channel_flags { | |||
104 | IEEE80211_CHAN_RADAR = 1<<3, | 105 | IEEE80211_CHAN_RADAR = 1<<3, |
105 | IEEE80211_CHAN_NO_HT40PLUS = 1<<4, | 106 | IEEE80211_CHAN_NO_HT40PLUS = 1<<4, |
106 | IEEE80211_CHAN_NO_HT40MINUS = 1<<5, | 107 | IEEE80211_CHAN_NO_HT40MINUS = 1<<5, |
108 | IEEE80211_CHAN_NO_OFDM = 1<<6, | ||
107 | }; | 109 | }; |
108 | 110 | ||
109 | #define IEEE80211_CHAN_NO_HT40 \ | 111 | #define IEEE80211_CHAN_NO_HT40 \ |
diff --git a/include/net/codel.h b/include/net/codel.h index 550debfc240..389cf621161 100644 --- a/include/net/codel.h +++ b/include/net/codel.h | |||
@@ -305,6 +305,8 @@ static struct sk_buff *codel_dequeue(struct Qdisc *sch, | |||
305 | } | 305 | } |
306 | } | 306 | } |
307 | } else if (drop) { | 307 | } else if (drop) { |
308 | u32 delta; | ||
309 | |||
308 | if (params->ecn && INET_ECN_set_ce(skb)) { | 310 | if (params->ecn && INET_ECN_set_ce(skb)) { |
309 | stats->ecn_mark++; | 311 | stats->ecn_mark++; |
310 | } else { | 312 | } else { |
@@ -320,9 +322,11 @@ static struct sk_buff *codel_dequeue(struct Qdisc *sch, | |||
320 | * assume that the drop rate that controlled the queue on the | 322 | * assume that the drop rate that controlled the queue on the |
321 | * last cycle is a good starting point to control it now. | 323 | * last cycle is a good starting point to control it now. |
322 | */ | 324 | */ |
323 | if (codel_time_before(now - vars->drop_next, | 325 | delta = vars->count - vars->lastcount; |
326 | if (delta > 1 && | ||
327 | codel_time_before(now - vars->drop_next, | ||
324 | 16 * params->interval)) { | 328 | 16 * params->interval)) { |
325 | vars->count = (vars->count - vars->lastcount) | 1; | 329 | vars->count = delta; |
326 | /* we dont care if rec_inv_sqrt approximation | 330 | /* we dont care if rec_inv_sqrt approximation |
327 | * is not very precise : | 331 | * is not very precise : |
328 | * Next Newton steps will correct it quadratically. | 332 | * Next Newton steps will correct it quadratically. |
diff --git a/include/net/dst.h b/include/net/dst.h index baf59789006..621e3513ef5 100644 --- a/include/net/dst.h +++ b/include/net/dst.h | |||
@@ -110,7 +110,7 @@ struct dst_entry { | |||
110 | }; | 110 | }; |
111 | 111 | ||
112 | extern u32 *dst_cow_metrics_generic(struct dst_entry *dst, unsigned long old); | 112 | extern u32 *dst_cow_metrics_generic(struct dst_entry *dst, unsigned long old); |
113 | extern const u32 dst_default_metrics[RTAX_MAX]; | 113 | extern const u32 dst_default_metrics[]; |
114 | 114 | ||
115 | #define DST_METRICS_READ_ONLY 0x1UL | 115 | #define DST_METRICS_READ_ONLY 0x1UL |
116 | #define __DST_METRICS_PTR(Y) \ | 116 | #define __DST_METRICS_PTR(Y) \ |
diff --git a/include/net/inet_connection_sock.h b/include/net/inet_connection_sock.h index 5ee66f517b4..ba1d3615acb 100644 --- a/include/net/inet_connection_sock.h +++ b/include/net/inet_connection_sock.h | |||
@@ -39,6 +39,7 @@ struct inet_connection_sock_af_ops { | |||
39 | int (*queue_xmit)(struct sk_buff *skb, struct flowi *fl); | 39 | int (*queue_xmit)(struct sk_buff *skb, struct flowi *fl); |
40 | void (*send_check)(struct sock *sk, struct sk_buff *skb); | 40 | void (*send_check)(struct sock *sk, struct sk_buff *skb); |
41 | int (*rebuild_header)(struct sock *sk); | 41 | int (*rebuild_header)(struct sock *sk); |
42 | void (*sk_rx_dst_set)(struct sock *sk, const struct sk_buff *skb); | ||
42 | int (*conn_request)(struct sock *sk, struct sk_buff *skb); | 43 | int (*conn_request)(struct sock *sk, struct sk_buff *skb); |
43 | struct sock *(*syn_recv_sock)(struct sock *sk, struct sk_buff *skb, | 44 | struct sock *(*syn_recv_sock)(struct sock *sk, struct sk_buff *skb, |
44 | struct request_sock *req, | 45 | struct request_sock *req, |
diff --git a/include/net/inet_sock.h b/include/net/inet_sock.h index 83b567fe194..613cfa40167 100644 --- a/include/net/inet_sock.h +++ b/include/net/inet_sock.h | |||
@@ -249,13 +249,4 @@ static inline __u8 inet_sk_flowi_flags(const struct sock *sk) | |||
249 | return flags; | 249 | return flags; |
250 | } | 250 | } |
251 | 251 | ||
252 | static inline void inet_sk_rx_dst_set(struct sock *sk, const struct sk_buff *skb) | ||
253 | { | ||
254 | struct dst_entry *dst = skb_dst(skb); | ||
255 | |||
256 | dst_hold(dst); | ||
257 | sk->sk_rx_dst = dst; | ||
258 | inet_sk(sk)->rx_dst_ifindex = skb->skb_iif; | ||
259 | } | ||
260 | |||
261 | #endif /* _INET_SOCK_H */ | 252 | #endif /* _INET_SOCK_H */ |
diff --git a/include/net/ip.h b/include/net/ip.h index bd5e444a19c..5a5d84d3d2c 100644 --- a/include/net/ip.h +++ b/include/net/ip.h | |||
@@ -120,7 +120,7 @@ extern struct sk_buff *__ip_make_skb(struct sock *sk, | |||
120 | struct flowi4 *fl4, | 120 | struct flowi4 *fl4, |
121 | struct sk_buff_head *queue, | 121 | struct sk_buff_head *queue, |
122 | struct inet_cork *cork); | 122 | struct inet_cork *cork); |
123 | extern int ip_send_skb(struct sk_buff *skb); | 123 | extern int ip_send_skb(struct net *net, struct sk_buff *skb); |
124 | extern int ip_push_pending_frames(struct sock *sk, struct flowi4 *fl4); | 124 | extern int ip_push_pending_frames(struct sock *sk, struct flowi4 *fl4); |
125 | extern void ip_flush_pending_frames(struct sock *sk); | 125 | extern void ip_flush_pending_frames(struct sock *sk); |
126 | extern struct sk_buff *ip_make_skb(struct sock *sk, | 126 | extern struct sk_buff *ip_make_skb(struct sock *sk, |
diff --git a/include/net/llc.h b/include/net/llc.h index 226c846cab0..f2d0fc57052 100644 --- a/include/net/llc.h +++ b/include/net/llc.h | |||
@@ -133,7 +133,7 @@ extern int llc_build_and_send_ui_pkt(struct llc_sap *sap, struct sk_buff *skb, | |||
133 | extern void llc_sap_handler(struct llc_sap *sap, struct sk_buff *skb); | 133 | extern void llc_sap_handler(struct llc_sap *sap, struct sk_buff *skb); |
134 | extern void llc_conn_handler(struct llc_sap *sap, struct sk_buff *skb); | 134 | extern void llc_conn_handler(struct llc_sap *sap, struct sk_buff *skb); |
135 | 135 | ||
136 | extern int llc_station_init(void); | 136 | extern void llc_station_init(void); |
137 | extern void llc_station_exit(void); | 137 | extern void llc_station_exit(void); |
138 | 138 | ||
139 | #ifdef CONFIG_PROC_FS | 139 | #ifdef CONFIG_PROC_FS |
diff --git a/include/net/netfilter/nf_conntrack_ecache.h b/include/net/netfilter/nf_conntrack_ecache.h index e1ce1048fe5..4a045cda9c6 100644 --- a/include/net/netfilter/nf_conntrack_ecache.h +++ b/include/net/netfilter/nf_conntrack_ecache.h | |||
@@ -18,6 +18,7 @@ struct nf_conntrack_ecache { | |||
18 | u16 ctmask; /* bitmask of ct events to be delivered */ | 18 | u16 ctmask; /* bitmask of ct events to be delivered */ |
19 | u16 expmask; /* bitmask of expect events to be delivered */ | 19 | u16 expmask; /* bitmask of expect events to be delivered */ |
20 | u32 pid; /* netlink pid of destroyer */ | 20 | u32 pid; /* netlink pid of destroyer */ |
21 | struct timer_list timeout; | ||
21 | }; | 22 | }; |
22 | 23 | ||
23 | static inline struct nf_conntrack_ecache * | 24 | static inline struct nf_conntrack_ecache * |
diff --git a/include/net/scm.h b/include/net/scm.h index 079d7887dac..7dc0854f0b3 100644 --- a/include/net/scm.h +++ b/include/net/scm.h | |||
@@ -70,9 +70,11 @@ static __inline__ void scm_destroy(struct scm_cookie *scm) | |||
70 | } | 70 | } |
71 | 71 | ||
72 | static __inline__ int scm_send(struct socket *sock, struct msghdr *msg, | 72 | static __inline__ int scm_send(struct socket *sock, struct msghdr *msg, |
73 | struct scm_cookie *scm) | 73 | struct scm_cookie *scm, bool forcecreds) |
74 | { | 74 | { |
75 | memset(scm, 0, sizeof(*scm)); | 75 | memset(scm, 0, sizeof(*scm)); |
76 | if (forcecreds) | ||
77 | scm_set_cred(scm, task_tgid(current), current_cred()); | ||
76 | unix_get_peersec_dgram(sock, scm); | 78 | unix_get_peersec_dgram(sock, scm); |
77 | if (msg->msg_controllen <= 0) | 79 | if (msg->msg_controllen <= 0) |
78 | return 0; | 80 | return 0; |
diff --git a/include/net/sock.h b/include/net/sock.h index b3730239bf1..adb7da20b5a 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -218,6 +218,7 @@ struct cg_proto; | |||
218 | * @sk_route_nocaps: forbidden route capabilities (e.g NETIF_F_GSO_MASK) | 218 | * @sk_route_nocaps: forbidden route capabilities (e.g NETIF_F_GSO_MASK) |
219 | * @sk_gso_type: GSO type (e.g. %SKB_GSO_TCPV4) | 219 | * @sk_gso_type: GSO type (e.g. %SKB_GSO_TCPV4) |
220 | * @sk_gso_max_size: Maximum GSO segment size to build | 220 | * @sk_gso_max_size: Maximum GSO segment size to build |
221 | * @sk_gso_max_segs: Maximum number of GSO segments | ||
221 | * @sk_lingertime: %SO_LINGER l_linger setting | 222 | * @sk_lingertime: %SO_LINGER l_linger setting |
222 | * @sk_backlog: always used with the per-socket spinlock held | 223 | * @sk_backlog: always used with the per-socket spinlock held |
223 | * @sk_callback_lock: used with the callbacks in the end of this struct | 224 | * @sk_callback_lock: used with the callbacks in the end of this struct |
@@ -338,6 +339,7 @@ struct sock { | |||
338 | netdev_features_t sk_route_nocaps; | 339 | netdev_features_t sk_route_nocaps; |
339 | int sk_gso_type; | 340 | int sk_gso_type; |
340 | unsigned int sk_gso_max_size; | 341 | unsigned int sk_gso_max_size; |
342 | u16 sk_gso_max_segs; | ||
341 | int sk_rcvlowat; | 343 | int sk_rcvlowat; |
342 | unsigned long sk_lingertime; | 344 | unsigned long sk_lingertime; |
343 | struct sk_buff_head sk_error_queue; | 345 | struct sk_buff_head sk_error_queue; |
@@ -1330,7 +1332,7 @@ static inline bool sk_wmem_schedule(struct sock *sk, int size) | |||
1330 | } | 1332 | } |
1331 | 1333 | ||
1332 | static inline bool | 1334 | static inline bool |
1333 | sk_rmem_schedule(struct sock *sk, struct sk_buff *skb, unsigned int size) | 1335 | sk_rmem_schedule(struct sock *sk, struct sk_buff *skb, int size) |
1334 | { | 1336 | { |
1335 | if (!sk_has_account(sk)) | 1337 | if (!sk_has_account(sk)) |
1336 | return true; | 1338 | return true; |
diff --git a/include/net/tcp.h b/include/net/tcp.h index e19124b84cd..1f000ffe707 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -464,6 +464,7 @@ extern int tcp_disconnect(struct sock *sk, int flags); | |||
464 | void tcp_connect_init(struct sock *sk); | 464 | void tcp_connect_init(struct sock *sk); |
465 | void tcp_finish_connect(struct sock *sk, struct sk_buff *skb); | 465 | void tcp_finish_connect(struct sock *sk, struct sk_buff *skb); |
466 | int tcp_send_rcvq(struct sock *sk, struct msghdr *msg, size_t size); | 466 | int tcp_send_rcvq(struct sock *sk, struct msghdr *msg, size_t size); |
467 | void inet_sk_rx_dst_set(struct sock *sk, const struct sk_buff *skb); | ||
467 | 468 | ||
468 | /* From syncookies.c */ | 469 | /* From syncookies.c */ |
469 | extern __u32 syncookie_secret[2][16-4+SHA_DIGEST_WORDS]; | 470 | extern __u32 syncookie_secret[2][16-4+SHA_DIGEST_WORDS]; |
diff --git a/include/net/xfrm.h b/include/net/xfrm.h index d9509eb29b8..639dd1316d3 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h | |||
@@ -213,6 +213,9 @@ struct xfrm_state { | |||
213 | struct xfrm_lifetime_cur curlft; | 213 | struct xfrm_lifetime_cur curlft; |
214 | struct tasklet_hrtimer mtimer; | 214 | struct tasklet_hrtimer mtimer; |
215 | 215 | ||
216 | /* used to fix curlft->add_time when changing date */ | ||
217 | long saved_tmo; | ||
218 | |||
216 | /* Last used time */ | 219 | /* Last used time */ |
217 | unsigned long lastused; | 220 | unsigned long lastused; |
218 | 221 | ||
@@ -238,6 +241,7 @@ static inline struct net *xs_net(struct xfrm_state *x) | |||
238 | 241 | ||
239 | /* xflags - make enum if more show up */ | 242 | /* xflags - make enum if more show up */ |
240 | #define XFRM_TIME_DEFER 1 | 243 | #define XFRM_TIME_DEFER 1 |
244 | #define XFRM_SOFT_EXPIRE 2 | ||
241 | 245 | ||
242 | enum { | 246 | enum { |
243 | XFRM_STATE_VOID, | 247 | XFRM_STATE_VOID, |
@@ -269,6 +273,9 @@ struct xfrm_replay { | |||
269 | int (*check)(struct xfrm_state *x, | 273 | int (*check)(struct xfrm_state *x, |
270 | struct sk_buff *skb, | 274 | struct sk_buff *skb, |
271 | __be32 net_seq); | 275 | __be32 net_seq); |
276 | int (*recheck)(struct xfrm_state *x, | ||
277 | struct sk_buff *skb, | ||
278 | __be32 net_seq); | ||
272 | void (*notify)(struct xfrm_state *x, int event); | 279 | void (*notify)(struct xfrm_state *x, int event); |
273 | int (*overflow)(struct xfrm_state *x, struct sk_buff *skb); | 280 | int (*overflow)(struct xfrm_state *x, struct sk_buff *skb); |
274 | }; | 281 | }; |
@@ -288,6 +295,8 @@ struct xfrm_policy_afinfo { | |||
288 | struct flowi *fl, | 295 | struct flowi *fl, |
289 | int reverse); | 296 | int reverse); |
290 | int (*get_tos)(const struct flowi *fl); | 297 | int (*get_tos)(const struct flowi *fl); |
298 | void (*init_dst)(struct net *net, | ||
299 | struct xfrm_dst *dst); | ||
291 | int (*init_path)(struct xfrm_dst *path, | 300 | int (*init_path)(struct xfrm_dst *path, |
292 | struct dst_entry *dst, | 301 | struct dst_entry *dst, |
293 | int nfheader_len); | 302 | int nfheader_len); |