aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
Diffstat (limited to 'include/net')
-rw-r--r--include/net/ipv6.h15
-rw-r--r--include/net/iucv/af_iucv.h2
-rw-r--r--include/net/sctp/command.h2
-rw-r--r--include/net/sctp/sctp.h4
-rw-r--r--include/net/sctp/structs.h1
-rw-r--r--include/net/tcp.h3
-rw-r--r--include/net/xfrm.h41
7 files changed, 36 insertions, 32 deletions
diff --git a/include/net/ipv6.h b/include/net/ipv6.h
index f70afef9c3cc..4fa5dfe886c4 100644
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
@@ -204,9 +204,9 @@ struct ip6_flowlabel
204{ 204{
205 struct ip6_flowlabel *next; 205 struct ip6_flowlabel *next;
206 __be32 label; 206 __be32 label;
207 atomic_t users;
207 struct in6_addr dst; 208 struct in6_addr dst;
208 struct ipv6_txoptions *opt; 209 struct ipv6_txoptions *opt;
209 atomic_t users;
210 unsigned long linger; 210 unsigned long linger;
211 u8 share; 211 u8 share;
212 u32 owner; 212 u32 owner;
@@ -291,7 +291,7 @@ static inline int ipv6_addr_src_scope(const struct in6_addr *addr)
291 291
292static inline int ipv6_addr_cmp(const struct in6_addr *a1, const struct in6_addr *a2) 292static inline int ipv6_addr_cmp(const struct in6_addr *a1, const struct in6_addr *a2)
293{ 293{
294 return memcmp((const void *) a1, (const void *) a2, sizeof(struct in6_addr)); 294 return memcmp(a1, a2, sizeof(struct in6_addr));
295} 295}
296 296
297static inline int 297static inline int
@@ -308,7 +308,7 @@ ipv6_masked_addr_cmp(const struct in6_addr *a1, const struct in6_addr *m,
308 308
309static inline void ipv6_addr_copy(struct in6_addr *a1, const struct in6_addr *a2) 309static inline void ipv6_addr_copy(struct in6_addr *a1, const struct in6_addr *a2)
310{ 310{
311 memcpy((void *) a1, (const void *) a2, sizeof(struct in6_addr)); 311 memcpy(a1, a2, sizeof(struct in6_addr));
312} 312}
313 313
314static inline void ipv6_addr_prefix(struct in6_addr *pfx, 314static inline void ipv6_addr_prefix(struct in6_addr *pfx,
@@ -319,16 +319,12 @@ static inline void ipv6_addr_prefix(struct in6_addr *pfx,
319 int o = plen >> 3, 319 int o = plen >> 3,
320 b = plen & 0x7; 320 b = plen & 0x7;
321 321
322 memset(pfx->s6_addr, 0, sizeof(pfx->s6_addr));
322 memcpy(pfx->s6_addr, addr, o); 323 memcpy(pfx->s6_addr, addr, o);
323 if (b != 0) { 324 if (b != 0)
324 pfx->s6_addr[o] = addr->s6_addr[o] & (0xff00 >> b); 325 pfx->s6_addr[o] = addr->s6_addr[o] & (0xff00 >> b);
325 o++;
326 }
327 if (o < 16)
328 memset(pfx->s6_addr + o, 0, 16 - o);
329} 326}
330 327
331#ifndef __HAVE_ARCH_ADDR_SET
332static inline void ipv6_addr_set(struct in6_addr *addr, 328static inline void ipv6_addr_set(struct in6_addr *addr,
333 __be32 w1, __be32 w2, 329 __be32 w1, __be32 w2,
334 __be32 w3, __be32 w4) 330 __be32 w3, __be32 w4)
@@ -338,7 +334,6 @@ static inline void ipv6_addr_set(struct in6_addr *addr,
338 addr->s6_addr32[2] = w3; 334 addr->s6_addr32[2] = w3;
339 addr->s6_addr32[3] = w4; 335 addr->s6_addr32[3] = w4;
340} 336}
341#endif
342 337
343static inline int ipv6_addr_equal(const struct in6_addr *a1, 338static inline int ipv6_addr_equal(const struct in6_addr *a1,
344 const struct in6_addr *a2) 339 const struct in6_addr *a2)
diff --git a/include/net/iucv/af_iucv.h b/include/net/iucv/af_iucv.h
index 04d1abb72d25..f9bd11be1891 100644
--- a/include/net/iucv/af_iucv.h
+++ b/include/net/iucv/af_iucv.h
@@ -28,6 +28,7 @@ enum {
28 IUCV_LISTEN, 28 IUCV_LISTEN,
29 IUCV_SEVERED, 29 IUCV_SEVERED,
30 IUCV_DISCONN, 30 IUCV_DISCONN,
31 IUCV_CLOSING,
31 IUCV_CLOSED 32 IUCV_CLOSED
32}; 33};
33 34
@@ -62,6 +63,7 @@ struct iucv_sock {
62 struct sock *parent; 63 struct sock *parent;
63 struct iucv_path *path; 64 struct iucv_path *path;
64 struct sk_buff_head send_skb_q; 65 struct sk_buff_head send_skb_q;
66 struct sk_buff_head backlog_skb_q;
65 unsigned int send_tag; 67 unsigned int send_tag;
66}; 68};
67 69
diff --git a/include/net/sctp/command.h b/include/net/sctp/command.h
index 6114c4f54b0a..f56c8d695a82 100644
--- a/include/net/sctp/command.h
+++ b/include/net/sctp/command.h
@@ -100,6 +100,8 @@ typedef enum {
100 SCTP_CMD_T3_RTX_TIMERS_STOP, /* Stops T3-rtx pending timers */ 100 SCTP_CMD_T3_RTX_TIMERS_STOP, /* Stops T3-rtx pending timers */
101 SCTP_CMD_FORCE_PRIM_RETRAN, /* Forces retrans. over primary path. */ 101 SCTP_CMD_FORCE_PRIM_RETRAN, /* Forces retrans. over primary path. */
102 SCTP_CMD_SET_SK_ERR, /* Set sk_err */ 102 SCTP_CMD_SET_SK_ERR, /* Set sk_err */
103 SCTP_CMD_ASSOC_CHANGE, /* generate and send assoc_change event */
104 SCTP_CMD_ADAPTATION_IND, /* generate and send adaptation event */
103 SCTP_CMD_LAST 105 SCTP_CMD_LAST
104} sctp_verb_t; 106} sctp_verb_t;
105 107
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h
index 28af68059521..dda72bf5b9b4 100644
--- a/include/net/sctp/sctp.h
+++ b/include/net/sctp/sctp.h
@@ -378,11 +378,15 @@ static inline int sctp_sysctl_jiffies_ms(ctl_table *table, int __user *name, int
378 378
379int sctp_v6_init(void); 379int sctp_v6_init(void);
380void sctp_v6_exit(void); 380void sctp_v6_exit(void);
381int sctp_v6_add_protocol(void);
382void sctp_v6_del_protocol(void);
381 383
382#else /* #ifdef defined(CONFIG_IPV6) */ 384#else /* #ifdef defined(CONFIG_IPV6) */
383 385
384static inline int sctp_v6_init(void) { return 0; } 386static inline int sctp_v6_init(void) { return 0; }
385static inline void sctp_v6_exit(void) { return; } 387static inline void sctp_v6_exit(void) { return; }
388static inline int sctp_v6_add_protocol(void) { return 0; }
389static inline void sctp_v6_del_protocol(void) { return; }
386 390
387#endif /* #if defined(CONFIG_IPV6) */ 391#endif /* #if defined(CONFIG_IPV6) */
388 392
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index 7b4fff93ba7f..5e81984b8478 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -1857,6 +1857,7 @@ int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *,
1857int sctp_assoc_set_bind_addr_from_cookie(struct sctp_association *, 1857int sctp_assoc_set_bind_addr_from_cookie(struct sctp_association *,
1858 struct sctp_cookie*, 1858 struct sctp_cookie*,
1859 gfp_t gfp); 1859 gfp_t gfp);
1860int sctp_assoc_set_id(struct sctp_association *, gfp_t);
1860 1861
1861int sctp_cmp_addr_exact(const union sctp_addr *ss1, 1862int sctp_cmp_addr_exact(const union sctp_addr *ss1,
1862 const union sctp_addr *ss2); 1863 const union sctp_addr *ss2);
diff --git a/include/net/tcp.h b/include/net/tcp.h
index ef8f9d4dae85..e22b4f0305a3 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -736,7 +736,8 @@ static inline __u32 tcp_current_ssthresh(const struct sock *sk)
736 736
737static inline void tcp_sync_left_out(struct tcp_sock *tp) 737static inline void tcp_sync_left_out(struct tcp_sock *tp)
738{ 738{
739 BUG_ON(tp->sacked_out + tp->lost_out > tp->packets_out); 739 BUG_ON(tp->rx_opt.sack_ok &&
740 (tp->sacked_out + tp->lost_out > tp->packets_out));
740 tp->left_out = tp->sacked_out + tp->lost_out; 741 tp->left_out = tp->sacked_out + tp->lost_out;
741} 742}
742 743
diff --git a/include/net/xfrm.h b/include/net/xfrm.h
index 66c2d3eec03c..39ef925d39dd 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
@@ -416,25 +416,6 @@ struct xfrm_audit
416 u32 secid; 416 u32 secid;
417}; 417};
418 418
419/* SAD metadata, add more later */
420struct xfrm_sadinfo
421{
422 u32 sadhcnt; /* current hash bkts */
423 u32 sadhmcnt; /* max allowed hash bkts */
424 u32 sadcnt; /* current running count */
425};
426
427struct xfrm_spdinfo
428{
429 u32 incnt;
430 u32 outcnt;
431 u32 fwdcnt;
432 u32 inscnt;
433 u32 outscnt;
434 u32 fwdscnt;
435 u32 spdhcnt;
436 u32 spdhmcnt;
437};
438#ifdef CONFIG_AUDITSYSCALL 419#ifdef CONFIG_AUDITSYSCALL
439extern void xfrm_audit_log(uid_t auid, u32 secid, int type, int result, 420extern void xfrm_audit_log(uid_t auid, u32 secid, int type, int result,
440 struct xfrm_policy *xp, struct xfrm_state *x); 421 struct xfrm_policy *xp, struct xfrm_state *x);
@@ -964,11 +945,29 @@ static inline int xfrm_state_sort(struct xfrm_state **dst, struct xfrm_state **s
964 return -ENOSYS; 945 return -ENOSYS;
965} 946}
966#endif 947#endif
948
949struct xfrmk_sadinfo {
950 u32 sadhcnt; /* current hash bkts */
951 u32 sadhmcnt; /* max allowed hash bkts */
952 u32 sadcnt; /* current running count */
953};
954
955struct xfrmk_spdinfo {
956 u32 incnt;
957 u32 outcnt;
958 u32 fwdcnt;
959 u32 inscnt;
960 u32 outscnt;
961 u32 fwdscnt;
962 u32 spdhcnt;
963 u32 spdhmcnt;
964};
965
967extern struct xfrm_state *xfrm_find_acq_byseq(u32 seq); 966extern struct xfrm_state *xfrm_find_acq_byseq(u32 seq);
968extern int xfrm_state_delete(struct xfrm_state *x); 967extern int xfrm_state_delete(struct xfrm_state *x);
969extern void xfrm_state_flush(u8 proto, struct xfrm_audit *audit_info); 968extern void xfrm_state_flush(u8 proto, struct xfrm_audit *audit_info);
970extern void xfrm_sad_getinfo(struct xfrm_sadinfo *si); 969extern void xfrm_sad_getinfo(struct xfrmk_sadinfo *si);
971extern void xfrm_spd_getinfo(struct xfrm_spdinfo *si); 970extern void xfrm_spd_getinfo(struct xfrmk_spdinfo *si);
972extern int xfrm_replay_check(struct xfrm_state *x, __be32 seq); 971extern int xfrm_replay_check(struct xfrm_state *x, __be32 seq);
973extern void xfrm_replay_advance(struct xfrm_state *x, __be32 seq); 972extern void xfrm_replay_advance(struct xfrm_state *x, __be32 seq);
974extern void xfrm_replay_notify(struct xfrm_state *x, int event); 973extern void xfrm_replay_notify(struct xfrm_state *x, int event);