Commit 9ffc7a0ebfcace0ed3eb77fb77e159f6f9443ec5
Exists in
master
and in
39 other branches
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Showing 84 changed files Side-by-side Diff
- arch/alpha/Kconfig
- arch/arm/Kconfig
- arch/arm26/Kconfig
- arch/cris/Kconfig
- arch/frv/Kconfig
- arch/h8300/Kconfig
- arch/i386/Kconfig
- arch/ia64/Kconfig
- arch/m32r/Kconfig
- arch/m68k/Kconfig
- arch/m68knommu/Kconfig
- arch/mips/Kconfig
- arch/parisc/Kconfig
- arch/ppc/Kconfig
- arch/ppc64/Kconfig
- arch/s390/Kconfig
- arch/sh/Kconfig
- arch/sh64/Kconfig
- arch/sparc/Kconfig
- arch/sparc64/Kconfig
- arch/um/Kconfig
- arch/v850/Kconfig
- arch/x86_64/Kconfig
- arch/xtensa/Kconfig
- drivers/Kconfig
- drivers/net/Kconfig
- drivers/net/appletalk/Kconfig
- drivers/net/myri_sbus.c
- drivers/net/plip.c
- drivers/net/wan/farsync.c
- drivers/net/wan/hdlc_cisco.c
- drivers/net/wan/hdlc_ppp.c
- drivers/net/wan/hdlc_raw.c
- drivers/s390/net/qeth_main.c
- include/linux/etherdevice.h
- include/linux/fddidevice.h
- include/linux/hdlc.h
- include/linux/netlink.h
- include/linux/wanrouter.h
- include/net/sctp/sctp.h
- include/net/sctp/sm.h
- include/net/sctp/structs.h
- include/net/sctp/ulpevent.h
- include/net/sctp/ulpqueue.h
- include/net/x25device.h
- net/802/fddi.c
- net/8021q/Kconfig
- net/8021q/vlan.c
- net/Kconfig
- net/atm/Kconfig
- net/atm/br2684.c
- net/bridge/Kconfig
- net/decnet/Kconfig
- net/econet/Kconfig
- net/ethernet/eth.c
- net/ipv4/Kconfig
- net/ipv4/ip_output.c
- net/ipv4/ipvs/Kconfig
- net/ipv4/ipvs/ip_vs_conn.c
- net/ipv4/ipvs/ip_vs_ctl.c
- net/ipv4/netfilter/ip_conntrack_standalone.c
- net/ipv4/route.c
- net/ipv6/Kconfig
- net/ipx/Kconfig
- net/lapb/Kconfig
- net/packet/Kconfig
- net/packet/af_packet.c
- net/sched/Kconfig
- net/sctp/associola.c
- net/sctp/bind_addr.c
- net/sctp/chunk.c
- net/sctp/endpointola.c
- net/sctp/protocol.c
- net/sctp/sm_make_chunk.c
- net/sctp/sm_sideeffect.c
- net/sctp/ssnmap.c
- net/sctp/transport.c
- net/sctp/ulpevent.c
- net/sctp/ulpqueue.c
- net/unix/Kconfig
- net/wanrouter/Kconfig
- net/wanrouter/wanmain.c
- net/x25/Kconfig
- net/xfrm/Kconfig
arch/alpha/Kconfig
arch/arm/Kconfig
... | ... | @@ -700,6 +700,8 @@ |
700 | 700 | |
701 | 701 | endmenu |
702 | 702 | |
703 | +source "net/Kconfig" | |
704 | + | |
703 | 705 | menu "Device Drivers" |
704 | 706 | |
705 | 707 | source "drivers/base/Kconfig" |
... | ... | @@ -732,7 +734,7 @@ |
732 | 734 | |
733 | 735 | source "drivers/message/i2o/Kconfig" |
734 | 736 | |
735 | -source "net/Kconfig" | |
737 | +source "drivers/net/Kconfig" | |
736 | 738 | |
737 | 739 | source "drivers/isdn/Kconfig" |
738 | 740 |
arch/arm26/Kconfig
... | ... | @@ -183,6 +183,8 @@ |
183 | 183 | |
184 | 184 | endmenu |
185 | 185 | |
186 | +source "net/Kconfig" | |
187 | + | |
186 | 188 | source "drivers/base/Kconfig" |
187 | 189 | |
188 | 190 | source "drivers/parport/Kconfig" |
... | ... | @@ -193,7 +195,7 @@ |
193 | 195 | |
194 | 196 | source "drivers/md/Kconfig" |
195 | 197 | |
196 | -source "net/Kconfig" | |
198 | +source "drivers/net/Kconfig" | |
197 | 199 | |
198 | 200 | source "drivers/ide/Kconfig" |
199 | 201 |
arch/cris/Kconfig
... | ... | @@ -122,6 +122,8 @@ |
122 | 122 | |
123 | 123 | endmenu |
124 | 124 | |
125 | +source "net/Kconfig" | |
126 | + | |
125 | 127 | # bring in ETRAX built-in drivers |
126 | 128 | menu "Drivers for built-in interfaces" |
127 | 129 | source arch/cris/arch-v10/drivers/Kconfig |
... | ... | @@ -149,7 +151,7 @@ |
149 | 151 | |
150 | 152 | source "drivers/message/i2o/Kconfig" |
151 | 153 | |
152 | -source "net/Kconfig" | |
154 | +source "drivers/net/Kconfig" | |
153 | 155 | |
154 | 156 | source "drivers/isdn/Kconfig" |
155 | 157 |
arch/frv/Kconfig
arch/h8300/Kconfig
... | ... | @@ -55,6 +55,8 @@ |
55 | 55 | |
56 | 56 | endmenu |
57 | 57 | |
58 | +source "net/Kconfig" | |
59 | + | |
58 | 60 | source "drivers/base/Kconfig" |
59 | 61 | |
60 | 62 | source "drivers/mtd/Kconfig" |
... | ... | @@ -65,7 +67,7 @@ |
65 | 67 | |
66 | 68 | source "arch/h8300/Kconfig.ide" |
67 | 69 | |
68 | -source "net/Kconfig" | |
70 | +source "drivers/net/Kconfig" | |
69 | 71 | |
70 | 72 | # |
71 | 73 | # input - input/joystick depends on it. As does USB. |
arch/i386/Kconfig
arch/ia64/Kconfig
arch/m32r/Kconfig
arch/m68k/Kconfig
arch/m68knommu/Kconfig
arch/mips/Kconfig
arch/parisc/Kconfig
arch/ppc/Kconfig
arch/ppc64/Kconfig
arch/s390/Kconfig
... | ... | @@ -465,6 +465,8 @@ |
465 | 465 | |
466 | 466 | endmenu |
467 | 467 | |
468 | +source "net/Kconfig" | |
469 | + | |
468 | 470 | config PCMCIA |
469 | 471 | bool |
470 | 472 | default n |
... | ... | @@ -475,7 +477,7 @@ |
475 | 477 | |
476 | 478 | source "drivers/s390/Kconfig" |
477 | 479 | |
478 | -source "net/Kconfig" | |
480 | +source "drivers/net/Kconfig" | |
479 | 481 | |
480 | 482 | source "fs/Kconfig" |
481 | 483 |
arch/sh/Kconfig
arch/sh64/Kconfig
arch/sparc/Kconfig
arch/sparc64/Kconfig
... | ... | @@ -525,6 +525,8 @@ |
525 | 525 | |
526 | 526 | endmenu |
527 | 527 | |
528 | +source "net/Kconfig" | |
529 | + | |
528 | 530 | source "drivers/base/Kconfig" |
529 | 531 | |
530 | 532 | source "drivers/video/Kconfig" |
... | ... | @@ -551,7 +553,7 @@ |
551 | 553 | |
552 | 554 | source "drivers/ieee1394/Kconfig" |
553 | 555 | |
554 | -source "net/Kconfig" | |
556 | +source "drivers/net/Kconfig" | |
555 | 557 | |
556 | 558 | source "drivers/isdn/Kconfig" |
557 | 559 |
arch/um/Kconfig
... | ... | @@ -275,6 +275,8 @@ |
275 | 275 | |
276 | 276 | source "init/Kconfig" |
277 | 277 | |
278 | +source "net/Kconfig" | |
279 | + | |
278 | 280 | source "drivers/base/Kconfig" |
279 | 281 | |
280 | 282 | source "arch/um/Kconfig_char" |
... | ... | @@ -287,7 +289,7 @@ |
287 | 289 | |
288 | 290 | source "arch/um/Kconfig_net" |
289 | 291 | |
290 | -source "net/Kconfig" | |
292 | +source "drivers/net/Kconfig" | |
291 | 293 | |
292 | 294 | source "fs/Kconfig" |
293 | 295 |
arch/v850/Kconfig
... | ... | @@ -250,6 +250,8 @@ |
250 | 250 | |
251 | 251 | endmenu |
252 | 252 | |
253 | +source "net/Kconfig" | |
254 | + | |
253 | 255 | ############################################################################# |
254 | 256 | |
255 | 257 | source "drivers/base/Kconfig" |
... | ... | @@ -283,7 +285,7 @@ |
283 | 285 | |
284 | 286 | source "drivers/message/i2o/Kconfig" |
285 | 287 | |
286 | -source "net/Kconfig" | |
288 | +source "drivers/net/Kconfig" | |
287 | 289 | |
288 | 290 | source "drivers/isdn/Kconfig" |
289 | 291 |
arch/x86_64/Kconfig
arch/xtensa/Kconfig
drivers/Kconfig
drivers/net/Kconfig
... | ... | @@ -3,6 +3,8 @@ |
3 | 3 | # Network device configuration |
4 | 4 | # |
5 | 5 | |
6 | +menu "Network device support" | |
7 | + | |
6 | 8 | config NETDEVICES |
7 | 9 | depends on NET |
8 | 10 | bool "Network device support" |
... | ... | @@ -2546,4 +2548,6 @@ |
2546 | 2548 | ---help--- |
2547 | 2549 | If you want to log kernel messages over the network, enable this. |
2548 | 2550 | See <file:Documentation/networking/netconsole.txt> for details. |
2551 | + | |
2552 | +endmenu |
drivers/net/appletalk/Kconfig
1 | 1 | # |
2 | 2 | # Appletalk driver configuration |
3 | 3 | # |
4 | +config ATALK | |
5 | + tristate "Appletalk protocol support" | |
6 | + select LLC | |
7 | + ---help--- | |
8 | + AppleTalk is the protocol that Apple computers can use to communicate | |
9 | + on a network. If your Linux box is connected to such a network and you | |
10 | + wish to connect to it, say Y. You will need to use the netatalk package | |
11 | + so that your Linux box can act as a print and file server for Macs as | |
12 | + well as access AppleTalk printers. Check out | |
13 | + <http://www.zettabyte.net/netatalk/> on the WWW for details. | |
14 | + EtherTalk is the name used for AppleTalk over Ethernet and the | |
15 | + cheaper and slower LocalTalk is AppleTalk over a proprietary Apple | |
16 | + network using serial links. EtherTalk and LocalTalk are fully | |
17 | + supported by Linux. | |
18 | + | |
19 | + General information about how to connect Linux, Windows machines and | |
20 | + Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>. The | |
21 | + NET-3-HOWTO, available from | |
22 | + <http://www.tldp.org/docs.html#howto>, contains valuable | |
23 | + information as well. | |
24 | + | |
25 | + To compile this driver as a module, choose M here: the module will be | |
26 | + called appletalk. You almost certainly want to compile it as a | |
27 | + module so you can restart your AppleTalk stack without rebooting | |
28 | + your machine. I hear that the GNU boycott of Apple is over, so | |
29 | + even politically correct people are allowed to say Y here. | |
30 | + | |
4 | 31 | config DEV_APPLETALK |
5 | 32 | bool "Appletalk interfaces support" |
6 | 33 | depends on ATALK |
drivers/net/myri_sbus.c
... | ... | @@ -369,7 +369,7 @@ |
369 | 369 | * assume 802.3 if the type field is short enough to be a length. |
370 | 370 | * This is normal practice and works for any 'now in use' protocol. |
371 | 371 | */ |
372 | -static unsigned short myri_type_trans(struct sk_buff *skb, struct net_device *dev) | |
372 | +static __be16 myri_type_trans(struct sk_buff *skb, struct net_device *dev) | |
373 | 373 | { |
374 | 374 | struct ethhdr *eth; |
375 | 375 | unsigned char *rawp; |
drivers/net/plip.c
... | ... | @@ -540,7 +540,7 @@ |
540 | 540 | * in far too many old systems not all even running Linux. |
541 | 541 | */ |
542 | 542 | |
543 | -static unsigned short plip_type_trans(struct sk_buff *skb, struct net_device *dev) | |
543 | +static __be16 plip_type_trans(struct sk_buff *skb, struct net_device *dev) | |
544 | 544 | { |
545 | 545 | struct ethhdr *eth; |
546 | 546 | unsigned char *rawp; |
drivers/net/wan/farsync.c
... | ... | @@ -861,8 +861,7 @@ |
861 | 861 | /* |
862 | 862 | * Mark it for our own raw sockets interface |
863 | 863 | */ |
864 | -static unsigned short farsync_type_trans(struct sk_buff *skb, | |
865 | - struct net_device *dev) | |
864 | +static __be16 farsync_type_trans(struct sk_buff *skb, struct net_device *dev) | |
866 | 865 | { |
867 | 866 | skb->dev = dev; |
868 | 867 | skb->mac.raw = skb->data; |
drivers/net/wan/hdlc_cisco.c
drivers/net/wan/hdlc_ppp.c
drivers/net/wan/hdlc_raw.c
drivers/s390/net/qeth_main.c
include/linux/etherdevice.h
... | ... | @@ -33,7 +33,7 @@ |
33 | 33 | unsigned short type, void *daddr, |
34 | 34 | void *saddr, unsigned len); |
35 | 35 | extern int eth_rebuild_header(struct sk_buff *skb); |
36 | -extern unsigned short eth_type_trans(struct sk_buff *skb, struct net_device *dev); | |
36 | +extern __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev); | |
37 | 37 | extern void eth_header_cache_update(struct hh_cache *hh, struct net_device *dev, |
38 | 38 | unsigned char * haddr); |
39 | 39 | extern int eth_header_cache(struct neighbour *neigh, |
include/linux/fddidevice.h
... | ... | @@ -25,7 +25,7 @@ |
25 | 25 | #include <linux/if_fddi.h> |
26 | 26 | |
27 | 27 | #ifdef __KERNEL__ |
28 | -extern unsigned short fddi_type_trans(struct sk_buff *skb, | |
28 | +extern __be16 fddi_type_trans(struct sk_buff *skb, | |
29 | 29 | struct net_device *dev); |
30 | 30 | extern struct net_device *alloc_fddidev(int sizeof_priv); |
31 | 31 | #endif |
include/linux/hdlc.h
... | ... | @@ -242,8 +242,8 @@ |
242 | 242 | } |
243 | 243 | |
244 | 244 | |
245 | -static __inline__ unsigned short hdlc_type_trans(struct sk_buff *skb, | |
246 | - struct net_device *dev) | |
245 | +static __inline__ __be16 hdlc_type_trans(struct sk_buff *skb, | |
246 | + struct net_device *dev) | |
247 | 247 | { |
248 | 248 | hdlc_device *hdlc = dev_to_hdlc(dev); |
249 | 249 |
include/linux/netlink.h
... | ... | @@ -16,6 +16,7 @@ |
16 | 16 | #define NETLINK_AUDIT 9 /* auditing */ |
17 | 17 | #define NETLINK_FIB_LOOKUP 10 |
18 | 18 | #define NETLINK_ROUTE6 11 /* af_inet6 route comm channel */ |
19 | +#define NETLINK_NETFILTER 12 /* netfilter subsystem */ | |
19 | 20 | #define NETLINK_IP6_FW 13 |
20 | 21 | #define NETLINK_DNRTMSG 14 /* DECnet routing messages */ |
21 | 22 | #define NETLINK_KOBJECT_UEVENT 15 /* Kernel messages to userspace */ |
include/linux/wanrouter.h
... | ... | @@ -516,8 +516,7 @@ |
516 | 516 | /* Public functions available for device drivers */ |
517 | 517 | extern int register_wan_device(struct wan_device *wandev); |
518 | 518 | extern int unregister_wan_device(char *name); |
519 | -unsigned short wanrouter_type_trans(struct sk_buff *skb, | |
520 | - struct net_device *dev); | |
519 | +__be16 wanrouter_type_trans(struct sk_buff *skb, struct net_device *dev); | |
521 | 520 | int wanrouter_encapsulate(struct sk_buff *skb, struct net_device *dev, |
522 | 521 | unsigned short type); |
523 | 522 |
include/net/sctp/sctp.h
... | ... | @@ -125,7 +125,8 @@ |
125 | 125 | */ |
126 | 126 | extern struct sock *sctp_get_ctl_sock(void); |
127 | 127 | extern int sctp_copy_local_addr_list(struct sctp_bind_addr *, |
128 | - sctp_scope_t, int gfp, int flags); | |
128 | + sctp_scope_t, unsigned int __nocast gfp, | |
129 | + int flags); | |
129 | 130 | extern struct sctp_pf *sctp_get_pf_specific(sa_family_t family); |
130 | 131 | extern int sctp_register_pf(struct sctp_pf *, sa_family_t); |
131 | 132 |
include/net/sctp/sm.h
... | ... | @@ -181,17 +181,17 @@ |
181 | 181 | int sctp_chunk_iif(const struct sctp_chunk *); |
182 | 182 | struct sctp_association *sctp_make_temp_asoc(const struct sctp_endpoint *, |
183 | 183 | struct sctp_chunk *, |
184 | - int gfp); | |
184 | + unsigned int __nocast gfp); | |
185 | 185 | __u32 sctp_generate_verification_tag(void); |
186 | 186 | void sctp_populate_tie_tags(__u8 *cookie, __u32 curTag, __u32 hisTag); |
187 | 187 | |
188 | 188 | /* Prototypes for chunk-building functions. */ |
189 | 189 | struct sctp_chunk *sctp_make_init(const struct sctp_association *, |
190 | 190 | const struct sctp_bind_addr *, |
191 | - int gfp, int vparam_len); | |
191 | + unsigned int __nocast gfp, int vparam_len); | |
192 | 192 | struct sctp_chunk *sctp_make_init_ack(const struct sctp_association *, |
193 | 193 | const struct sctp_chunk *, |
194 | - const int gfp, | |
194 | + const unsigned int __nocast gfp, | |
195 | 195 | const int unkparam_len); |
196 | 196 | struct sctp_chunk *sctp_make_cookie_echo(const struct sctp_association *, |
197 | 197 | const struct sctp_chunk *); |
... | ... | @@ -265,7 +265,7 @@ |
265 | 265 | struct sctp_endpoint *, |
266 | 266 | struct sctp_association *asoc, |
267 | 267 | void *event_arg, |
268 | - int gfp); | |
268 | + unsigned int __nocast gfp); | |
269 | 269 | |
270 | 270 | /* 2nd level prototypes */ |
271 | 271 | void sctp_generate_t3_rtx_event(unsigned long peer); |
... | ... | @@ -275,7 +275,8 @@ |
275 | 275 | |
276 | 276 | struct sctp_association *sctp_unpack_cookie(const struct sctp_endpoint *, |
277 | 277 | const struct sctp_association *, |
278 | - struct sctp_chunk *, int gfp, int *err, | |
278 | + struct sctp_chunk *, | |
279 | + unsigned int __nocast gfp, int *err, | |
279 | 280 | struct sctp_chunk **err_chk_p); |
280 | 281 | int sctp_addip_addr_config(struct sctp_association *, sctp_param_t, |
281 | 282 | struct sockaddr_storage*, int); |
include/net/sctp/structs.h
... | ... | @@ -445,7 +445,8 @@ |
445 | 445 | int malloced; |
446 | 446 | }; |
447 | 447 | |
448 | -struct sctp_ssnmap *sctp_ssnmap_new(__u16 in, __u16 out, int gfp); | |
448 | +struct sctp_ssnmap *sctp_ssnmap_new(__u16 in, __u16 out, | |
449 | + unsigned int __nocast gfp); | |
449 | 450 | void sctp_ssnmap_free(struct sctp_ssnmap *map); |
450 | 451 | void sctp_ssnmap_clear(struct sctp_ssnmap *map); |
451 | 452 | |
... | ... | @@ -945,7 +946,8 @@ |
945 | 946 | } cacc; |
946 | 947 | }; |
947 | 948 | |
948 | -struct sctp_transport *sctp_transport_new(const union sctp_addr *, int); | |
949 | +struct sctp_transport *sctp_transport_new(const union sctp_addr *, | |
950 | + unsigned int __nocast); | |
949 | 951 | void sctp_transport_set_owner(struct sctp_transport *, |
950 | 952 | struct sctp_association *); |
951 | 953 | void sctp_transport_route(struct sctp_transport *, union sctp_addr *, |
952 | 954 | |
... | ... | @@ -1093,9 +1095,10 @@ |
1093 | 1095 | void sctp_bind_addr_free(struct sctp_bind_addr *); |
1094 | 1096 | int sctp_bind_addr_copy(struct sctp_bind_addr *dest, |
1095 | 1097 | const struct sctp_bind_addr *src, |
1096 | - sctp_scope_t scope, int gfp,int flags); | |
1098 | + sctp_scope_t scope, unsigned int __nocast gfp, | |
1099 | + int flags); | |
1097 | 1100 | int sctp_add_bind_addr(struct sctp_bind_addr *, union sctp_addr *, |
1098 | - int gfp); | |
1101 | + unsigned int __nocast gfp); | |
1099 | 1102 | int sctp_del_bind_addr(struct sctp_bind_addr *, union sctp_addr *); |
1100 | 1103 | int sctp_bind_addr_match(struct sctp_bind_addr *, const union sctp_addr *, |
1101 | 1104 | struct sctp_sock *); |
1102 | 1105 | |
... | ... | @@ -1104,9 +1107,10 @@ |
1104 | 1107 | int addrcnt, |
1105 | 1108 | struct sctp_sock *opt); |
1106 | 1109 | union sctp_params sctp_bind_addrs_to_raw(const struct sctp_bind_addr *bp, |
1107 | - int *addrs_len, int gfp); | |
1110 | + int *addrs_len, | |
1111 | + unsigned int __nocast gfp); | |
1108 | 1112 | int sctp_raw_to_bind_addrs(struct sctp_bind_addr *bp, __u8 *raw, int len, |
1109 | - __u16 port, int gfp); | |
1113 | + __u16 port, unsigned int __nocast gfp); | |
1110 | 1114 | |
1111 | 1115 | sctp_scope_t sctp_scope(const union sctp_addr *); |
1112 | 1116 | int sctp_in_scope(const union sctp_addr *addr, const sctp_scope_t scope); |
... | ... | @@ -1235,7 +1239,7 @@ |
1235 | 1239 | } |
1236 | 1240 | |
1237 | 1241 | /* These are function signatures for manipulating endpoints. */ |
1238 | -struct sctp_endpoint *sctp_endpoint_new(struct sock *, int); | |
1242 | +struct sctp_endpoint *sctp_endpoint_new(struct sock *, unsigned int __nocast); | |
1239 | 1243 | void sctp_endpoint_free(struct sctp_endpoint *); |
1240 | 1244 | void sctp_endpoint_put(struct sctp_endpoint *); |
1241 | 1245 | void sctp_endpoint_hold(struct sctp_endpoint *); |
... | ... | @@ -1256,7 +1260,7 @@ |
1256 | 1260 | struct sctp_chunk **err_chunk); |
1257 | 1261 | int sctp_process_init(struct sctp_association *, sctp_cid_t cid, |
1258 | 1262 | const union sctp_addr *peer, |
1259 | - sctp_init_chunk_t *init, int gfp); | |
1263 | + sctp_init_chunk_t *init, unsigned int __nocast gfp); | |
1260 | 1264 | __u32 sctp_generate_tag(const struct sctp_endpoint *); |
1261 | 1265 | __u32 sctp_generate_tsn(const struct sctp_endpoint *); |
1262 | 1266 | |
... | ... | @@ -1719,7 +1723,7 @@ |
1719 | 1723 | |
1720 | 1724 | struct sctp_association * |
1721 | 1725 | sctp_association_new(const struct sctp_endpoint *, const struct sock *, |
1722 | - sctp_scope_t scope, int gfp); | |
1726 | + sctp_scope_t scope, unsigned int __nocast gfp); | |
1723 | 1727 | void sctp_association_free(struct sctp_association *); |
1724 | 1728 | void sctp_association_put(struct sctp_association *); |
1725 | 1729 | void sctp_association_hold(struct sctp_association *); |
... | ... | @@ -1735,7 +1739,7 @@ |
1735 | 1739 | const union sctp_addr *laddr); |
1736 | 1740 | struct sctp_transport *sctp_assoc_add_peer(struct sctp_association *, |
1737 | 1741 | const union sctp_addr *address, |
1738 | - const int gfp, | |
1742 | + const unsigned int __nocast gfp, | |
1739 | 1743 | const int peer_state); |
1740 | 1744 | void sctp_assoc_del_peer(struct sctp_association *asoc, |
1741 | 1745 | const union sctp_addr *addr); |
1742 | 1746 | |
... | ... | @@ -1759,9 +1763,11 @@ |
1759 | 1763 | void sctp_assoc_rwnd_decrease(struct sctp_association *, unsigned); |
1760 | 1764 | void sctp_assoc_set_primary(struct sctp_association *, |
1761 | 1765 | struct sctp_transport *); |
1762 | -int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *, int); | |
1766 | +int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *, | |
1767 | + unsigned int __nocast); | |
1763 | 1768 | int sctp_assoc_set_bind_addr_from_cookie(struct sctp_association *, |
1764 | - struct sctp_cookie*, int gfp); | |
1769 | + struct sctp_cookie*, | |
1770 | + unsigned int __nocast gfp); | |
1765 | 1771 | |
1766 | 1772 | int sctp_cmp_addr_exact(const union sctp_addr *ss1, |
1767 | 1773 | const union sctp_addr *ss2); |
include/net/sctp/ulpevent.h
... | ... | @@ -88,7 +88,7 @@ |
88 | 88 | __u16 error, |
89 | 89 | __u16 outbound, |
90 | 90 | __u16 inbound, |
91 | - int gfp); | |
91 | + unsigned int __nocast gfp); | |
92 | 92 | |
93 | 93 | struct sctp_ulpevent *sctp_ulpevent_make_peer_addr_change( |
94 | 94 | const struct sctp_association *asoc, |
95 | 95 | |
96 | 96 | |
97 | 97 | |
98 | 98 | |
99 | 99 | |
100 | 100 | |
... | ... | @@ -96,35 +96,35 @@ |
96 | 96 | int flags, |
97 | 97 | int state, |
98 | 98 | int error, |
99 | - int gfp); | |
99 | + unsigned int __nocast gfp); | |
100 | 100 | |
101 | 101 | struct sctp_ulpevent *sctp_ulpevent_make_remote_error( |
102 | 102 | const struct sctp_association *asoc, |
103 | 103 | struct sctp_chunk *chunk, |
104 | 104 | __u16 flags, |
105 | - int gfp); | |
105 | + unsigned int __nocast gfp); | |
106 | 106 | struct sctp_ulpevent *sctp_ulpevent_make_send_failed( |
107 | 107 | const struct sctp_association *asoc, |
108 | 108 | struct sctp_chunk *chunk, |
109 | 109 | __u16 flags, |
110 | 110 | __u32 error, |
111 | - int gfp); | |
111 | + unsigned int __nocast gfp); | |
112 | 112 | |
113 | 113 | struct sctp_ulpevent *sctp_ulpevent_make_shutdown_event( |
114 | 114 | const struct sctp_association *asoc, |
115 | 115 | __u16 flags, |
116 | - int gfp); | |
116 | + unsigned int __nocast gfp); | |
117 | 117 | |
118 | 118 | struct sctp_ulpevent *sctp_ulpevent_make_pdapi( |
119 | 119 | const struct sctp_association *asoc, |
120 | - __u32 indication, int gfp); | |
120 | + __u32 indication, unsigned int __nocast gfp); | |
121 | 121 | |
122 | 122 | struct sctp_ulpevent *sctp_ulpevent_make_adaption_indication( |
123 | - const struct sctp_association *asoc, int gfp); | |
123 | + const struct sctp_association *asoc, unsigned int __nocast gfp); | |
124 | 124 | |
125 | 125 | struct sctp_ulpevent *sctp_ulpevent_make_rcvmsg(struct sctp_association *asoc, |
126 | 126 | struct sctp_chunk *chunk, |
127 | - int gfp); | |
127 | + unsigned int __nocast gfp); | |
128 | 128 | |
129 | 129 | void sctp_ulpevent_read_sndrcvinfo(const struct sctp_ulpevent *event, |
130 | 130 | struct msghdr *); |
include/net/sctp/ulpqueue.h
... | ... | @@ -62,19 +62,22 @@ |
62 | 62 | void sctp_ulpq_free(struct sctp_ulpq *); |
63 | 63 | |
64 | 64 | /* Add a new DATA chunk for processing. */ |
65 | -int sctp_ulpq_tail_data(struct sctp_ulpq *, struct sctp_chunk *, int); | |
65 | +int sctp_ulpq_tail_data(struct sctp_ulpq *, struct sctp_chunk *, | |
66 | + unsigned int __nocast); | |
66 | 67 | |
67 | 68 | /* Add a new event for propagation to the ULP. */ |
68 | 69 | int sctp_ulpq_tail_event(struct sctp_ulpq *, struct sctp_ulpevent *ev); |
69 | 70 | |
70 | 71 | /* Renege previously received chunks. */ |
71 | -void sctp_ulpq_renege(struct sctp_ulpq *, struct sctp_chunk *, int); | |
72 | +void sctp_ulpq_renege(struct sctp_ulpq *, struct sctp_chunk *, | |
73 | + unsigned int __nocast); | |
72 | 74 | |
73 | 75 | /* Perform partial delivery. */ |
74 | -void sctp_ulpq_partial_delivery(struct sctp_ulpq *, struct sctp_chunk *, int); | |
76 | +void sctp_ulpq_partial_delivery(struct sctp_ulpq *, struct sctp_chunk *, | |
77 | + unsigned int __nocast); | |
75 | 78 | |
76 | 79 | /* Abort the partial delivery. */ |
77 | -void sctp_ulpq_abort_pd(struct sctp_ulpq *, int); | |
80 | +void sctp_ulpq_abort_pd(struct sctp_ulpq *, unsigned int __nocast); | |
78 | 81 | |
79 | 82 | /* Clear the partial data delivery condition on this socket. */ |
80 | 83 | int sctp_clear_pd(struct sock *sk); |
include/net/x25device.h
... | ... | @@ -5,8 +5,7 @@ |
5 | 5 | #include <linux/if_packet.h> |
6 | 6 | #include <linux/skbuff.h> |
7 | 7 | |
8 | -static inline unsigned short x25_type_trans(struct sk_buff *skb, | |
9 | - struct net_device *dev) | |
8 | +static inline __be16 x25_type_trans(struct sk_buff *skb, struct net_device *dev) | |
10 | 9 | { |
11 | 10 | skb->mac.raw = skb->data; |
12 | 11 | skb->input_dev = skb->dev = dev; |
net/802/fddi.c
... | ... | @@ -122,10 +122,10 @@ |
122 | 122 | * the proper pointer to the start of packet data (skb->data). |
123 | 123 | */ |
124 | 124 | |
125 | -unsigned short fddi_type_trans(struct sk_buff *skb, struct net_device *dev) | |
125 | +__be16 fddi_type_trans(struct sk_buff *skb, struct net_device *dev) | |
126 | 126 | { |
127 | 127 | struct fddihdr *fddi = (struct fddihdr *)skb->data; |
128 | - unsigned short type; | |
128 | + __be16 type; | |
129 | 129 | |
130 | 130 | /* |
131 | 131 | * Set mac.raw field to point to FC byte, set data field to point |
net/8021q/Kconfig
1 | +# | |
2 | +# Configuration for 802.1Q VLAN support | |
3 | +# | |
4 | + | |
5 | +config VLAN_8021Q | |
6 | + tristate "802.1Q VLAN Support" | |
7 | + ---help--- | |
8 | + Select this and you will be able to create 802.1Q VLAN interfaces | |
9 | + on your ethernet interfaces. 802.1Q VLAN supports almost | |
10 | + everything a regular ethernet interface does, including | |
11 | + firewalling, bridging, and of course IP traffic. You will need | |
12 | + the 'vconfig' tool from the VLAN project in order to effectively | |
13 | + use VLANs. See the VLAN web page for more information: | |
14 | + <http://www.candelatech.com/~greear/vlan.html> | |
15 | + | |
16 | + To compile this code as a module, choose M here: the module | |
17 | + will be called 8021q. | |
18 | + | |
19 | + If unsure, say N. |
net/8021q/vlan.c
... | ... | @@ -578,6 +578,14 @@ |
578 | 578 | if (!vlandev) |
579 | 579 | continue; |
580 | 580 | |
581 | + if (netif_carrier_ok(dev)) { | |
582 | + if (!netif_carrier_ok(vlandev)) | |
583 | + netif_carrier_on(vlandev); | |
584 | + } else { | |
585 | + if (netif_carrier_ok(vlandev)) | |
586 | + netif_carrier_off(vlandev); | |
587 | + } | |
588 | + | |
581 | 589 | if ((vlandev->state & VLAN_LINK_STATE_MASK) != flgs) { |
582 | 590 | vlandev->state = (vlandev->state &~ VLAN_LINK_STATE_MASK) |
583 | 591 | | flgs; |
net/Kconfig
... | ... | @@ -2,7 +2,7 @@ |
2 | 2 | # Network configuration |
3 | 3 | # |
4 | 4 | |
5 | -menu "Networking support" | |
5 | +menu "Networking" | |
6 | 6 | |
7 | 7 | config NET |
8 | 8 | bool "Networking support" |
... | ... | @@ -10,7 +10,9 @@ |
10 | 10 | Unless you really know what you are doing, you should say Y here. |
11 | 11 | The reason is that some programs need kernel networking support even |
12 | 12 | when running on a stand-alone machine that isn't connected to any |
13 | - other computer. If you are upgrading from an older kernel, you | |
13 | + other computer. | |
14 | + | |
15 | + If you are upgrading from an older kernel, you | |
14 | 16 | should consider updating your networking tools too because changes |
15 | 17 | in the kernel and the tools often go hand in hand. The tools are |
16 | 18 | contained in the package net-tools, the location and version number |
17 | 19 | |
18 | 20 | |
19 | 21 | |
... | ... | @@ -20,58 +22,15 @@ |
20 | 22 | recommended to read the NET-HOWTO, available from |
21 | 23 | <http://www.tldp.org/docs.html#howto>. |
22 | 24 | |
25 | +# Make sure that all config symbols are dependent on NET | |
26 | +if NET | |
27 | + | |
23 | 28 | menu "Networking options" |
24 | - depends on NET | |
25 | 29 | |
26 | -config PACKET | |
27 | - tristate "Packet socket" | |
28 | - ---help--- | |
29 | - The Packet protocol is used by applications which communicate | |
30 | - directly with network devices without an intermediate network | |
31 | - protocol implemented in the kernel, e.g. tcpdump. If you want them | |
32 | - to work, choose Y. | |
30 | +source "net/packet/Kconfig" | |
31 | +source "net/unix/Kconfig" | |
32 | +source "net/xfrm/Kconfig" | |
33 | 33 | |
34 | - To compile this driver as a module, choose M here: the module will | |
35 | - be called af_packet. | |
36 | - | |
37 | - If unsure, say Y. | |
38 | - | |
39 | -config PACKET_MMAP | |
40 | - bool "Packet socket: mmapped IO" | |
41 | - depends on PACKET | |
42 | - help | |
43 | - If you say Y here, the Packet protocol driver will use an IO | |
44 | - mechanism that results in faster communication. | |
45 | - | |
46 | - If unsure, say N. | |
47 | - | |
48 | -config UNIX | |
49 | - tristate "Unix domain sockets" | |
50 | - ---help--- | |
51 | - If you say Y here, you will include support for Unix domain sockets; | |
52 | - sockets are the standard Unix mechanism for establishing and | |
53 | - accessing network connections. Many commonly used programs such as | |
54 | - the X Window system and syslog use these sockets even if your | |
55 | - machine is not connected to any network. Unless you are working on | |
56 | - an embedded system or something similar, you therefore definitely | |
57 | - want to say Y here. | |
58 | - | |
59 | - To compile this driver as a module, choose M here: the module will be | |
60 | - called unix. Note that several important services won't work | |
61 | - correctly if you say M here and then neglect to load the module. | |
62 | - | |
63 | - Say Y unless you know what you are doing. | |
64 | - | |
65 | -config NET_KEY | |
66 | - tristate "PF_KEY sockets" | |
67 | - select XFRM | |
68 | - ---help--- | |
69 | - PF_KEYv2 socket family, compatible to KAME ones. | |
70 | - They are required if you are going to use IPsec tools ported | |
71 | - from KAME. | |
72 | - | |
73 | - Say Y unless you know what you are doing. | |
74 | - | |
75 | 34 | config INET |
76 | 35 | bool "TCP/IP networking" |
77 | 36 | ---help--- |
78 | 37 | |
79 | 38 | |
... | ... | @@ -94,30 +53,12 @@ |
94 | 53 | |
95 | 54 | Short answer: say Y. |
96 | 55 | |
56 | +if INET | |
97 | 57 | source "net/ipv4/Kconfig" |
98 | - | |
99 | -# IPv6 as module will cause a CRASH if you try to unload it | |
100 | -config IPV6 | |
101 | - tristate "The IPv6 protocol" | |
102 | - depends on INET | |
103 | - default m | |
104 | - select CRYPTO if IPV6_PRIVACY | |
105 | - select CRYPTO_MD5 if IPV6_PRIVACY | |
106 | - ---help--- | |
107 | - This is complemental support for the IP version 6. | |
108 | - You will still be able to do traditional IPv4 networking as well. | |
109 | - | |
110 | - For general information about IPv6, see | |
111 | - <http://playground.sun.com/pub/ipng/html/ipng-main.html>. | |
112 | - For Linux IPv6 development information, see <http://www.linux-ipv6.org>. | |
113 | - For specific information about IPv6 under Linux, read the HOWTO at | |
114 | - <http://www.bieringer.de/linux/IPv6/>. | |
115 | - | |
116 | - To compile this protocol support as a module, choose M here: the | |
117 | - module will be called ipv6. | |
118 | - | |
119 | 58 | source "net/ipv6/Kconfig" |
120 | 59 | |
60 | +endif # if INET | |
61 | + | |
121 | 62 | menuconfig NETFILTER |
122 | 63 | bool "Network packet filtering (replaces ipchains)" |
123 | 64 | ---help--- |
124 | 65 | |
125 | 66 | |
126 | 67 | |
127 | 68 | |
128 | 69 | |
129 | 70 | |
... | ... | @@ -206,270 +147,17 @@ |
206 | 147 | |
207 | 148 | endif |
208 | 149 | |
209 | -config XFRM | |
210 | - bool | |
211 | - depends on NET | |
212 | - | |
213 | -source "net/xfrm/Kconfig" | |
214 | - | |
215 | 150 | source "net/sctp/Kconfig" |
216 | - | |
217 | -config ATM | |
218 | - tristate "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)" | |
219 | - depends on EXPERIMENTAL | |
220 | - ---help--- | |
221 | - ATM is a high-speed networking technology for Local Area Networks | |
222 | - and Wide Area Networks. It uses a fixed packet size and is | |
223 | - connection oriented, allowing for the negotiation of minimum | |
224 | - bandwidth requirements. | |
225 | - | |
226 | - In order to participate in an ATM network, your Linux box needs an | |
227 | - ATM networking card. If you have that, say Y here and to the driver | |
228 | - of your ATM card below. | |
229 | - | |
230 | - Note that you need a set of user-space programs to actually make use | |
231 | - of ATM. See the file <file:Documentation/networking/atm.txt> for | |
232 | - further details. | |
233 | - | |
234 | -config ATM_CLIP | |
235 | - tristate "Classical IP over ATM (EXPERIMENTAL)" | |
236 | - depends on ATM && INET | |
237 | - help | |
238 | - Classical IP over ATM for PVCs and SVCs, supporting InARP and | |
239 | - ATMARP. If you want to communication with other IP hosts on your ATM | |
240 | - network, you will typically either say Y here or to "LAN Emulation | |
241 | - (LANE)" below. | |
242 | - | |
243 | -config ATM_CLIP_NO_ICMP | |
244 | - bool "Do NOT send ICMP if no neighbour (EXPERIMENTAL)" | |
245 | - depends on ATM_CLIP | |
246 | - help | |
247 | - Normally, an "ICMP host unreachable" message is sent if a neighbour | |
248 | - cannot be reached because there is no VC to it in the kernel's | |
249 | - ATMARP table. This may cause problems when ATMARP table entries are | |
250 | - briefly removed during revalidation. If you say Y here, packets to | |
251 | - such neighbours are silently discarded instead. | |
252 | - | |
253 | -config ATM_LANE | |
254 | - tristate "LAN Emulation (LANE) support (EXPERIMENTAL)" | |
255 | - depends on ATM | |
256 | - help | |
257 | - LAN Emulation emulates services of existing LANs across an ATM | |
258 | - network. Besides operating as a normal ATM end station client, Linux | |
259 | - LANE client can also act as an proxy client bridging packets between | |
260 | - ELAN and Ethernet segments. You need LANE if you want to try MPOA. | |
261 | - | |
262 | -config ATM_MPOA | |
263 | - tristate "Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)" | |
264 | - depends on ATM && INET && ATM_LANE!=n | |
265 | - help | |
266 | - Multi-Protocol Over ATM allows ATM edge devices such as routers, | |
267 | - bridges and ATM attached hosts establish direct ATM VCs across | |
268 | - subnetwork boundaries. These shortcut connections bypass routers | |
269 | - enhancing overall network performance. | |
270 | - | |
271 | -config ATM_BR2684 | |
272 | - tristate "RFC1483/2684 Bridged protocols" | |
273 | - depends on ATM && INET | |
274 | - help | |
275 | - ATM PVCs can carry ethernet PDUs according to rfc2684 (formerly 1483) | |
276 | - This device will act like an ethernet from the kernels point of view, | |
277 | - with the traffic being carried by ATM PVCs (currently 1 PVC/device). | |
278 | - This is sometimes used over DSL lines. If in doubt, say N. | |
279 | - | |
280 | -config ATM_BR2684_IPFILTER | |
281 | - bool "Per-VC IP filter kludge" | |
282 | - depends on ATM_BR2684 | |
283 | - help | |
284 | - This is an experimental mechanism for users who need to terminating a | |
285 | - large number of IP-only vcc's. Do not enable this unless you are sure | |
286 | - you know what you are doing. | |
287 | - | |
288 | -config BRIDGE | |
289 | - tristate "802.1d Ethernet Bridging" | |
290 | - ---help--- | |
291 | - If you say Y here, then your Linux box will be able to act as an | |
292 | - Ethernet bridge, which means that the different Ethernet segments it | |
293 | - is connected to will appear as one Ethernet to the participants. | |
294 | - Several such bridges can work together to create even larger | |
295 | - networks of Ethernets using the IEEE 802.1 spanning tree algorithm. | |
296 | - As this is a standard, Linux bridges will cooperate properly with | |
297 | - other third party bridge products. | |
298 | - | |
299 | - In order to use the Ethernet bridge, you'll need the bridge | |
300 | - configuration tools; see <file:Documentation/networking/bridge.txt> | |
301 | - for location. Please read the Bridge mini-HOWTO for more | |
302 | - information. | |
303 | - | |
304 | - If you enable iptables support along with the bridge support then you | |
305 | - turn your bridge into a bridging IP firewall. | |
306 | - iptables will then see the IP packets being bridged, so you need to | |
307 | - take this into account when setting up your firewall rules. | |
308 | - Enabling arptables support when bridging will let arptables see | |
309 | - bridged ARP traffic in the arptables FORWARD chain. | |
310 | - | |
311 | - To compile this code as a module, choose M here: the module | |
312 | - will be called bridge. | |
313 | - | |
314 | - If unsure, say N. | |
315 | - | |
316 | -config VLAN_8021Q | |
317 | - tristate "802.1Q VLAN Support" | |
318 | - ---help--- | |
319 | - Select this and you will be able to create 802.1Q VLAN interfaces | |
320 | - on your ethernet interfaces. 802.1Q VLAN supports almost | |
321 | - everything a regular ethernet interface does, including | |
322 | - firewalling, bridging, and of course IP traffic. You will need | |
323 | - the 'vconfig' tool from the VLAN project in order to effectively | |
324 | - use VLANs. See the VLAN web page for more information: | |
325 | - <http://www.candelatech.com/~greear/vlan.html> | |
326 | - | |
327 | - To compile this code as a module, choose M here: the module | |
328 | - will be called 8021q. | |
329 | - | |
330 | - If unsure, say N. | |
331 | - | |
332 | -config DECNET | |
333 | - tristate "DECnet Support" | |
334 | - ---help--- | |
335 | - The DECnet networking protocol was used in many products made by | |
336 | - Digital (now Compaq). It provides reliable stream and sequenced | |
337 | - packet communications over which run a variety of services similar | |
338 | - to those which run over TCP/IP. | |
339 | - | |
340 | - To find some tools to use with the kernel layer support, please | |
341 | - look at Patrick Caulfield's web site: | |
342 | - <http://linux-decnet.sourceforge.net/>. | |
343 | - | |
344 | - More detailed documentation is available in | |
345 | - <file:Documentation/networking/decnet.txt>. | |
346 | - | |
347 | - Be sure to say Y to "/proc file system support" and "Sysctl support" | |
348 | - below when using DECnet, since you will need sysctl support to aid | |
349 | - in configuration at run time. | |
350 | - | |
351 | - The DECnet code is also available as a module ( = code which can be | |
352 | - inserted in and removed from the running kernel whenever you want). | |
353 | - The module is called decnet. | |
354 | - | |
151 | +source "net/atm/Kconfig" | |
152 | +source "net/bridge/Kconfig" | |
153 | +source "net/8021q/Kconfig" | |
355 | 154 | source "net/decnet/Kconfig" |
356 | - | |
357 | 155 | source "net/llc/Kconfig" |
358 | - | |
359 | -config IPX | |
360 | - tristate "The IPX protocol" | |
361 | - select LLC | |
362 | - ---help--- | |
363 | - This is support for the Novell networking protocol, IPX, commonly | |
364 | - used for local networks of Windows machines. You need it if you | |
365 | - want to access Novell NetWare file or print servers using the Linux | |
366 | - Novell client ncpfs (available from | |
367 | - <ftp://platan.vc.cvut.cz/pub/linux/ncpfs/>) or from | |
368 | - within the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, | |
369 | - available from <http://www.tldp.org/docs.html#howto>). In order | |
370 | - to do the former, you'll also have to say Y to "NCP file system | |
371 | - support", below. | |
372 | - | |
373 | - IPX is similar in scope to IP, while SPX, which runs on top of IPX, | |
374 | - is similar to TCP. There is also experimental support for SPX in | |
375 | - Linux (see "SPX networking", below). | |
376 | - | |
377 | - To turn your Linux box into a fully featured NetWare file server and | |
378 | - IPX router, say Y here and fetch either lwared from | |
379 | - <ftp://ibiblio.org/pub/Linux/system/network/daemons/> or | |
380 | - mars_nwe from <ftp://www.compu-art.de/mars_nwe/>. For more | |
381 | - information, read the IPX-HOWTO available from | |
382 | - <http://www.tldp.org/docs.html#howto>. | |
383 | - | |
384 | - General information about how to connect Linux, Windows machines and | |
385 | - Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>. | |
386 | - | |
387 | - The IPX driver would enlarge your kernel by about 16 KB. To compile | |
388 | - this driver as a module, choose M here: the module will be called ipx. | |
389 | - Unless you want to integrate your Linux box with a local Novell | |
390 | - network, say N. | |
391 | - | |
392 | 156 | source "net/ipx/Kconfig" |
393 | - | |
394 | -config ATALK | |
395 | - tristate "Appletalk protocol support" | |
396 | - select LLC | |
397 | - ---help--- | |
398 | - AppleTalk is the protocol that Apple computers can use to communicate | |
399 | - on a network. If your Linux box is connected to such a network and you | |
400 | - wish to connect to it, say Y. You will need to use the netatalk package | |
401 | - so that your Linux box can act as a print and file server for Macs as | |
402 | - well as access AppleTalk printers. Check out | |
403 | - <http://www.zettabyte.net/netatalk/> on the WWW for details. | |
404 | - EtherTalk is the name used for AppleTalk over Ethernet and the | |
405 | - cheaper and slower LocalTalk is AppleTalk over a proprietary Apple | |
406 | - network using serial links. EtherTalk and LocalTalk are fully | |
407 | - supported by Linux. | |
408 | - | |
409 | - General information about how to connect Linux, Windows machines and | |
410 | - Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>. The | |
411 | - NET-3-HOWTO, available from | |
412 | - <http://www.tldp.org/docs.html#howto>, contains valuable | |
413 | - information as well. | |
414 | - | |
415 | - To compile this driver as a module, choose M here: the module will be | |
416 | - called appletalk. You almost certainly want to compile it as a | |
417 | - module so you can restart your AppleTalk stack without rebooting | |
418 | - your machine. I hear that the GNU boycott of Apple is over, so | |
419 | - even politically correct people are allowed to say Y here. | |
420 | - | |
421 | 157 | source "drivers/net/appletalk/Kconfig" |
158 | +source "net/x25/Kconfig" | |
159 | +source "net/lapb/Kconfig" | |
422 | 160 | |
423 | -config X25 | |
424 | - tristate "CCITT X.25 Packet Layer (EXPERIMENTAL)" | |
425 | - depends on EXPERIMENTAL | |
426 | - ---help--- | |
427 | - X.25 is a set of standardized network protocols, similar in scope to | |
428 | - frame relay; the one physical line from your box to the X.25 network | |
429 | - entry point can carry several logical point-to-point connections | |
430 | - (called "virtual circuits") to other computers connected to the X.25 | |
431 | - network. Governments, banks, and other organizations tend to use it | |
432 | - to connect to each other or to form Wide Area Networks (WANs). Many | |
433 | - countries have public X.25 networks. X.25 consists of two | |
434 | - protocols: the higher level Packet Layer Protocol (PLP) (say Y here | |
435 | - if you want that) and the lower level data link layer protocol LAPB | |
436 | - (say Y to "LAPB Data Link Driver" below if you want that). | |
437 | - | |
438 | - You can read more about X.25 at <http://www.sangoma.com/x25.htm> and | |
439 | - <http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/cbook/cx25.htm>. | |
440 | - Information about X.25 for Linux is contained in the files | |
441 | - <file:Documentation/networking/x25.txt> and | |
442 | - <file:Documentation/networking/x25-iface.txt>. | |
443 | - | |
444 | - One connects to an X.25 network either with a dedicated network card | |
445 | - using the X.21 protocol (not yet supported by Linux) or one can do | |
446 | - X.25 over a standard telephone line using an ordinary modem (say Y | |
447 | - to "X.25 async driver" below) or over Ethernet using an ordinary | |
448 | - Ethernet card and the LAPB over Ethernet (say Y to "LAPB Data Link | |
449 | - Driver" and "LAPB over Ethernet driver" below). | |
450 | - | |
451 | - To compile this driver as a module, choose M here: the module | |
452 | - will be called x25. If unsure, say N. | |
453 | - | |
454 | -config LAPB | |
455 | - tristate "LAPB Data Link Driver (EXPERIMENTAL)" | |
456 | - depends on EXPERIMENTAL | |
457 | - ---help--- | |
458 | - Link Access Procedure, Balanced (LAPB) is the data link layer (i.e. | |
459 | - the lower) part of the X.25 protocol. It offers a reliable | |
460 | - connection service to exchange data frames with one other host, and | |
461 | - it is used to transport higher level protocols (mostly X.25 Packet | |
462 | - Layer, the higher part of X.25, but others are possible as well). | |
463 | - Usually, LAPB is used with specialized X.21 network cards, but Linux | |
464 | - currently supports LAPB only over Ethernet connections. If you want | |
465 | - to use LAPB connections over Ethernet, say Y here and to "LAPB over | |
466 | - Ethernet driver" below. Read | |
467 | - <file:Documentation/networking/lapb-module.txt> for technical | |
468 | - details. | |
469 | - | |
470 | - To compile this driver as a module, choose M here: the | |
471 | - module will be called lapb. If unsure, say N. | |
472 | - | |
473 | 161 | config NET_DIVERT |
474 | 162 | bool "Frame Diverter (EXPERIMENTAL)" |
475 | 163 | depends on EXPERIMENTAL |
476 | 164 | |
... | ... | @@ -496,107 +184,10 @@ |
496 | 184 | |
497 | 185 | If unsure, say N. |
498 | 186 | |
499 | -config ECONET | |
500 | - tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)" | |
501 | - depends on EXPERIMENTAL && INET | |
502 | - ---help--- | |
503 | - Econet is a fairly old and slow networking protocol mainly used by | |
504 | - Acorn computers to access file and print servers. It uses native | |
505 | - Econet network cards. AUN is an implementation of the higher level | |
506 | - parts of Econet that runs over ordinary Ethernet connections, on | |
507 | - top of the UDP packet protocol, which in turn runs on top of the | |
508 | - Internet protocol IP. | |
509 | - | |
510 | - If you say Y here, you can choose with the next two options whether | |
511 | - to send Econet/AUN traffic over a UDP Ethernet connection or over | |
512 | - a native Econet network card. | |
513 | - | |
514 | - To compile this driver as a module, choose M here: the module | |
515 | - will be called econet. | |
516 | - | |
517 | -config ECONET_AUNUDP | |
518 | - bool "AUN over UDP" | |
519 | - depends on ECONET | |
520 | - help | |
521 | - Say Y here if you want to send Econet/AUN traffic over a UDP | |
522 | - connection (UDP is a packet based protocol that runs on top of the | |
523 | - Internet protocol IP) using an ordinary Ethernet network card. | |
524 | - | |
525 | -config ECONET_NATIVE | |
526 | - bool "Native Econet" | |
527 | - depends on ECONET | |
528 | - help | |
529 | - Say Y here if you have a native Econet network card installed in | |
530 | - your computer. | |
531 | - | |
532 | -config WAN_ROUTER | |
533 | - tristate "WAN router" | |
534 | - depends on EXPERIMENTAL | |
535 | - ---help--- | |
536 | - Wide Area Networks (WANs), such as X.25, frame relay and leased | |
537 | - lines, are used to interconnect Local Area Networks (LANs) over vast | |
538 | - distances with data transfer rates significantly higher than those | |
539 | - achievable with commonly used asynchronous modem connections. | |
540 | - Usually, a quite expensive external device called a `WAN router' is | |
541 | - needed to connect to a WAN. | |
542 | - | |
543 | - As an alternative, WAN routing can be built into the Linux kernel. | |
544 | - With relatively inexpensive WAN interface cards available on the | |
545 | - market, a perfectly usable router can be built for less than half | |
546 | - the price of an external router. If you have one of those cards and | |
547 | - wish to use your Linux box as a WAN router, say Y here and also to | |
548 | - the WAN driver for your card, below. You will then need the | |
549 | - wan-tools package which is available from <ftp://ftp.sangoma.com/>. | |
550 | - Read <file:Documentation/networking/wan-router.txt> for more | |
551 | - information. | |
552 | - | |
553 | - To compile WAN routing support as a module, choose M here: the | |
554 | - module will be called wanrouter. | |
555 | - | |
556 | - If unsure, say N. | |
557 | - | |
558 | -menu "QoS and/or fair queueing" | |
559 | - | |
560 | -config NET_SCHED | |
561 | - bool "QoS and/or fair queueing" | |
562 | - ---help--- | |
563 | - When the kernel has several packets to send out over a network | |
564 | - device, it has to decide which ones to send first, which ones to | |
565 | - delay, and which ones to drop. This is the job of the packet | |
566 | - scheduler, and several different algorithms for how to do this | |
567 | - "fairly" have been proposed. | |
568 | - | |
569 | - If you say N here, you will get the standard packet scheduler, which | |
570 | - is a FIFO (first come, first served). If you say Y here, you will be | |
571 | - able to choose from among several alternative algorithms which can | |
572 | - then be attached to different network devices. This is useful for | |
573 | - example if some of your network devices are real time devices that | |
574 | - need a certain minimum data flow rate, or if you need to limit the | |
575 | - maximum data flow rate for traffic which matches specified criteria. | |
576 | - This code is considered to be experimental. | |
577 | - | |
578 | - To administer these schedulers, you'll need the user-level utilities | |
579 | - from the package iproute2+tc at <ftp://ftp.tux.org/pub/net/ip-routing/>. | |
580 | - That package also contains some documentation; for more, check out | |
581 | - <http://snafu.freedom.org/linux2.2/iproute-notes.html>. | |
582 | - | |
583 | - This Quality of Service (QoS) support will enable you to use | |
584 | - Differentiated Services (diffserv) and Resource Reservation Protocol | |
585 | - (RSVP) on your Linux router if you also say Y to "QoS support", | |
586 | - "Packet classifier API" and to some classifiers below. Documentation | |
587 | - and software is at <http://diffserv.sourceforge.net/>. | |
588 | - | |
589 | - If you say Y here and to "/proc file system" below, you will be able | |
590 | - to read status information about packet schedulers from the file | |
591 | - /proc/net/psched. | |
592 | - | |
593 | - The available schedulers are listed in the following questions; you | |
594 | - can say Y to as many as you like. If unsure, say N now. | |
595 | - | |
187 | +source "net/econet/Kconfig" | |
188 | +source "net/wanrouter/Kconfig" | |
596 | 189 | source "net/sched/Kconfig" |
597 | 190 | |
598 | -endmenu | |
599 | - | |
600 | 191 | menu "Network testing" |
601 | 192 | |
602 | 193 | config NET_PKTGEN |
603 | 194 | |
604 | 195 | |
... | ... | @@ -635,12 +226,9 @@ |
635 | 226 | def_bool NETPOLL |
636 | 227 | |
637 | 228 | source "net/ax25/Kconfig" |
638 | - | |
639 | 229 | source "net/irda/Kconfig" |
640 | - | |
641 | 230 | source "net/bluetooth/Kconfig" |
642 | 231 | |
643 | -source "drivers/net/Kconfig" | |
644 | - | |
645 | -endmenu | |
232 | +endif # if NET | |
233 | +endmenu # Networking |
net/atm/Kconfig
1 | +# | |
2 | +# Asynchronous Transfer Mode (ATM) (EXPERIMENTAL) | |
3 | +# | |
4 | + | |
5 | +config ATM | |
6 | + tristate "Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)" | |
7 | + depends on EXPERIMENTAL | |
8 | + ---help--- | |
9 | + ATM is a high-speed networking technology for Local Area Networks | |
10 | + and Wide Area Networks. It uses a fixed packet size and is | |
11 | + connection oriented, allowing for the negotiation of minimum | |
12 | + bandwidth requirements. | |
13 | + | |
14 | + In order to participate in an ATM network, your Linux box needs an | |
15 | + ATM networking card. If you have that, say Y here and to the driver | |
16 | + of your ATM card below. | |
17 | + | |
18 | + Note that you need a set of user-space programs to actually make use | |
19 | + of ATM. See the file <file:Documentation/networking/atm.txt> for | |
20 | + further details. | |
21 | + | |
22 | +config ATM_CLIP | |
23 | + tristate "Classical IP over ATM (EXPERIMENTAL)" | |
24 | + depends on ATM && INET | |
25 | + help | |
26 | + Classical IP over ATM for PVCs and SVCs, supporting InARP and | |
27 | + ATMARP. If you want to communication with other IP hosts on your ATM | |
28 | + network, you will typically either say Y here or to "LAN Emulation | |
29 | + (LANE)" below. | |
30 | + | |
31 | +config ATM_CLIP_NO_ICMP | |
32 | + bool "Do NOT send ICMP if no neighbour (EXPERIMENTAL)" | |
33 | + depends on ATM_CLIP | |
34 | + help | |
35 | + Normally, an "ICMP host unreachable" message is sent if a neighbour | |
36 | + cannot be reached because there is no VC to it in the kernel's | |
37 | + ATMARP table. This may cause problems when ATMARP table entries are | |
38 | + briefly removed during revalidation. If you say Y here, packets to | |
39 | + such neighbours are silently discarded instead. | |
40 | + | |
41 | +config ATM_LANE | |
42 | + tristate "LAN Emulation (LANE) support (EXPERIMENTAL)" | |
43 | + depends on ATM | |
44 | + help | |
45 | + LAN Emulation emulates services of existing LANs across an ATM | |
46 | + network. Besides operating as a normal ATM end station client, Linux | |
47 | + LANE client can also act as an proxy client bridging packets between | |
48 | + ELAN and Ethernet segments. You need LANE if you want to try MPOA. | |
49 | + | |
50 | +config ATM_MPOA | |
51 | + tristate "Multi-Protocol Over ATM (MPOA) support (EXPERIMENTAL)" | |
52 | + depends on ATM && INET && ATM_LANE!=n | |
53 | + help | |
54 | + Multi-Protocol Over ATM allows ATM edge devices such as routers, | |
55 | + bridges and ATM attached hosts establish direct ATM VCs across | |
56 | + subnetwork boundaries. These shortcut connections bypass routers | |
57 | + enhancing overall network performance. | |
58 | + | |
59 | +config ATM_BR2684 | |
60 | + tristate "RFC1483/2684 Bridged protocols" | |
61 | + depends on ATM && INET | |
62 | + help | |
63 | + ATM PVCs can carry ethernet PDUs according to rfc2684 (formerly 1483) | |
64 | + This device will act like an ethernet from the kernels point of view, | |
65 | + with the traffic being carried by ATM PVCs (currently 1 PVC/device). | |
66 | + This is sometimes used over DSL lines. If in doubt, say N. | |
67 | + | |
68 | +config ATM_BR2684_IPFILTER | |
69 | + bool "Per-VC IP filter kludge" | |
70 | + depends on ATM_BR2684 | |
71 | + help | |
72 | + This is an experimental mechanism for users who need to terminating a | |
73 | + large number of IP-only vcc's. Do not enable this unless you are sure | |
74 | + you know what you are doing. |
net/atm/br2684.c
... | ... | @@ -289,8 +289,7 @@ |
289 | 289 | * This is similar to eth_type_trans, which cannot be used because of |
290 | 290 | * our dev->hard_header_len |
291 | 291 | */ |
292 | -static inline unsigned short br_type_trans(struct sk_buff *skb, | |
293 | - struct net_device *dev) | |
292 | +static inline __be16 br_type_trans(struct sk_buff *skb, struct net_device *dev) | |
294 | 293 | { |
295 | 294 | struct ethhdr *eth; |
296 | 295 | unsigned char *rawp; |
net/bridge/Kconfig
1 | +# | |
2 | +# 802.1d Ethernet Bridging | |
3 | +# | |
4 | + | |
5 | +config BRIDGE | |
6 | + tristate "802.1d Ethernet Bridging" | |
7 | + ---help--- | |
8 | + If you say Y here, then your Linux box will be able to act as an | |
9 | + Ethernet bridge, which means that the different Ethernet segments it | |
10 | + is connected to will appear as one Ethernet to the participants. | |
11 | + Several such bridges can work together to create even larger | |
12 | + networks of Ethernets using the IEEE 802.1 spanning tree algorithm. | |
13 | + As this is a standard, Linux bridges will cooperate properly with | |
14 | + other third party bridge products. | |
15 | + | |
16 | + In order to use the Ethernet bridge, you'll need the bridge | |
17 | + configuration tools; see <file:Documentation/networking/bridge.txt> | |
18 | + for location. Please read the Bridge mini-HOWTO for more | |
19 | + information. | |
20 | + | |
21 | + If you enable iptables support along with the bridge support then you | |
22 | + turn your bridge into a bridging IP firewall. | |
23 | + iptables will then see the IP packets being bridged, so you need to | |
24 | + take this into account when setting up your firewall rules. | |
25 | + Enabling arptables support when bridging will let arptables see | |
26 | + bridged ARP traffic in the arptables FORWARD chain. | |
27 | + | |
28 | + To compile this code as a module, choose M here: the module | |
29 | + will be called bridge. | |
30 | + | |
31 | + If unsure, say N. |
net/decnet/Kconfig
1 | 1 | # |
2 | 2 | # DECnet configuration |
3 | 3 | # |
4 | +config DECNET | |
5 | + tristate "DECnet Support" | |
6 | + ---help--- | |
7 | + The DECnet networking protocol was used in many products made by | |
8 | + Digital (now Compaq). It provides reliable stream and sequenced | |
9 | + packet communications over which run a variety of services similar | |
10 | + to those which run over TCP/IP. | |
11 | + | |
12 | + To find some tools to use with the kernel layer support, please | |
13 | + look at Patrick Caulfield's web site: | |
14 | + <http://linux-decnet.sourceforge.net/>. | |
15 | + | |
16 | + More detailed documentation is available in | |
17 | + <file:Documentation/networking/decnet.txt>. | |
18 | + | |
19 | + Be sure to say Y to "/proc file system support" and "Sysctl support" | |
20 | + below when using DECnet, since you will need sysctl support to aid | |
21 | + in configuration at run time. | |
22 | + | |
23 | + The DECnet code is also available as a module ( = code which can be | |
24 | + inserted in and removed from the running kernel whenever you want). | |
25 | + The module is called decnet. | |
26 | + | |
4 | 27 | config DECNET_ROUTER |
5 | 28 | bool "DECnet: router support (EXPERIMENTAL)" |
6 | 29 | depends on DECNET && EXPERIMENTAL |
net/econet/Kconfig
1 | +# | |
2 | +# Acorn Econet/AUN protocols | |
3 | +# | |
4 | + | |
5 | +config ECONET | |
6 | + tristate "Acorn Econet/AUN protocols (EXPERIMENTAL)" | |
7 | + depends on EXPERIMENTAL && INET | |
8 | + ---help--- | |
9 | + Econet is a fairly old and slow networking protocol mainly used by | |
10 | + Acorn computers to access file and print servers. It uses native | |
11 | + Econet network cards. AUN is an implementation of the higher level | |
12 | + parts of Econet that runs over ordinary Ethernet connections, on | |
13 | + top of the UDP packet protocol, which in turn runs on top of the | |
14 | + Internet protocol IP. | |
15 | + | |
16 | + If you say Y here, you can choose with the next two options whether | |
17 | + to send Econet/AUN traffic over a UDP Ethernet connection or over | |
18 | + a native Econet network card. | |
19 | + | |
20 | + To compile this driver as a module, choose M here: the module | |
21 | + will be called econet. | |
22 | + | |
23 | +config ECONET_AUNUDP | |
24 | + bool "AUN over UDP" | |
25 | + depends on ECONET | |
26 | + help | |
27 | + Say Y here if you want to send Econet/AUN traffic over a UDP | |
28 | + connection (UDP is a packet based protocol that runs on top of the | |
29 | + Internet protocol IP) using an ordinary Ethernet network card. | |
30 | + | |
31 | +config ECONET_NATIVE | |
32 | + bool "Native Econet" | |
33 | + depends on ECONET | |
34 | + help | |
35 | + Say Y here if you have a native Econet network card installed in | |
36 | + your computer. |
net/ethernet/eth.c
... | ... | @@ -155,7 +155,7 @@ |
155 | 155 | * This is normal practice and works for any 'now in use' protocol. |
156 | 156 | */ |
157 | 157 | |
158 | -unsigned short eth_type_trans(struct sk_buff *skb, struct net_device *dev) | |
158 | +__be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev) | |
159 | 159 | { |
160 | 160 | struct ethhdr *eth; |
161 | 161 | unsigned char *rawp; |
net/ipv4/Kconfig
... | ... | @@ -3,7 +3,6 @@ |
3 | 3 | # |
4 | 4 | config IP_MULTICAST |
5 | 5 | bool "IP: multicasting" |
6 | - depends on INET | |
7 | 6 | help |
8 | 7 | This is code for addressing several networked computers at once, |
9 | 8 | enlarging your kernel by about 2 KB. You need multicasting if you |
... | ... | @@ -17,7 +16,6 @@ |
17 | 16 | |
18 | 17 | config IP_ADVANCED_ROUTER |
19 | 18 | bool "IP: advanced router" |
20 | - depends on INET | |
21 | 19 | ---help--- |
22 | 20 | If you intend to run your Linux box mostly as a router, i.e. as a |
23 | 21 | computer that forwards and redistributes network packets, say Y; you |
... | ... | @@ -183,7 +181,6 @@ |
183 | 181 | |
184 | 182 | config IP_PNP |
185 | 183 | bool "IP: kernel level autoconfiguration" |
186 | - depends on INET | |
187 | 184 | help |
188 | 185 | This enables automatic configuration of IP addresses of devices and |
189 | 186 | of the routing table during kernel boot, based on either information |
... | ... | @@ -242,7 +239,6 @@ |
242 | 239 | # bool ' IP: ARP support' CONFIG_IP_PNP_ARP |
243 | 240 | config NET_IPIP |
244 | 241 | tristate "IP: tunneling" |
245 | - depends on INET | |
246 | 242 | select INET_TUNNEL |
247 | 243 | ---help--- |
248 | 244 | Tunneling means encapsulating data of one protocol type within |
... | ... | @@ -260,7 +256,6 @@ |
260 | 256 | |
261 | 257 | config NET_IPGRE |
262 | 258 | tristate "IP: GRE tunnels over IP" |
263 | - depends on INET | |
264 | 259 | select XFRM |
265 | 260 | help |
266 | 261 | Tunneling means encapsulating data of one protocol type within |
... | ... | @@ -319,7 +314,7 @@ |
319 | 314 | |
320 | 315 | config ARPD |
321 | 316 | bool "IP: ARP daemon support (EXPERIMENTAL)" |
322 | - depends on INET && EXPERIMENTAL | |
317 | + depends on EXPERIMENTAL | |
323 | 318 | ---help--- |
324 | 319 | Normally, the kernel maintains an internal cache which maps IP |
325 | 320 | addresses to hardware addresses on the local network, so that |
... | ... | @@ -344,7 +339,6 @@ |
344 | 339 | |
345 | 340 | config SYN_COOKIES |
346 | 341 | bool "IP: TCP syncookie support (disabled per default)" |
347 | - depends on INET | |
348 | 342 | ---help--- |
349 | 343 | Normal TCP/IP networking is open to an attack known as "SYN |
350 | 344 | flooding". This denial-of-service attack prevents legitimate remote |
... | ... | @@ -381,7 +375,6 @@ |
381 | 375 | |
382 | 376 | config INET_AH |
383 | 377 | tristate "IP: AH transformation" |
384 | - depends on INET | |
385 | 378 | select XFRM |
386 | 379 | select CRYPTO |
387 | 380 | select CRYPTO_HMAC |
... | ... | @@ -394,7 +387,6 @@ |
394 | 387 | |
395 | 388 | config INET_ESP |
396 | 389 | tristate "IP: ESP transformation" |
397 | - depends on INET | |
398 | 390 | select XFRM |
399 | 391 | select CRYPTO |
400 | 392 | select CRYPTO_HMAC |
... | ... | @@ -408,7 +400,6 @@ |
408 | 400 | |
409 | 401 | config INET_IPCOMP |
410 | 402 | tristate "IP: IPComp transformation" |
411 | - depends on INET | |
412 | 403 | select XFRM |
413 | 404 | select INET_TUNNEL |
414 | 405 | select CRYPTO |
... | ... | @@ -421,7 +412,6 @@ |
421 | 412 | |
422 | 413 | config INET_TUNNEL |
423 | 414 | tristate "IP: tunnel transformation" |
424 | - depends on INET | |
425 | 415 | select XFRM |
426 | 416 | ---help--- |
427 | 417 | Support for generic IP tunnel transformation, which is required by |
... | ... | @@ -431,7 +421,6 @@ |
431 | 421 | |
432 | 422 | config IP_TCPDIAG |
433 | 423 | tristate "IP: TCP socket monitoring interface" |
434 | - depends on INET | |
435 | 424 | default y |
436 | 425 | ---help--- |
437 | 426 | Support for TCP socket monitoring interface used by native Linux |
... | ... | @@ -447,7 +436,6 @@ |
447 | 436 | |
448 | 437 | config TCP_CONG_ADVANCED |
449 | 438 | bool "TCP: advanced congestion control" |
450 | - depends on INET | |
451 | 439 | ---help--- |
452 | 440 | Support for selection of various TCP congestion control |
453 | 441 | modules. |
... | ... | @@ -463,7 +451,6 @@ |
463 | 451 | |
464 | 452 | config TCP_CONG_BIC |
465 | 453 | tristate "Binary Increase Congestion (BIC) control" |
466 | - depends on INET | |
467 | 454 | default y |
468 | 455 | ---help--- |
469 | 456 | BIC-TCP is a sender-side only change that ensures a linear RTT |
... | ... | @@ -478,7 +465,6 @@ |
478 | 465 | |
479 | 466 | config TCP_CONG_WESTWOOD |
480 | 467 | tristate "TCP Westwood+" |
481 | - depends on INET | |
482 | 468 | default m |
483 | 469 | ---help--- |
484 | 470 | TCP Westwood+ is a sender-side only modification of the TCP Reno |
... | ... | @@ -493,7 +479,6 @@ |
493 | 479 | |
494 | 480 | config TCP_CONG_HTCP |
495 | 481 | tristate "H-TCP" |
496 | - depends on INET | |
497 | 482 | default m |
498 | 483 | ---help--- |
499 | 484 | H-TCP is a send-side only modifications of the TCP Reno |
... | ... | @@ -505,7 +490,7 @@ |
505 | 490 | |
506 | 491 | config TCP_CONG_HSTCP |
507 | 492 | tristate "High Speed TCP" |
508 | - depends on INET && EXPERIMENTAL | |
493 | + depends on EXPERIMENTAL | |
509 | 494 | default n |
510 | 495 | ---help--- |
511 | 496 | Sally Floyd's High Speed TCP (RFC 3649) congestion control. |
... | ... | @@ -516,7 +501,7 @@ |
516 | 501 | |
517 | 502 | config TCP_CONG_HYBLA |
518 | 503 | tristate "TCP-Hybla congestion control algorithm" |
519 | - depends on INET && EXPERIMENTAL | |
504 | + depends on EXPERIMENTAL | |
520 | 505 | default n |
521 | 506 | ---help--- |
522 | 507 | TCP-Hybla is a sender-side only change that eliminates penalization of |
... | ... | @@ -526,7 +511,7 @@ |
526 | 511 | |
527 | 512 | config TCP_CONG_VEGAS |
528 | 513 | tristate "TCP Vegas" |
529 | - depends on INET && EXPERIMENTAL | |
514 | + depends on EXPERIMENTAL | |
530 | 515 | default n |
531 | 516 | ---help--- |
532 | 517 | TCP Vegas is a sender-side only change to TCP that anticipates |
... | ... | @@ -537,7 +522,7 @@ |
537 | 522 | |
538 | 523 | config TCP_CONG_SCALABLE |
539 | 524 | tristate "Scalable TCP" |
540 | - depends on INET && EXPERIMENTAL | |
525 | + depends on EXPERIMENTAL | |
541 | 526 | default n |
542 | 527 | ---help--- |
543 | 528 | Scalable TCP is a sender-side only change to TCP which uses a |
net/ipv4/ip_output.c
... | ... | @@ -107,7 +107,6 @@ |
107 | 107 | newskb->pkt_type = PACKET_LOOPBACK; |
108 | 108 | newskb->ip_summed = CHECKSUM_UNNECESSARY; |
109 | 109 | BUG_TRAP(newskb->dst); |
110 | - nf_reset(newskb); | |
111 | 110 | netif_rx(newskb); |
112 | 111 | return 0; |
113 | 112 | } |
... | ... | @@ -187,14 +186,6 @@ |
187 | 186 | kfree_skb(skb); |
188 | 187 | skb = skb2; |
189 | 188 | } |
190 | - | |
191 | -#ifdef CONFIG_BRIDGE_NETFILTER | |
192 | - /* bridge-netfilter defers calling some IP hooks to the bridge layer | |
193 | - * and still needs the conntrack reference. | |
194 | - */ | |
195 | - if (skb->nf_bridge == NULL) | |
196 | -#endif | |
197 | - nf_reset(skb); | |
198 | 189 | |
199 | 190 | if (hh) { |
200 | 191 | int hh_alen; |
net/ipv4/ipvs/Kconfig
... | ... | @@ -2,11 +2,11 @@ |
2 | 2 | # IP Virtual Server configuration |
3 | 3 | # |
4 | 4 | menu "IP: Virtual Server Configuration" |
5 | - depends on INET && NETFILTER | |
5 | + depends on NETFILTER | |
6 | 6 | |
7 | 7 | config IP_VS |
8 | 8 | tristate "IP virtual server support (EXPERIMENTAL)" |
9 | - depends on INET && NETFILTER | |
9 | + depends on NETFILTER | |
10 | 10 | ---help--- |
11 | 11 | IP Virtual Server support will let you build a high-performance |
12 | 12 | virtual server based on cluster of two or more real servers. This |
net/ipv4/ipvs/ip_vs_conn.c
... | ... | @@ -758,7 +758,7 @@ |
758 | 758 | return 1; |
759 | 759 | } |
760 | 760 | |
761 | - | |
761 | +/* Called from keventd and must protect itself from softirqs */ | |
762 | 762 | void ip_vs_random_dropentry(void) |
763 | 763 | { |
764 | 764 | int idx; |
... | ... | @@ -773,7 +773,7 @@ |
773 | 773 | /* |
774 | 774 | * Lock is actually needed in this loop. |
775 | 775 | */ |
776 | - ct_write_lock(hash); | |
776 | + ct_write_lock_bh(hash); | |
777 | 777 | |
778 | 778 | list_for_each_entry(cp, &ip_vs_conn_tab[hash], c_list) { |
779 | 779 | if (!cp->cport && !(cp->flags & IP_VS_CONN_F_NO_CPORT)) |
... | ... | @@ -806,7 +806,7 @@ |
806 | 806 | ip_vs_conn_expire_now(cp->control); |
807 | 807 | } |
808 | 808 | } |
809 | - ct_write_unlock(hash); | |
809 | + ct_write_unlock_bh(hash); | |
810 | 810 | } |
811 | 811 | } |
812 | 812 |
net/ipv4/ipvs/ip_vs_ctl.c
... | ... | @@ -90,7 +90,8 @@ |
90 | 90 | #endif |
91 | 91 | |
92 | 92 | /* |
93 | - * update_defense_level is called from keventd and from sysctl. | |
93 | + * update_defense_level is called from keventd and from sysctl, | |
94 | + * so it needs to protect itself from softirqs | |
94 | 95 | */ |
95 | 96 | static void update_defense_level(void) |
96 | 97 | { |
... | ... | @@ -110,6 +111,8 @@ |
110 | 111 | |
111 | 112 | nomem = (availmem < sysctl_ip_vs_amemthresh); |
112 | 113 | |
114 | + local_bh_disable(); | |
115 | + | |
113 | 116 | /* drop_entry */ |
114 | 117 | spin_lock(&__ip_vs_dropentry_lock); |
115 | 118 | switch (sysctl_ip_vs_drop_entry) { |
... | ... | @@ -206,6 +209,8 @@ |
206 | 209 | if (to_change >= 0) |
207 | 210 | ip_vs_protocol_timeout_change(sysctl_ip_vs_secure_tcp>1); |
208 | 211 | write_unlock(&__ip_vs_securetcp_lock); |
212 | + | |
213 | + local_bh_enable(); | |
209 | 214 | } |
210 | 215 | |
211 | 216 | |
212 | 217 | |
... | ... | @@ -1360,9 +1365,7 @@ |
1360 | 1365 | /* Restore the correct value */ |
1361 | 1366 | *valp = val; |
1362 | 1367 | } else { |
1363 | - local_bh_disable(); | |
1364 | 1368 | update_defense_level(); |
1365 | - local_bh_enable(); | |
1366 | 1369 | } |
1367 | 1370 | } |
1368 | 1371 | return rc; |
net/ipv4/netfilter/ip_conntrack_standalone.c
... | ... | @@ -432,6 +432,13 @@ |
432 | 432 | const struct net_device *out, |
433 | 433 | int (*okfn)(struct sk_buff *)) |
434 | 434 | { |
435 | +#if !defined(CONFIG_IP_NF_NAT) && !defined(CONFIG_IP_NF_NAT_MODULE) | |
436 | + /* Previously seen (loopback)? Ignore. Do this before | |
437 | + fragment check. */ | |
438 | + if ((*pskb)->nfct) | |
439 | + return NF_ACCEPT; | |
440 | +#endif | |
441 | + | |
435 | 442 | /* Gather fragments. */ |
436 | 443 | if ((*pskb)->nh.iph->frag_off & htons(IP_MF|IP_OFFSET)) { |
437 | 444 | *pskb = ip_ct_gather_frags(*pskb, |
net/ipv4/route.c
... | ... | @@ -1685,7 +1685,7 @@ |
1685 | 1685 | printk(KERN_WARNING "martian source %u.%u.%u.%u from " |
1686 | 1686 | "%u.%u.%u.%u, on dev %s\n", |
1687 | 1687 | NIPQUAD(daddr), NIPQUAD(saddr), dev->name); |
1688 | - if (dev->hard_header_len) { | |
1688 | + if (dev->hard_header_len && skb->mac.raw) { | |
1689 | 1689 | int i; |
1690 | 1690 | unsigned char *p = skb->mac.raw; |
1691 | 1691 | printk(KERN_WARNING "ll header: "); |
net/ipv6/Kconfig
1 | 1 | # |
2 | 2 | # IPv6 configuration |
3 | -# | |
3 | +# | |
4 | + | |
5 | +# IPv6 as module will cause a CRASH if you try to unload it | |
6 | +config IPV6 | |
7 | + tristate "The IPv6 protocol" | |
8 | + default m | |
9 | + select CRYPTO if IPV6_PRIVACY | |
10 | + select CRYPTO_MD5 if IPV6_PRIVACY | |
11 | + ---help--- | |
12 | + This is complemental support for the IP version 6. | |
13 | + You will still be able to do traditional IPv4 networking as well. | |
14 | + | |
15 | + For general information about IPv6, see | |
16 | + <http://playground.sun.com/pub/ipng/html/ipng-main.html>. | |
17 | + For Linux IPv6 development information, see <http://www.linux-ipv6.org>. | |
18 | + For specific information about IPv6 under Linux, read the HOWTO at | |
19 | + <http://www.bieringer.de/linux/IPv6/>. | |
20 | + | |
21 | + To compile this protocol support as a module, choose M here: the | |
22 | + module will be called ipv6. | |
23 | + | |
4 | 24 | config IPV6_PRIVACY |
5 | 25 | bool "IPv6: Privacy Extensions (RFC 3041) support" |
6 | 26 | depends on IPV6 |
net/ipx/Kconfig
1 | 1 | # |
2 | 2 | # IPX configuration |
3 | 3 | # |
4 | +config IPX | |
5 | + tristate "The IPX protocol" | |
6 | + select LLC | |
7 | + ---help--- | |
8 | + This is support for the Novell networking protocol, IPX, commonly | |
9 | + used for local networks of Windows machines. You need it if you | |
10 | + want to access Novell NetWare file or print servers using the Linux | |
11 | + Novell client ncpfs (available from | |
12 | + <ftp://platan.vc.cvut.cz/pub/linux/ncpfs/>) or from | |
13 | + within the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, | |
14 | + available from <http://www.tldp.org/docs.html#howto>). In order | |
15 | + to do the former, you'll also have to say Y to "NCP file system | |
16 | + support", below. | |
17 | + | |
18 | + IPX is similar in scope to IP, while SPX, which runs on top of IPX, | |
19 | + is similar to TCP. There is also experimental support for SPX in | |
20 | + Linux (see "SPX networking", below). | |
21 | + | |
22 | + To turn your Linux box into a fully featured NetWare file server and | |
23 | + IPX router, say Y here and fetch either lwared from | |
24 | + <ftp://ibiblio.org/pub/Linux/system/network/daemons/> or | |
25 | + mars_nwe from <ftp://www.compu-art.de/mars_nwe/>. For more | |
26 | + information, read the IPX-HOWTO available from | |
27 | + <http://www.tldp.org/docs.html#howto>. | |
28 | + | |
29 | + General information about how to connect Linux, Windows machines and | |
30 | + Macs is on the WWW at <http://www.eats.com/linux_mac_win.html>. | |
31 | + | |
32 | + The IPX driver would enlarge your kernel by about 16 KB. To compile | |
33 | + this driver as a module, choose M here: the module will be called ipx. | |
34 | + Unless you want to integrate your Linux box with a local Novell | |
35 | + network, say N. | |
36 | + | |
4 | 37 | config IPX_INTERN |
5 | 38 | bool "IPX: Full internal IPX network" |
6 | 39 | depends on IPX |
net/lapb/Kconfig
1 | +# | |
2 | +# LAPB Data Link Drive | |
3 | +# | |
4 | + | |
5 | +config LAPB | |
6 | + tristate "LAPB Data Link Driver (EXPERIMENTAL)" | |
7 | + depends on EXPERIMENTAL | |
8 | + ---help--- | |
9 | + Link Access Procedure, Balanced (LAPB) is the data link layer (i.e. | |
10 | + the lower) part of the X.25 protocol. It offers a reliable | |
11 | + connection service to exchange data frames with one other host, and | |
12 | + it is used to transport higher level protocols (mostly X.25 Packet | |
13 | + Layer, the higher part of X.25, but others are possible as well). | |
14 | + Usually, LAPB is used with specialized X.21 network cards, but Linux | |
15 | + currently supports LAPB only over Ethernet connections. If you want | |
16 | + to use LAPB connections over Ethernet, say Y here and to "LAPB over | |
17 | + Ethernet driver" below. Read | |
18 | + <file:Documentation/networking/lapb-module.txt> for technical | |
19 | + details. | |
20 | + | |
21 | + To compile this driver as a module, choose M here: the | |
22 | + module will be called lapb. If unsure, say N. |
net/packet/Kconfig
1 | +# | |
2 | +# Packet configuration | |
3 | +# | |
4 | + | |
5 | +config PACKET | |
6 | + tristate "Packet socket" | |
7 | + ---help--- | |
8 | + The Packet protocol is used by applications which communicate | |
9 | + directly with network devices without an intermediate network | |
10 | + protocol implemented in the kernel, e.g. tcpdump. If you want them | |
11 | + to work, choose Y. | |
12 | + | |
13 | + To compile this driver as a module, choose M here: the module will | |
14 | + be called af_packet. | |
15 | + | |
16 | + If unsure, say Y. | |
17 | + | |
18 | +config PACKET_MMAP | |
19 | + bool "Packet socket: mmapped IO" | |
20 | + depends on PACKET | |
21 | + help | |
22 | + If you say Y here, the Packet protocol driver will use an IO | |
23 | + mechanism that results in faster communication. | |
24 | + | |
25 | + If unsure, say N. |
net/packet/af_packet.c
... | ... | @@ -274,6 +274,9 @@ |
274 | 274 | dst_release(skb->dst); |
275 | 275 | skb->dst = NULL; |
276 | 276 | |
277 | + /* drop conntrack reference */ | |
278 | + nf_reset(skb); | |
279 | + | |
277 | 280 | spkt = (struct sockaddr_pkt*)skb->cb; |
278 | 281 | |
279 | 282 | skb_push(skb, skb->data-skb->mac.raw); |
... | ... | @@ -516,6 +519,9 @@ |
516 | 519 | skb->dev = NULL; |
517 | 520 | dst_release(skb->dst); |
518 | 521 | skb->dst = NULL; |
522 | + | |
523 | + /* drop conntrack reference */ | |
524 | + nf_reset(skb); | |
519 | 525 | |
520 | 526 | spin_lock(&sk->sk_receive_queue.lock); |
521 | 527 | po->stats.tp_packets++; |
net/sched/Kconfig
1 | 1 | # |
2 | 2 | # Traffic control configuration. |
3 | 3 | # |
4 | + | |
5 | +menuconfig NET_SCHED | |
6 | + bool "QoS and/or fair queueing" | |
7 | + ---help--- | |
8 | + When the kernel has several packets to send out over a network | |
9 | + device, it has to decide which ones to send first, which ones to | |
10 | + delay, and which ones to drop. This is the job of the packet | |
11 | + scheduler, and several different algorithms for how to do this | |
12 | + "fairly" have been proposed. | |
13 | + | |
14 | + If you say N here, you will get the standard packet scheduler, which | |
15 | + is a FIFO (first come, first served). If you say Y here, you will be | |
16 | + able to choose from among several alternative algorithms which can | |
17 | + then be attached to different network devices. This is useful for | |
18 | + example if some of your network devices are real time devices that | |
19 | + need a certain minimum data flow rate, or if you need to limit the | |
20 | + maximum data flow rate for traffic which matches specified criteria. | |
21 | + This code is considered to be experimental. | |
22 | + | |
23 | + To administer these schedulers, you'll need the user-level utilities | |
24 | + from the package iproute2+tc at <ftp://ftp.tux.org/pub/net/ip-routing/>. | |
25 | + That package also contains some documentation; for more, check out | |
26 | + <http://snafu.freedom.org/linux2.2/iproute-notes.html>. | |
27 | + | |
28 | + This Quality of Service (QoS) support will enable you to use | |
29 | + Differentiated Services (diffserv) and Resource Reservation Protocol | |
30 | + (RSVP) on your Linux router if you also say Y to "QoS support", | |
31 | + "Packet classifier API" and to some classifiers below. Documentation | |
32 | + and software is at <http://diffserv.sourceforge.net/>. | |
33 | + | |
34 | + If you say Y here and to "/proc file system" below, you will be able | |
35 | + to read status information about packet schedulers from the file | |
36 | + /proc/net/psched. | |
37 | + | |
38 | + The available schedulers are listed in the following questions; you | |
39 | + can say Y to as many as you like. If unsure, say N now. | |
40 | + | |
4 | 41 | choice |
5 | 42 | prompt "Packet scheduler clock source" |
6 | 43 | depends on NET_SCHED |
net/sctp/associola.c
... | ... | @@ -71,7 +71,7 @@ |
71 | 71 | const struct sctp_endpoint *ep, |
72 | 72 | const struct sock *sk, |
73 | 73 | sctp_scope_t scope, |
74 | - int gfp) | |
74 | + unsigned int __nocast gfp) | |
75 | 75 | { |
76 | 76 | struct sctp_sock *sp; |
77 | 77 | int i; |
... | ... | @@ -272,7 +272,8 @@ |
272 | 272 | /* Allocate and initialize a new association */ |
273 | 273 | struct sctp_association *sctp_association_new(const struct sctp_endpoint *ep, |
274 | 274 | const struct sock *sk, |
275 | - sctp_scope_t scope, int gfp) | |
275 | + sctp_scope_t scope, | |
276 | + unsigned int __nocast gfp) | |
276 | 277 | { |
277 | 278 | struct sctp_association *asoc; |
278 | 279 | |
... | ... | @@ -478,7 +479,7 @@ |
478 | 479 | /* Add a transport address to an association. */ |
479 | 480 | struct sctp_transport *sctp_assoc_add_peer(struct sctp_association *asoc, |
480 | 481 | const union sctp_addr *addr, |
481 | - const int gfp, | |
482 | + const unsigned int __nocast gfp, | |
482 | 483 | const int peer_state) |
483 | 484 | { |
484 | 485 | struct sctp_transport *peer; |
... | ... | @@ -1229,7 +1230,8 @@ |
1229 | 1230 | /* Build the bind address list for the association based on info from the |
1230 | 1231 | * local endpoint and the remote peer. |
1231 | 1232 | */ |
1232 | -int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *asoc, int gfp) | |
1233 | +int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *asoc, | |
1234 | + unsigned int __nocast gfp) | |
1233 | 1235 | { |
1234 | 1236 | sctp_scope_t scope; |
1235 | 1237 | int flags; |
... | ... | @@ -1251,7 +1253,8 @@ |
1251 | 1253 | |
1252 | 1254 | /* Build the association's bind address list from the cookie. */ |
1253 | 1255 | int sctp_assoc_set_bind_addr_from_cookie(struct sctp_association *asoc, |
1254 | - struct sctp_cookie *cookie, int gfp) | |
1256 | + struct sctp_cookie *cookie, | |
1257 | + unsigned int __nocast gfp) | |
1255 | 1258 | { |
1256 | 1259 | int var_size2 = ntohs(cookie->peer_init->chunk_hdr.length); |
1257 | 1260 | int var_size3 = cookie->raw_addr_list_len; |
net/sctp/bind_addr.c
... | ... | @@ -53,7 +53,8 @@ |
53 | 53 | |
54 | 54 | /* Forward declarations for internal helpers. */ |
55 | 55 | static int sctp_copy_one_addr(struct sctp_bind_addr *, union sctp_addr *, |
56 | - sctp_scope_t scope, int gfp, int flags); | |
56 | + sctp_scope_t scope, unsigned int __nocast gfp, | |
57 | + int flags); | |
57 | 58 | static void sctp_bind_addr_clean(struct sctp_bind_addr *); |
58 | 59 | |
59 | 60 | /* First Level Abstractions. */ |
... | ... | @@ -63,7 +64,8 @@ |
63 | 64 | */ |
64 | 65 | int sctp_bind_addr_copy(struct sctp_bind_addr *dest, |
65 | 66 | const struct sctp_bind_addr *src, |
66 | - sctp_scope_t scope, int gfp, int flags) | |
67 | + sctp_scope_t scope, unsigned int __nocast gfp, | |
68 | + int flags) | |
67 | 69 | { |
68 | 70 | struct sctp_sockaddr_entry *addr; |
69 | 71 | struct list_head *pos; |
... | ... | @@ -144,7 +146,7 @@ |
144 | 146 | |
145 | 147 | /* Add an address to the bind address list in the SCTP_bind_addr structure. */ |
146 | 148 | int sctp_add_bind_addr(struct sctp_bind_addr *bp, union sctp_addr *new, |
147 | - int gfp) | |
149 | + unsigned int __nocast gfp) | |
148 | 150 | { |
149 | 151 | struct sctp_sockaddr_entry *addr; |
150 | 152 | |
... | ... | @@ -197,7 +199,8 @@ |
197 | 199 | * The second argument is the return value for the length. |
198 | 200 | */ |
199 | 201 | union sctp_params sctp_bind_addrs_to_raw(const struct sctp_bind_addr *bp, |
200 | - int *addrs_len, int gfp) | |
202 | + int *addrs_len, | |
203 | + unsigned int __nocast gfp) | |
201 | 204 | { |
202 | 205 | union sctp_params addrparms; |
203 | 206 | union sctp_params retval; |
... | ... | @@ -249,7 +252,7 @@ |
249 | 252 | * address parameters). |
250 | 253 | */ |
251 | 254 | int sctp_raw_to_bind_addrs(struct sctp_bind_addr *bp, __u8 *raw_addr_list, |
252 | - int addrs_len, __u16 port, int gfp) | |
255 | + int addrs_len, __u16 port, unsigned int __nocast gfp) | |
253 | 256 | { |
254 | 257 | union sctp_addr_param *rawaddr; |
255 | 258 | struct sctp_paramhdr *param; |
... | ... | @@ -347,7 +350,8 @@ |
347 | 350 | /* Copy out addresses from the global local address list. */ |
348 | 351 | static int sctp_copy_one_addr(struct sctp_bind_addr *dest, |
349 | 352 | union sctp_addr *addr, |
350 | - sctp_scope_t scope, int gfp, int flags) | |
353 | + sctp_scope_t scope, unsigned int __nocast gfp, | |
354 | + int flags) | |
351 | 355 | { |
352 | 356 | int error = 0; |
353 | 357 |
net/sctp/chunk.c
... | ... | @@ -62,7 +62,7 @@ |
62 | 62 | } |
63 | 63 | |
64 | 64 | /* Allocate and initialize datamsg. */ |
65 | -SCTP_STATIC struct sctp_datamsg *sctp_datamsg_new(int gfp) | |
65 | +SCTP_STATIC struct sctp_datamsg *sctp_datamsg_new(unsigned int __nocast gfp) | |
66 | 66 | { |
67 | 67 | struct sctp_datamsg *msg; |
68 | 68 | msg = kmalloc(sizeof(struct sctp_datamsg), gfp); |
net/sctp/endpointola.c
... | ... | @@ -67,7 +67,8 @@ |
67 | 67 | * Initialize the base fields of the endpoint structure. |
68 | 68 | */ |
69 | 69 | static struct sctp_endpoint *sctp_endpoint_init(struct sctp_endpoint *ep, |
70 | - struct sock *sk, int gfp) | |
70 | + struct sock *sk, | |
71 | + unsigned int __nocast gfp) | |
71 | 72 | { |
72 | 73 | struct sctp_sock *sp = sctp_sk(sk); |
73 | 74 | memset(ep, 0, sizeof(struct sctp_endpoint)); |
... | ... | @@ -137,7 +138,8 @@ |
137 | 138 | /* Create a sctp_endpoint with all that boring stuff initialized. |
138 | 139 | * Returns NULL if there isn't enough memory. |
139 | 140 | */ |
140 | -struct sctp_endpoint *sctp_endpoint_new(struct sock *sk, int gfp) | |
141 | +struct sctp_endpoint *sctp_endpoint_new(struct sock *sk, | |
142 | + unsigned int __nocast gfp) | |
141 | 143 | { |
142 | 144 | struct sctp_endpoint *ep; |
143 | 145 |
net/sctp/protocol.c
... | ... | @@ -219,7 +219,7 @@ |
219 | 219 | |
220 | 220 | /* Copy the local addresses which are valid for 'scope' into 'bp'. */ |
221 | 221 | int sctp_copy_local_addr_list(struct sctp_bind_addr *bp, sctp_scope_t scope, |
222 | - int gfp, int copy_flags) | |
222 | + unsigned int __nocast gfp, int copy_flags) | |
223 | 223 | { |
224 | 224 | struct sctp_sockaddr_entry *addr; |
225 | 225 | int error = 0; |
net/sctp/sm_make_chunk.c
... | ... | @@ -78,7 +78,7 @@ |
78 | 78 | static int sctp_process_param(struct sctp_association *asoc, |
79 | 79 | union sctp_params param, |
80 | 80 | const union sctp_addr *peer_addr, |
81 | - int gfp); | |
81 | + unsigned int __nocast gfp); | |
82 | 82 | |
83 | 83 | /* What was the inbound interface for this chunk? */ |
84 | 84 | int sctp_chunk_iif(const struct sctp_chunk *chunk) |
... | ... | @@ -174,7 +174,7 @@ |
174 | 174 | */ |
175 | 175 | struct sctp_chunk *sctp_make_init(const struct sctp_association *asoc, |
176 | 176 | const struct sctp_bind_addr *bp, |
177 | - int gfp, int vparam_len) | |
177 | + unsigned int __nocast gfp, int vparam_len) | |
178 | 178 | { |
179 | 179 | sctp_inithdr_t init; |
180 | 180 | union sctp_params addrs; |
... | ... | @@ -261,7 +261,7 @@ |
261 | 261 | |
262 | 262 | struct sctp_chunk *sctp_make_init_ack(const struct sctp_association *asoc, |
263 | 263 | const struct sctp_chunk *chunk, |
264 | - int gfp, int unkparam_len) | |
264 | + unsigned int __nocast gfp, int unkparam_len) | |
265 | 265 | { |
266 | 266 | sctp_inithdr_t initack; |
267 | 267 | struct sctp_chunk *retval; |
... | ... | @@ -1233,7 +1233,8 @@ |
1233 | 1233 | |
1234 | 1234 | /* Create a CLOSED association to use with an incoming packet. */ |
1235 | 1235 | struct sctp_association *sctp_make_temp_asoc(const struct sctp_endpoint *ep, |
1236 | - struct sctp_chunk *chunk, int gfp) | |
1236 | + struct sctp_chunk *chunk, | |
1237 | + unsigned int __nocast gfp) | |
1237 | 1238 | { |
1238 | 1239 | struct sctp_association *asoc; |
1239 | 1240 | struct sk_buff *skb; |
... | ... | @@ -1348,7 +1349,7 @@ |
1348 | 1349 | struct sctp_association *sctp_unpack_cookie( |
1349 | 1350 | const struct sctp_endpoint *ep, |
1350 | 1351 | const struct sctp_association *asoc, |
1351 | - struct sctp_chunk *chunk, int gfp, | |
1352 | + struct sctp_chunk *chunk, unsigned int __nocast gfp, | |
1352 | 1353 | int *error, struct sctp_chunk **errp) |
1353 | 1354 | { |
1354 | 1355 | struct sctp_association *retval = NULL; |
... | ... | @@ -1812,7 +1813,7 @@ |
1812 | 1813 | */ |
1813 | 1814 | int sctp_process_init(struct sctp_association *asoc, sctp_cid_t cid, |
1814 | 1815 | const union sctp_addr *peer_addr, |
1815 | - sctp_init_chunk_t *peer_init, int gfp) | |
1816 | + sctp_init_chunk_t *peer_init, unsigned int __nocast gfp) | |
1816 | 1817 | { |
1817 | 1818 | union sctp_params param; |
1818 | 1819 | struct sctp_transport *transport; |
... | ... | @@ -1983,7 +1984,7 @@ |
1983 | 1984 | static int sctp_process_param(struct sctp_association *asoc, |
1984 | 1985 | union sctp_params param, |
1985 | 1986 | const union sctp_addr *peer_addr, |
1986 | - int gfp) | |
1987 | + unsigned int __nocast gfp) | |
1987 | 1988 | { |
1988 | 1989 | union sctp_addr addr; |
1989 | 1990 | int i; |
net/sctp/sm_sideeffect.c
... | ... | @@ -63,7 +63,7 @@ |
63 | 63 | void *event_arg, |
64 | 64 | sctp_disposition_t status, |
65 | 65 | sctp_cmd_seq_t *commands, |
66 | - int gfp); | |
66 | + unsigned int __nocast gfp); | |
67 | 67 | static int sctp_side_effects(sctp_event_t event_type, sctp_subtype_t subtype, |
68 | 68 | sctp_state_t state, |
69 | 69 | struct sctp_endpoint *ep, |
... | ... | @@ -71,7 +71,7 @@ |
71 | 71 | void *event_arg, |
72 | 72 | sctp_disposition_t status, |
73 | 73 | sctp_cmd_seq_t *commands, |
74 | - int gfp); | |
74 | + unsigned int __nocast gfp); | |
75 | 75 | |
76 | 76 | /******************************************************************** |
77 | 77 | * Helper functions |
... | ... | @@ -497,7 +497,8 @@ |
497 | 497 | static int sctp_cmd_process_init(sctp_cmd_seq_t *commands, |
498 | 498 | struct sctp_association *asoc, |
499 | 499 | struct sctp_chunk *chunk, |
500 | - sctp_init_chunk_t *peer_init, int gfp) | |
500 | + sctp_init_chunk_t *peer_init, | |
501 | + unsigned int __nocast gfp) | |
501 | 502 | { |
502 | 503 | int error; |
503 | 504 | |
... | ... | @@ -852,7 +853,7 @@ |
852 | 853 | struct sctp_endpoint *ep, |
853 | 854 | struct sctp_association *asoc, |
854 | 855 | void *event_arg, |
855 | - int gfp) | |
856 | + unsigned int __nocast gfp) | |
856 | 857 | { |
857 | 858 | sctp_cmd_seq_t commands; |
858 | 859 | const sctp_sm_table_entry_t *state_fn; |
... | ... | @@ -897,7 +898,7 @@ |
897 | 898 | void *event_arg, |
898 | 899 | sctp_disposition_t status, |
899 | 900 | sctp_cmd_seq_t *commands, |
900 | - int gfp) | |
901 | + unsigned int __nocast gfp) | |
901 | 902 | { |
902 | 903 | int error; |
903 | 904 | |
... | ... | @@ -985,7 +986,7 @@ |
985 | 986 | void *event_arg, |
986 | 987 | sctp_disposition_t status, |
987 | 988 | sctp_cmd_seq_t *commands, |
988 | - int gfp) | |
989 | + unsigned int __nocast gfp) | |
989 | 990 | { |
990 | 991 | int error = 0; |
991 | 992 | int force; |
net/sctp/ssnmap.c
... | ... | @@ -57,7 +57,8 @@ |
57 | 57 | /* Create a new sctp_ssnmap. |
58 | 58 | * Allocate room to store at least 'len' contiguous TSNs. |
59 | 59 | */ |
60 | -struct sctp_ssnmap *sctp_ssnmap_new(__u16 in, __u16 out, int gfp) | |
60 | +struct sctp_ssnmap *sctp_ssnmap_new(__u16 in, __u16 out, | |
61 | + unsigned int __nocast gfp) | |
61 | 62 | { |
62 | 63 | struct sctp_ssnmap *retval; |
63 | 64 | int size; |
net/sctp/transport.c
... | ... | @@ -57,7 +57,7 @@ |
57 | 57 | /* Initialize a new transport from provided memory. */ |
58 | 58 | static struct sctp_transport *sctp_transport_init(struct sctp_transport *peer, |
59 | 59 | const union sctp_addr *addr, |
60 | - int gfp) | |
60 | + unsigned int __nocast gfp) | |
61 | 61 | { |
62 | 62 | /* Copy in the address. */ |
63 | 63 | peer->ipaddr = *addr; |
... | ... | @@ -121,7 +121,8 @@ |
121 | 121 | } |
122 | 122 | |
123 | 123 | /* Allocate and initialize a new transport. */ |
124 | -struct sctp_transport *sctp_transport_new(const union sctp_addr *addr, int gfp) | |
124 | +struct sctp_transport *sctp_transport_new(const union sctp_addr *addr, | |
125 | + unsigned int __nocast gfp) | |
125 | 126 | { |
126 | 127 | struct sctp_transport *transport; |
127 | 128 |
net/sctp/ulpevent.c
... | ... | @@ -74,7 +74,7 @@ |
74 | 74 | |
75 | 75 | /* Create a new sctp_ulpevent. */ |
76 | 76 | SCTP_STATIC struct sctp_ulpevent *sctp_ulpevent_new(int size, int msg_flags, |
77 | - int gfp) | |
77 | + unsigned int __nocast gfp) | |
78 | 78 | { |
79 | 79 | struct sctp_ulpevent *event; |
80 | 80 | struct sk_buff *skb; |
... | ... | @@ -136,7 +136,7 @@ |
136 | 136 | struct sctp_ulpevent *sctp_ulpevent_make_assoc_change( |
137 | 137 | const struct sctp_association *asoc, |
138 | 138 | __u16 flags, __u16 state, __u16 error, __u16 outbound, |
139 | - __u16 inbound, int gfp) | |
139 | + __u16 inbound, unsigned int __nocast gfp) | |
140 | 140 | { |
141 | 141 | struct sctp_ulpevent *event; |
142 | 142 | struct sctp_assoc_change *sac; |
... | ... | @@ -237,7 +237,7 @@ |
237 | 237 | struct sctp_ulpevent *sctp_ulpevent_make_peer_addr_change( |
238 | 238 | const struct sctp_association *asoc, |
239 | 239 | const struct sockaddr_storage *aaddr, |
240 | - int flags, int state, int error, int gfp) | |
240 | + int flags, int state, int error, unsigned int __nocast gfp) | |
241 | 241 | { |
242 | 242 | struct sctp_ulpevent *event; |
243 | 243 | struct sctp_paddr_change *spc; |
... | ... | @@ -350,7 +350,7 @@ |
350 | 350 | */ |
351 | 351 | struct sctp_ulpevent *sctp_ulpevent_make_remote_error( |
352 | 352 | const struct sctp_association *asoc, struct sctp_chunk *chunk, |
353 | - __u16 flags, int gfp) | |
353 | + __u16 flags, unsigned int __nocast gfp) | |
354 | 354 | { |
355 | 355 | struct sctp_ulpevent *event; |
356 | 356 | struct sctp_remote_error *sre; |
... | ... | @@ -448,7 +448,7 @@ |
448 | 448 | */ |
449 | 449 | struct sctp_ulpevent *sctp_ulpevent_make_send_failed( |
450 | 450 | const struct sctp_association *asoc, struct sctp_chunk *chunk, |
451 | - __u16 flags, __u32 error, int gfp) | |
451 | + __u16 flags, __u32 error, unsigned int __nocast gfp) | |
452 | 452 | { |
453 | 453 | struct sctp_ulpevent *event; |
454 | 454 | struct sctp_send_failed *ssf; |
... | ... | @@ -557,7 +557,7 @@ |
557 | 557 | */ |
558 | 558 | struct sctp_ulpevent *sctp_ulpevent_make_shutdown_event( |
559 | 559 | const struct sctp_association *asoc, |
560 | - __u16 flags, int gfp) | |
560 | + __u16 flags, unsigned int __nocast gfp) | |
561 | 561 | { |
562 | 562 | struct sctp_ulpevent *event; |
563 | 563 | struct sctp_shutdown_event *sse; |
... | ... | @@ -620,7 +620,7 @@ |
620 | 620 | * 5.3.1.6 SCTP_ADAPTION_INDICATION |
621 | 621 | */ |
622 | 622 | struct sctp_ulpevent *sctp_ulpevent_make_adaption_indication( |
623 | - const struct sctp_association *asoc, int gfp) | |
623 | + const struct sctp_association *asoc, unsigned int __nocast gfp) | |
624 | 624 | { |
625 | 625 | struct sctp_ulpevent *event; |
626 | 626 | struct sctp_adaption_event *sai; |
... | ... | @@ -657,7 +657,7 @@ |
657 | 657 | */ |
658 | 658 | struct sctp_ulpevent *sctp_ulpevent_make_rcvmsg(struct sctp_association *asoc, |
659 | 659 | struct sctp_chunk *chunk, |
660 | - int gfp) | |
660 | + unsigned int __nocast gfp) | |
661 | 661 | { |
662 | 662 | struct sctp_ulpevent *event = NULL; |
663 | 663 | struct sk_buff *skb; |
... | ... | @@ -718,7 +718,8 @@ |
718 | 718 | * various events. |
719 | 719 | */ |
720 | 720 | struct sctp_ulpevent *sctp_ulpevent_make_pdapi( |
721 | - const struct sctp_association *asoc, __u32 indication, int gfp) | |
721 | + const struct sctp_association *asoc, __u32 indication, | |
722 | + unsigned int __nocast gfp) | |
722 | 723 | { |
723 | 724 | struct sctp_ulpevent *event; |
724 | 725 | struct sctp_pdapi_event *pd; |
net/sctp/ulpqueue.c
... | ... | @@ -100,7 +100,7 @@ |
100 | 100 | |
101 | 101 | /* Process an incoming DATA chunk. */ |
102 | 102 | int sctp_ulpq_tail_data(struct sctp_ulpq *ulpq, struct sctp_chunk *chunk, |
103 | - int gfp) | |
103 | + unsigned int __nocast gfp) | |
104 | 104 | { |
105 | 105 | struct sk_buff_head temp; |
106 | 106 | sctp_data_chunk_t *hdr; |
... | ... | @@ -778,7 +778,8 @@ |
778 | 778 | |
779 | 779 | /* Partial deliver the first message as there is pressure on rwnd. */ |
780 | 780 | void sctp_ulpq_partial_delivery(struct sctp_ulpq *ulpq, |
781 | - struct sctp_chunk *chunk, int gfp) | |
781 | + struct sctp_chunk *chunk, | |
782 | + unsigned int __nocast gfp) | |
782 | 783 | { |
783 | 784 | struct sctp_ulpevent *event; |
784 | 785 | struct sctp_association *asoc; |
... | ... | @@ -802,7 +803,7 @@ |
802 | 803 | |
803 | 804 | /* Renege some packets to make room for an incoming chunk. */ |
804 | 805 | void sctp_ulpq_renege(struct sctp_ulpq *ulpq, struct sctp_chunk *chunk, |
805 | - int gfp) | |
806 | + unsigned int __nocast gfp) | |
806 | 807 | { |
807 | 808 | struct sctp_association *asoc; |
808 | 809 | __u16 needed, freed; |
... | ... | @@ -841,7 +842,7 @@ |
841 | 842 | /* Notify the application if an association is aborted and in |
842 | 843 | * partial delivery mode. Send up any pending received messages. |
843 | 844 | */ |
844 | -void sctp_ulpq_abort_pd(struct sctp_ulpq *ulpq, int gfp) | |
845 | +void sctp_ulpq_abort_pd(struct sctp_ulpq *ulpq, unsigned int __nocast gfp) | |
845 | 846 | { |
846 | 847 | struct sctp_ulpevent *ev = NULL; |
847 | 848 | struct sock *sk; |
net/unix/Kconfig
1 | +# | |
2 | +# Unix Domain Sockets | |
3 | +# | |
4 | + | |
5 | +config UNIX | |
6 | + tristate "Unix domain sockets" | |
7 | + ---help--- | |
8 | + If you say Y here, you will include support for Unix domain sockets; | |
9 | + sockets are the standard Unix mechanism for establishing and | |
10 | + accessing network connections. Many commonly used programs such as | |
11 | + the X Window system and syslog use these sockets even if your | |
12 | + machine is not connected to any network. Unless you are working on | |
13 | + an embedded system or something similar, you therefore definitely | |
14 | + want to say Y here. | |
15 | + | |
16 | + To compile this driver as a module, choose M here: the module will be | |
17 | + called unix. Note that several important services won't work | |
18 | + correctly if you say M here and then neglect to load the module. | |
19 | + | |
20 | + Say Y unless you know what you are doing. |
net/wanrouter/Kconfig
1 | +# | |
2 | +# Configuration for WAN router | |
3 | +# | |
4 | + | |
5 | +config WAN_ROUTER | |
6 | + tristate "WAN router" | |
7 | + depends on EXPERIMENTAL | |
8 | + ---help--- | |
9 | + Wide Area Networks (WANs), such as X.25, frame relay and leased | |
10 | + lines, are used to interconnect Local Area Networks (LANs) over vast | |
11 | + distances with data transfer rates significantly higher than those | |
12 | + achievable with commonly used asynchronous modem connections. | |
13 | + Usually, a quite expensive external device called a `WAN router' is | |
14 | + needed to connect to a WAN. | |
15 | + | |
16 | + As an alternative, WAN routing can be built into the Linux kernel. | |
17 | + With relatively inexpensive WAN interface cards available on the | |
18 | + market, a perfectly usable router can be built for less than half | |
19 | + the price of an external router. If you have one of those cards and | |
20 | + wish to use your Linux box as a WAN router, say Y here and also to | |
21 | + the WAN driver for your card, below. You will then need the | |
22 | + wan-tools package which is available from <ftp://ftp.sangoma.com/>. | |
23 | + Read <file:Documentation/networking/wan-router.txt> for more | |
24 | + information. | |
25 | + | |
26 | + To compile WAN routing support as a module, choose M here: the | |
27 | + module will be called wanrouter. | |
28 | + | |
29 | + If unsure, say N. |
net/wanrouter/wanmain.c
... | ... | @@ -358,10 +358,10 @@ |
358 | 358 | */ |
359 | 359 | |
360 | 360 | |
361 | -unsigned short wanrouter_type_trans(struct sk_buff *skb, struct net_device *dev) | |
361 | +__be16 wanrouter_type_trans(struct sk_buff *skb, struct net_device *dev) | |
362 | 362 | { |
363 | 363 | int cnt = skb->data[0] ? 0 : 1; /* there may be a pad present */ |
364 | - unsigned short ethertype; | |
364 | + __be16 ethertype; | |
365 | 365 | |
366 | 366 | switch (skb->data[cnt]) { |
367 | 367 | case NLPID_IP: /* IP datagramm */ |
... | ... | @@ -379,7 +379,7 @@ |
379 | 379 | skb->data[cnt+3], dev->name); |
380 | 380 | return 0; |
381 | 381 | } |
382 | - ethertype = *((unsigned short*)&skb->data[cnt+4]); | |
382 | + ethertype = *((__be16*)&skb->data[cnt+4]); | |
383 | 383 | cnt += 6; |
384 | 384 | break; |
385 | 385 |
net/x25/Kconfig
1 | +# | |
2 | +# CCITT X.25 Packet Layer | |
3 | +# | |
4 | + | |
5 | +config X25 | |
6 | + tristate "CCITT X.25 Packet Layer (EXPERIMENTAL)" | |
7 | + depends on EXPERIMENTAL | |
8 | + ---help--- | |
9 | + X.25 is a set of standardized network protocols, similar in scope to | |
10 | + frame relay; the one physical line from your box to the X.25 network | |
11 | + entry point can carry several logical point-to-point connections | |
12 | + (called "virtual circuits") to other computers connected to the X.25 | |
13 | + network. Governments, banks, and other organizations tend to use it | |
14 | + to connect to each other or to form Wide Area Networks (WANs). Many | |
15 | + countries have public X.25 networks. X.25 consists of two | |
16 | + protocols: the higher level Packet Layer Protocol (PLP) (say Y here | |
17 | + if you want that) and the lower level data link layer protocol LAPB | |
18 | + (say Y to "LAPB Data Link Driver" below if you want that). | |
19 | + | |
20 | + You can read more about X.25 at <http://www.sangoma.com/x25.htm> and | |
21 | + <http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/cbook/cx25.htm>. | |
22 | + Information about X.25 for Linux is contained in the files | |
23 | + <file:Documentation/networking/x25.txt> and | |
24 | + <file:Documentation/networking/x25-iface.txt>. | |
25 | + | |
26 | + One connects to an X.25 network either with a dedicated network card | |
27 | + using the X.21 protocol (not yet supported by Linux) or one can do | |
28 | + X.25 over a standard telephone line using an ordinary modem (say Y | |
29 | + to "X.25 async driver" below) or over Ethernet using an ordinary | |
30 | + Ethernet card and the LAPB over Ethernet (say Y to "LAPB Data Link | |
31 | + Driver" and "LAPB over Ethernet driver" below). | |
32 | + | |
33 | + To compile this driver as a module, choose M here: the module | |
34 | + will be called x25. If unsure, say N. |
net/xfrm/Kconfig
1 | 1 | # |
2 | 2 | # XFRM configuration |
3 | 3 | # |
4 | +config XFRM | |
5 | + bool | |
6 | + depends on NET | |
7 | + | |
4 | 8 | config XFRM_USER |
5 | 9 | tristate "IPsec user configuration interface" |
6 | 10 | depends on INET && XFRM |
... | ... | @@ -9,4 +13,14 @@ |
9 | 13 | by native Linux tools. |
10 | 14 | |
11 | 15 | If unsure, say Y. |
16 | + | |
17 | +config NET_KEY | |
18 | + tristate "PF_KEY sockets" | |
19 | + select XFRM | |
20 | + ---help--- | |
21 | + PF_KEYv2 socket family, compatible to KAME ones. | |
22 | + They are required if you are going to use IPsec tools ported | |
23 | + from KAME. | |
24 | + | |
25 | + Say Y unless you know what you are doing. |