diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-08 18:52:11 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-08 18:52:11 -0400 |
| commit | 27e2df2228712af43e657b9768828448c64ba424 (patch) | |
| tree | 1c86905fd366e8af66ea75bfd34a50f7084e0869 /include | |
| parent | c0d6f9663b30a09ed725229b2d50391268c8538e (diff) | |
| parent | e104411b82f5c4d19752c335492036abdbf5880d (diff) | |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/in6.h | 36 | ||||
| -rw-r--r-- | include/linux/ipv6.h | 15 | ||||
| -rw-r--r-- | include/linux/skbuff.h | 2 | ||||
| -rw-r--r-- | include/net/ax25.h | 2 | ||||
| -rw-r--r-- | include/net/compat.h | 5 | ||||
| -rw-r--r-- | include/net/ipv6.h | 5 | ||||
| -rw-r--r-- | include/net/transp_v6.h | 2 |
7 files changed, 53 insertions, 14 deletions
diff --git a/include/linux/in6.h b/include/linux/in6.h index dcf5720ffcbb..bd32b79d6295 100644 --- a/include/linux/in6.h +++ b/include/linux/in6.h | |||
| @@ -148,13 +148,13 @@ struct in6_flowlabel_req | |||
| 148 | */ | 148 | */ |
| 149 | 149 | ||
| 150 | #define IPV6_ADDRFORM 1 | 150 | #define IPV6_ADDRFORM 1 |
| 151 | #define IPV6_PKTINFO 2 | 151 | #define IPV6_2292PKTINFO 2 |
| 152 | #define IPV6_HOPOPTS 3 | 152 | #define IPV6_2292HOPOPTS 3 |
| 153 | #define IPV6_DSTOPTS 4 | 153 | #define IPV6_2292DSTOPTS 4 |
| 154 | #define IPV6_RTHDR 5 | 154 | #define IPV6_2292RTHDR 5 |
| 155 | #define IPV6_PKTOPTIONS 6 | 155 | #define IPV6_2292PKTOPTIONS 6 |
| 156 | #define IPV6_CHECKSUM 7 | 156 | #define IPV6_CHECKSUM 7 |
| 157 | #define IPV6_HOPLIMIT 8 | 157 | #define IPV6_2292HOPLIMIT 8 |
| 158 | #define IPV6_NEXTHOP 9 | 158 | #define IPV6_NEXTHOP 9 |
| 159 | #define IPV6_AUTHHDR 10 /* obsolete */ | 159 | #define IPV6_AUTHHDR 10 /* obsolete */ |
| 160 | #define IPV6_FLOWINFO 11 | 160 | #define IPV6_FLOWINFO 11 |
| @@ -198,4 +198,28 @@ struct in6_flowlabel_req | |||
| 198 | * MCAST_MSFILTER 48 | 198 | * MCAST_MSFILTER 48 |
| 199 | */ | 199 | */ |
| 200 | 200 | ||
| 201 | /* RFC3542 advanced socket options (50-67) */ | ||
| 202 | #define IPV6_RECVPKTINFO 50 | ||
| 203 | #define IPV6_PKTINFO 51 | ||
| 204 | #if 0 | ||
| 205 | #define IPV6_RECVPATHMTU 52 | ||
| 206 | #define IPV6_PATHMTU 53 | ||
| 207 | #define IPV6_DONTFRAG 54 | ||
| 208 | #define IPV6_USE_MIN_MTU 55 | ||
| 209 | #endif | ||
| 210 | #define IPV6_RECVHOPOPTS 56 | ||
| 211 | #define IPV6_HOPOPTS 57 | ||
| 212 | #if 0 | ||
| 213 | #define IPV6_RECVRTHDRDSTOPTS 58 /* Unused, see net/ipv6/datagram.c */ | ||
| 214 | #endif | ||
| 215 | #define IPV6_RTHDRDSTOPTS 59 | ||
| 216 | #define IPV6_RECVRTHDR 60 | ||
| 217 | #define IPV6_RTHDR 61 | ||
| 218 | #define IPV6_RECVDSTOPTS 62 | ||
| 219 | #define IPV6_DSTOPTS 63 | ||
| 220 | #define IPV6_RECVHOPLIMIT 64 | ||
| 221 | #define IPV6_HOPLIMIT 65 | ||
| 222 | #define IPV6_RECVTCLASS 66 | ||
| 223 | #define IPV6_TCLASS 67 | ||
| 224 | |||
| 201 | #endif | 225 | #endif |
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h index 3c7dbc6a0a70..6c5f7b39a4b0 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h | |||
| @@ -189,6 +189,7 @@ struct inet6_skb_parm { | |||
| 189 | __u16 dst0; | 189 | __u16 dst0; |
| 190 | __u16 srcrt; | 190 | __u16 srcrt; |
| 191 | __u16 dst1; | 191 | __u16 dst1; |
| 192 | __u16 lastopt; | ||
| 192 | }; | 193 | }; |
| 193 | 194 | ||
| 194 | #define IP6CB(skb) ((struct inet6_skb_parm*)((skb)->cb)) | 195 | #define IP6CB(skb) ((struct inet6_skb_parm*)((skb)->cb)) |
| @@ -234,14 +235,20 @@ struct ipv6_pinfo { | |||
| 234 | /* pktoption flags */ | 235 | /* pktoption flags */ |
| 235 | union { | 236 | union { |
| 236 | struct { | 237 | struct { |
| 237 | __u8 srcrt:2, | 238 | __u16 srcrt:2, |
| 239 | osrcrt:2, | ||
| 238 | rxinfo:1, | 240 | rxinfo:1, |
| 241 | rxoinfo:1, | ||
| 239 | rxhlim:1, | 242 | rxhlim:1, |
| 243 | rxohlim:1, | ||
| 240 | hopopts:1, | 244 | hopopts:1, |
| 245 | ohopopts:1, | ||
| 241 | dstopts:1, | 246 | dstopts:1, |
| 242 | rxflow:1; | 247 | odstopts:1, |
| 248 | rxflow:1, | ||
| 249 | rxtclass:1; | ||
| 243 | } bits; | 250 | } bits; |
| 244 | __u8 all; | 251 | __u16 all; |
| 245 | } rxopt; | 252 | } rxopt; |
| 246 | 253 | ||
| 247 | /* sockopt flags */ | 254 | /* sockopt flags */ |
| @@ -250,6 +257,7 @@ struct ipv6_pinfo { | |||
| 250 | sndflow:1, | 257 | sndflow:1, |
| 251 | pmtudisc:2, | 258 | pmtudisc:2, |
| 252 | ipv6only:1; | 259 | ipv6only:1; |
| 260 | __u8 tclass; | ||
| 253 | 261 | ||
| 254 | __u32 dst_cookie; | 262 | __u32 dst_cookie; |
| 255 | 263 | ||
| @@ -263,6 +271,7 @@ struct ipv6_pinfo { | |||
| 263 | struct ipv6_txoptions *opt; | 271 | struct ipv6_txoptions *opt; |
| 264 | struct rt6_info *rt; | 272 | struct rt6_info *rt; |
| 265 | int hop_limit; | 273 | int hop_limit; |
| 274 | int tclass; | ||
| 266 | } cork; | 275 | } cork; |
| 267 | }; | 276 | }; |
| 268 | 277 | ||
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index da7da9c0ed1b..2741c0c55e83 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
| @@ -1167,7 +1167,7 @@ static inline void skb_postpull_rcsum(struct sk_buff *skb, | |||
| 1167 | 1167 | ||
| 1168 | static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len) | 1168 | static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len) |
| 1169 | { | 1169 | { |
| 1170 | if (len >= skb->len) | 1170 | if (likely(len >= skb->len)) |
| 1171 | return 0; | 1171 | return 0; |
| 1172 | if (skb->ip_summed == CHECKSUM_HW) | 1172 | if (skb->ip_summed == CHECKSUM_HW) |
| 1173 | skb->ip_summed = CHECKSUM_NONE; | 1173 | skb->ip_summed = CHECKSUM_NONE; |
diff --git a/include/net/ax25.h b/include/net/ax25.h index 364b046e9f47..227d3378decd 100644 --- a/include/net/ax25.h +++ b/include/net/ax25.h | |||
| @@ -258,7 +258,7 @@ extern struct sock *ax25_make_new(struct sock *, struct ax25_dev *); | |||
| 258 | /* ax25_addr.c */ | 258 | /* ax25_addr.c */ |
| 259 | extern ax25_address null_ax25_address; | 259 | extern ax25_address null_ax25_address; |
| 260 | extern char *ax2asc(char *buf, ax25_address *); | 260 | extern char *ax2asc(char *buf, ax25_address *); |
| 261 | extern ax25_address *asc2ax(char *); | 261 | extern void asc2ax(ax25_address *addr, char *callsign); |
| 262 | extern int ax25cmp(ax25_address *, ax25_address *); | 262 | extern int ax25cmp(ax25_address *, ax25_address *); |
| 263 | extern int ax25digicmp(ax25_digi *, ax25_digi *); | 263 | extern int ax25digicmp(ax25_digi *, ax25_digi *); |
| 264 | extern unsigned char *ax25_addr_parse(unsigned char *, int, ax25_address *, ax25_address *, ax25_digi *, int *, int *); | 264 | extern unsigned char *ax25_addr_parse(unsigned char *, int, ax25_address *, ax25_address *, ax25_digi *, int *, int *); |
diff --git a/include/net/compat.h b/include/net/compat.h index 482eb820f13a..290bab46d457 100644 --- a/include/net/compat.h +++ b/include/net/compat.h | |||
| @@ -33,7 +33,8 @@ extern asmlinkage long compat_sys_sendmsg(int,struct compat_msghdr __user *,unsi | |||
| 33 | extern asmlinkage long compat_sys_recvmsg(int,struct compat_msghdr __user *,unsigned); | 33 | extern asmlinkage long compat_sys_recvmsg(int,struct compat_msghdr __user *,unsigned); |
| 34 | extern asmlinkage long compat_sys_getsockopt(int, int, int, char __user *, int __user *); | 34 | extern asmlinkage long compat_sys_getsockopt(int, int, int, char __user *, int __user *); |
| 35 | extern int put_cmsg_compat(struct msghdr*, int, int, int, void *); | 35 | extern int put_cmsg_compat(struct msghdr*, int, int, int, void *); |
| 36 | extern int cmsghdr_from_user_compat_to_kern(struct msghdr *, struct sock *, unsigned char *, | 36 | |
| 37 | int); | 37 | struct sock; |
| 38 | extern int cmsghdr_from_user_compat_to_kern(struct msghdr *, struct sock *, unsigned char *, int); | ||
| 38 | 39 | ||
| 39 | #endif /* NET_COMPAT_H */ | 40 | #endif /* NET_COMPAT_H */ |
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index 3203eaff4bd4..65ec86678a08 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h | |||
| @@ -233,6 +233,10 @@ extern int ip6_ra_control(struct sock *sk, int sel, | |||
| 233 | extern int ipv6_parse_hopopts(struct sk_buff *skb, int); | 233 | extern int ipv6_parse_hopopts(struct sk_buff *skb, int); |
| 234 | 234 | ||
| 235 | extern struct ipv6_txoptions * ipv6_dup_options(struct sock *sk, struct ipv6_txoptions *opt); | 235 | extern struct ipv6_txoptions * ipv6_dup_options(struct sock *sk, struct ipv6_txoptions *opt); |
| 236 | extern struct ipv6_txoptions * ipv6_renew_options(struct sock *sk, struct ipv6_txoptions *opt, | ||
| 237 | int newtype, | ||
| 238 | struct ipv6_opt_hdr __user *newopt, | ||
| 239 | int newoptlen); | ||
| 236 | 240 | ||
| 237 | extern int ip6_frag_nqueues; | 241 | extern int ip6_frag_nqueues; |
| 238 | extern atomic_t ip6_frag_mem; | 242 | extern atomic_t ip6_frag_mem; |
| @@ -373,6 +377,7 @@ extern int ip6_append_data(struct sock *sk, | |||
| 373 | int length, | 377 | int length, |
| 374 | int transhdrlen, | 378 | int transhdrlen, |
| 375 | int hlimit, | 379 | int hlimit, |
| 380 | int tclass, | ||
| 376 | struct ipv6_txoptions *opt, | 381 | struct ipv6_txoptions *opt, |
| 377 | struct flowi *fl, | 382 | struct flowi *fl, |
| 378 | struct rt6_info *rt, | 383 | struct rt6_info *rt, |
diff --git a/include/net/transp_v6.h b/include/net/transp_v6.h index 8b075ab7a26c..4e86f2de6638 100644 --- a/include/net/transp_v6.h +++ b/include/net/transp_v6.h | |||
| @@ -37,7 +37,7 @@ extern int datagram_recv_ctl(struct sock *sk, | |||
