Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
4a14ac72
Commit
4a14ac72
authored
May 25, 2003
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge nuts.ninka.net:/home/davem/src/BK/network-2.5
into nuts.ninka.net:/home/davem/src/BK/net-2.5
parents
4b6243ca
a443da37
Changes
26
Show whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
154 additions
and
158 deletions
+154
-158
arch/sparc64/Kconfig
arch/sparc64/Kconfig
+6
-0
arch/sparc64/defconfig
arch/sparc64/defconfig
+99
-0
drivers/net/setup.c
drivers/net/setup.c
+0
-10
drivers/net/tokenring/madgemc.c
drivers/net/tokenring/madgemc.c
+5
-17
include/linux/interrupt.h
include/linux/interrupt.h
+0
-18
include/linux/netfilter_ipv4/ip_conntrack.h
include/linux/netfilter_ipv4/ip_conntrack.h
+12
-0
include/linux/netfilter_ipv4/ip_nat_helper.h
include/linux/netfilter_ipv4/ip_nat_helper.h
+1
-2
include/net/neighbour.h
include/net/neighbour.h
+0
-1
include/net/tcp.h
include/net/tcp.h
+0
-4
net/core/dev.c
net/core/dev.c
+2
-2
net/core/neighbour.c
net/core/neighbour.c
+1
-15
net/decnet/dn_route.c
net/decnet/dn_route.c
+2
-6
net/ipv4/fib_hash.c
net/ipv4/fib_hash.c
+2
-13
net/ipv4/netfilter/ip_conntrack_amanda.c
net/ipv4/netfilter/ip_conntrack_amanda.c
+1
-0
net/ipv4/netfilter/ip_conntrack_ftp.c
net/ipv4/netfilter/ip_conntrack_ftp.c
+1
-0
net/ipv4/netfilter/ip_conntrack_irc.c
net/ipv4/netfilter/ip_conntrack_irc.c
+1
-0
net/ipv4/netfilter/ip_conntrack_tftp.c
net/ipv4/netfilter/ip_conntrack_tftp.c
+2
-0
net/ipv4/netfilter/ip_nat_amanda.c
net/ipv4/netfilter/ip_nat_amanda.c
+1
-1
net/ipv4/netfilter/ip_nat_ftp.c
net/ipv4/netfilter/ip_nat_ftp.c
+2
-0
net/ipv4/netfilter/ip_nat_helper.c
net/ipv4/netfilter/ip_nat_helper.c
+0
-53
net/ipv4/netfilter/ip_nat_irc.c
net/ipv4/netfilter/ip_nat_irc.c
+1
-0
net/ipv4/netfilter/ip_nat_snmp_basic.c
net/ipv4/netfilter/ip_nat_snmp_basic.c
+2
-2
net/ipv4/route.c
net/ipv4/route.c
+3
-7
net/ipv4/tcp_minisocks.c
net/ipv4/tcp_minisocks.c
+6
-7
net/irda/irda_device.c
net/irda/irda_device.c
+2
-0
net/irda/irsyms.c
net/irda/irsyms.c
+2
-0
No files found.
arch/sparc64/Kconfig
View file @
4a14ac72
...
@@ -1445,6 +1445,12 @@ source "net/Kconfig"
...
@@ -1445,6 +1445,12 @@ source "net/Kconfig"
source "net/ax25/Kconfig"
source "net/ax25/Kconfig"
source "net/irda/Kconfig"
source "drivers/isdn/Kconfig"
source "drivers/telephony/Kconfig"
# This one must be before the filesystem configs. -DaveM
# This one must be before the filesystem configs. -DaveM
menu "Unix 98 PTY support"
menu "Unix 98 PTY support"
...
...
arch/sparc64/defconfig
View file @
4a14ac72
...
@@ -444,6 +444,7 @@ CONFIG_IPV6=m
...
@@ -444,6 +444,7 @@ CONFIG_IPV6=m
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_PRIVACY=y
CONFIG_INET6_AH=m
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
#
#
# IPv6: Netfilter Configuration
# IPv6: Netfilter Configuration
...
@@ -741,6 +742,104 @@ CONFIG_ROSE=m
...
@@ -741,6 +742,104 @@ CONFIG_ROSE=m
# CONFIG_BAYCOM_EPP is not set
# CONFIG_BAYCOM_EPP is not set
# CONFIG_YAM is not set
# CONFIG_YAM is not set
#
# IrDA (infrared) support
#
CONFIG_IRDA=m
#
# IrDA protocols
#
CONFIG_IRLAN=m
CONFIG_IRNET=m
CONFIG_IRCOMM=m
CONFIG_IRDA_ULTRA=y
#
# IrDA options
#
CONFIG_IRDA_CACHE_LAST_LSAP=y
CONFIG_IRDA_FAST_RR=y
# CONFIG_IRDA_DEBUG is not set
#
# Infrared-port device drivers
#
#
# SIR device drivers
#
# CONFIG_IRTTY_SIR is not set
#
# Dongle support
#
# CONFIG_DONGLE is not set
#
# Old SIR device drivers
#
# CONFIG_IRTTY_OLD is not set
# CONFIG_IRPORT_SIR is not set
#
# Old Serial dongle support
#
# CONFIG_DONGLE_OLD is not set
#
# FIR device drivers
#
# CONFIG_USB_IRDA is not set
# CONFIG_NSC_FIR is not set
# CONFIG_WINBOND_FIR is not set
# CONFIG_TOSHIBA_OLD is not set
# CONFIG_TOSHIBA_FIR is not set
# CONFIG_SMC_IRCC_FIR is not set
# CONFIG_ALI_FIR is not set
# CONFIG_VLSI_FIR is not set
#
# ISDN subsystem
#
CONFIG_ISDN_BOOL=y
#
# Old ISDN4Linux
#
# CONFIG_ISDN is not set
#
# CAPI subsystem
#
CONFIG_ISDN_CAPI=m
CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_ISDN_CAPI_CAPI20=m
CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
CONFIG_ISDN_CAPI_CAPIFS=m
#
# CAPI hardware drivers
#
#
# Active AVM cards
#
# CONFIG_CAPI_AVM is not set
#
# Active Eicon DIVA Server cards
#
# CONFIG_CAPI_EICON is not set
#
# Telephony Support
#
CONFIG_PHONE=m
CONFIG_PHONE_IXJ=m
# CONFIG_PHONE_IXJ_PCMCIA is not set
#
#
# Unix 98 PTY support
# Unix 98 PTY support
#
#
...
...
drivers/net/setup.c
View file @
4a14ac72
...
@@ -17,8 +17,6 @@ extern int sdla_setup(void);
...
@@ -17,8 +17,6 @@ extern int sdla_setup(void);
extern
int
sdla_c_setup
(
void
);
extern
int
sdla_c_setup
(
void
);
extern
int
lmc_setup
(
void
);
extern
int
lmc_setup
(
void
);
extern
int
madgemc_probe
(
void
);
/*
/*
* Devices in this list must do new style probing. That is they must
* Devices in this list must do new style probing. That is they must
* allocate their own device objects and do their own bus scans.
* allocate their own device objects and do their own bus scans.
...
@@ -50,14 +48,6 @@ static struct net_probe pci_probes[] __initdata = {
...
@@ -50,14 +48,6 @@ static struct net_probe pci_probes[] __initdata = {
#if defined(CONFIG_LANMEDIA)
#if defined(CONFIG_LANMEDIA)
{
lmc_setup
,
0
},
{
lmc_setup
,
0
},
#endif
#endif
/*
* Token Ring Drivers
*/
#ifdef CONFIG_MADGEMC
{
madgemc_probe
,
0
},
#endif
{
NULL
,
0
},
{
NULL
,
0
},
};
};
...
...
drivers/net/tokenring/madgemc.c
View file @
4a14ac72
...
@@ -63,7 +63,6 @@ struct madgemc_card {
...
@@ -63,7 +63,6 @@ struct madgemc_card {
static
struct
madgemc_card
*
madgemc_card_list
;
static
struct
madgemc_card
*
madgemc_card_list
;
int
madgemc_probe
(
void
);
static
int
madgemc_open
(
struct
net_device
*
dev
);
static
int
madgemc_open
(
struct
net_device
*
dev
);
static
int
madgemc_close
(
struct
net_device
*
dev
);
static
int
madgemc_close
(
struct
net_device
*
dev
);
static
int
madgemc_chipset_init
(
struct
net_device
*
dev
);
static
int
madgemc_chipset_init
(
struct
net_device
*
dev
);
...
@@ -152,7 +151,7 @@ static void madgemc_sifwritew(struct net_device *dev, unsigned short val, unsign
...
@@ -152,7 +151,7 @@ static void madgemc_sifwritew(struct net_device *dev, unsigned short val, unsign
int
__init
madgemc_probe
(
void
)
static
int
__init
madgemc_probe
(
void
)
{
{
static
int
versionprinted
;
static
int
versionprinted
;
struct
net_device
*
dev
;
struct
net_device
*
dev
;
...
@@ -773,19 +772,7 @@ static int madgemc_mcaproc(char *buf, int slot, void *d)
...
@@ -773,19 +772,7 @@ static int madgemc_mcaproc(char *buf, int slot, void *d)
return
len
;
return
len
;
}
}
#ifdef MODULE
static
void
__exit
madgemc_exit
(
void
)
int
init_module
(
void
)
{
/* Probe for cards. */
if
(
madgemc_probe
())
{
printk
(
KERN_NOTICE
"madgemc.c: No cards found.
\n
"
);
}
/* lock_tms380_module(); */
return
(
0
);
}
void
cleanup_module
(
void
)
{
{
struct
net_device
*
dev
;
struct
net_device
*
dev
;
struct
madgemc_card
*
this_card
;
struct
madgemc_card
*
this_card
;
...
@@ -801,9 +788,10 @@ void cleanup_module(void)
...
@@ -801,9 +788,10 @@ void cleanup_module(void)
madgemc_card_list
=
this_card
->
next
;
madgemc_card_list
=
this_card
->
next
;
kfree
(
this_card
);
kfree
(
this_card
);
}
}
/* unlock_tms380_module(); */
}
}
#endif
/* MODULE */
module_init
(
madgemc_probe
);
module_exit
(
madgemc_exit
);
MODULE_LICENSE
(
"GPL"
);
MODULE_LICENSE
(
"GPL"
);
...
...
include/linux/interrupt.h
View file @
4a14ac72
...
@@ -213,24 +213,6 @@ extern void tasklet_kill(struct tasklet_struct *t);
...
@@ -213,24 +213,6 @@ extern void tasklet_kill(struct tasklet_struct *t);
extern
void
tasklet_init
(
struct
tasklet_struct
*
t
,
extern
void
tasklet_init
(
struct
tasklet_struct
*
t
,
void
(
*
func
)(
unsigned
long
),
unsigned
long
data
);
void
(
*
func
)(
unsigned
long
),
unsigned
long
data
);
#ifdef CONFIG_SMP
#define SMP_TIMER_NAME(name) name##__thr
#define SMP_TIMER_DEFINE(name, task) \
DECLARE_TASKLET(task, name##__thr, 0); \
static void name (unsigned long dummy) \
{ \
tasklet_schedule(&(task)); \
}
#else
/* CONFIG_SMP */
#define SMP_TIMER_NAME(name) name
#define SMP_TIMER_DEFINE(name, task)
#endif
/* CONFIG_SMP */
/*
/*
* Autoprobing for irqs:
* Autoprobing for irqs:
*
*
...
...
include/linux/netfilter_ipv4/ip_conntrack.h
View file @
4a14ac72
...
@@ -7,6 +7,7 @@
...
@@ -7,6 +7,7 @@
#include <linux/config.h>
#include <linux/config.h>
#include <linux/netfilter_ipv4/ip_conntrack_tuple.h>
#include <linux/netfilter_ipv4/ip_conntrack_tuple.h>
#include <linux/bitops.h>
#include <linux/bitops.h>
#include <linux/compiler.h>
#include <asm/atomic.h>
#include <asm/atomic.h>
enum
ip_conntrack_info
enum
ip_conntrack_info
...
@@ -266,5 +267,16 @@ static inline int is_confirmed(struct ip_conntrack *ct)
...
@@ -266,5 +267,16 @@ static inline int is_confirmed(struct ip_conntrack *ct)
}
}
extern
unsigned
int
ip_conntrack_htable_size
;
extern
unsigned
int
ip_conntrack_htable_size
;
/* eg. PROVIDES_CONNTRACK(ftp); */
#define PROVIDES_CONNTRACK(name) \
int needs_ip_conntrack_##name; \
EXPORT_SYMBOL(needs_ip_conntrack_##name)
/*. eg. NEEDS_CONNTRACK(ftp); */
#define NEEDS_CONNTRACK(name) \
extern int needs_ip_conntrack_##name; \
static int *need_ip_conntrack_##name __attribute_used__ = &needs_ip_conntrack_##name
#endif
/* __KERNEL__ */
#endif
/* __KERNEL__ */
#endif
/* _IP_CONNTRACK_H */
#endif
/* _IP_CONNTRACK_H */
include/linux/netfilter_ipv4/ip_nat_helper.h
View file @
4a14ac72
...
@@ -3,14 +3,13 @@
...
@@ -3,14 +3,13 @@
/* NAT protocol helper routines. */
/* NAT protocol helper routines. */
#include <linux/netfilter_ipv4/ip_conntrack.h>
#include <linux/netfilter_ipv4/ip_conntrack.h>
#include <linux/module.h>
struct
sk_buff
;
struct
sk_buff
;
/* Flags */
/* Flags */
/* NAT helper must be called on every packet (for TCP) */
/* NAT helper must be called on every packet (for TCP) */
#define IP_NAT_HELPER_F_ALWAYS 0x01
#define IP_NAT_HELPER_F_ALWAYS 0x01
/* Standalone NAT helper, without a conntrack part */
#define IP_NAT_HELPER_F_STANDALONE 0x02
struct
ip_nat_helper
struct
ip_nat_helper
{
{
...
...
include/net/neighbour.h
View file @
4a14ac72
...
@@ -165,7 +165,6 @@ struct neigh_table
...
@@ -165,7 +165,6 @@ struct neigh_table
unsigned
long
last_rand
;
unsigned
long
last_rand
;
struct
neigh_parms
*
parms_list
;
struct
neigh_parms
*
parms_list
;
kmem_cache_t
*
kmem_cachep
;
kmem_cache_t
*
kmem_cachep
;
struct
tasklet_struct
gc_task
;
struct
neigh_statistics
stats
;
struct
neigh_statistics
stats
;
struct
neighbour
*
hash_buckets
[
NEIGH_HASHMASK
+
1
];
struct
neighbour
*
hash_buckets
[
NEIGH_HASHMASK
+
1
];
struct
pneigh_entry
*
phash_buckets
[
PNEIGH_HASHMASK
+
1
];
struct
pneigh_entry
*
phash_buckets
[
PNEIGH_HASHMASK
+
1
];
...
...
include/net/tcp.h
View file @
4a14ac72
...
@@ -362,10 +362,6 @@ static __inline__ int tcp_sk_listen_hashfn(struct sock *sk)
...
@@ -362,10 +362,6 @@ static __inline__ int tcp_sk_listen_hashfn(struct sock *sk)
#define MAX_TCP_KEEPCNT 127
#define MAX_TCP_KEEPCNT 127
#define MAX_TCP_SYNCNT 127
#define MAX_TCP_SYNCNT 127
/* TIME_WAIT reaping mechanism. */
#define TCP_TWKILL_SLOTS 8
/* Please keep this a power of 2. */
#define TCP_TWKILL_PERIOD (TCP_TIMEWAIT_LEN/TCP_TWKILL_SLOTS)
#define TCP_SYNQ_INTERVAL (HZ/5)
/* Period of SYNACK timer */
#define TCP_SYNQ_INTERVAL (HZ/5)
/* Period of SYNACK timer */
#define TCP_SYNQ_HSIZE 512
/* Size of SYNACK hash table */
#define TCP_SYNQ_HSIZE 512
/* Size of SYNACK hash table */
...
...
net/core/dev.c
View file @
4a14ac72
...
@@ -2754,6 +2754,8 @@ void netdev_run_todo(void)
...
@@ -2754,6 +2754,8 @@ void netdev_run_todo(void)
dev
->
next
=
NULL
;
dev
->
next
=
NULL
;
netdev_unregister_sysfs
(
dev
);
netdev_wait_allrefs
(
dev
);
netdev_wait_allrefs
(
dev
);
BUG_ON
(
atomic_read
(
&
dev
->
refcnt
));
BUG_ON
(
atomic_read
(
&
dev
->
refcnt
));
...
@@ -2842,8 +2844,6 @@ int unregister_netdevice(struct net_device *dev)
...
@@ -2842,8 +2844,6 @@ int unregister_netdevice(struct net_device *dev)
free_divert_blk
(
dev
);
free_divert_blk
(
dev
);
netdev_unregister_sysfs
(
dev
);
spin_lock
(
&
unregister_todo_lock
);
spin_lock
(
&
unregister_todo_lock
);
dev
->
next
=
unregister_todo
;
dev
->
next
=
unregister_todo
;
unregister_todo
=
dev
;
unregister_todo
=
dev
;
...
...
net/core/neighbour.c
View file @
4a14ac72
...
@@ -540,7 +540,7 @@ static void neigh_sync(struct neighbour *n)
...
@@ -540,7 +540,7 @@ static void neigh_sync(struct neighbour *n)
}
}
}
}
static
void
SMP_TIMER_NAME
(
neigh_periodic_timer
)
(
unsigned
long
arg
)
static
void
neigh_periodic_timer
(
unsigned
long
arg
)
{
{
struct
neigh_table
*
tbl
=
(
struct
neigh_table
*
)
arg
;
struct
neigh_table
*
tbl
=
(
struct
neigh_table
*
)
arg
;
unsigned
long
now
=
jiffies
;
unsigned
long
now
=
jiffies
;
...
@@ -605,15 +605,6 @@ static void SMP_TIMER_NAME(neigh_periodic_timer)(unsigned long arg)
...
@@ -605,15 +605,6 @@ static void SMP_TIMER_NAME(neigh_periodic_timer)(unsigned long arg)
write_unlock
(
&
tbl
->
lock
);
write_unlock
(
&
tbl
->
lock
);
}
}
#ifdef CONFIG_SMP
static
void
neigh_periodic_timer
(
unsigned
long
arg
)
{
struct
neigh_table
*
tbl
=
(
struct
neigh_table
*
)
arg
;
tasklet_schedule
(
&
tbl
->
gc_task
);
}
#endif
static
__inline__
int
neigh_max_probes
(
struct
neighbour
*
n
)
static
__inline__
int
neigh_max_probes
(
struct
neighbour
*
n
)
{
{
struct
neigh_parms
*
p
=
n
->
parms
;
struct
neigh_parms
*
p
=
n
->
parms
;
...
@@ -1147,10 +1138,6 @@ void neigh_table_init(struct neigh_table *tbl)
...
@@ -1147,10 +1138,6 @@ void neigh_table_init(struct neigh_table *tbl)
15
)
&
~
15
,
15
)
&
~
15
,
0
,
SLAB_HWCACHE_ALIGN
,
0
,
SLAB_HWCACHE_ALIGN
,
NULL
,
NULL
);
NULL
,
NULL
);
#ifdef CONFIG_SMP
tasklet_init
(
&
tbl
->
gc_task
,
SMP_TIMER_NAME
(
neigh_periodic_timer
),
(
unsigned
long
)
tbl
);
#endif
tbl
->
lock
=
RW_LOCK_UNLOCKED
;
tbl
->
lock
=
RW_LOCK_UNLOCKED
;
init_timer
(
&
tbl
->
gc_timer
);
init_timer
(
&
tbl
->
gc_timer
);
tbl
->
gc_timer
.
data
=
(
unsigned
long
)
tbl
;
tbl
->
gc_timer
.
data
=
(
unsigned
long
)
tbl
;
...
@@ -1178,7 +1165,6 @@ int neigh_table_clear(struct neigh_table *tbl)
...
@@ -1178,7 +1165,6 @@ int neigh_table_clear(struct neigh_table *tbl)
/* It is not clean... Fix it to unload IPv6 module safely */
/* It is not clean... Fix it to unload IPv6 module safely */
del_timer_sync
(
&
tbl
->
gc_timer
);
del_timer_sync
(
&
tbl
->
gc_timer
);
tasklet_kill
(
&
tbl
->
gc_task
);
del_timer_sync
(
&
tbl
->
proxy_timer
);
del_timer_sync
(
&
tbl
->
proxy_timer
);
pneigh_queue_purge
(
&
tbl
->
proxy_queue
);
pneigh_queue_purge
(
&
tbl
->
proxy_queue
);
neigh_ifdown
(
tbl
,
NULL
);
neigh_ifdown
(
tbl
,
NULL
);
...
...
net/decnet/dn_route.c
View file @
4a14ac72
...
@@ -155,7 +155,7 @@ static inline void dnrt_drop(struct dn_route *rt)
...
@@ -155,7 +155,7 @@ static inline void dnrt_drop(struct dn_route *rt)
call_rcu
(
&
rt
->
u
.
dst
.
rcu_head
,
(
void
(
*
)(
void
*
))
dst_free
,
&
rt
->
u
.
dst
);
call_rcu
(
&
rt
->
u
.
dst
.
rcu_head
,
(
void
(
*
)(
void
*
))
dst_free
,
&
rt
->
u
.
dst
);
}
}
static
void
SMP_TIMER_NAME
(
dn_dst_check_expire
)
(
unsigned
long
dummy
)
static
void
dn_dst_check_expire
(
unsigned
long
dummy
)
{
{
int
i
;
int
i
;
struct
dn_route
*
rt
,
**
rtp
;
struct
dn_route
*
rt
,
**
rtp
;
...
@@ -185,8 +185,6 @@ static void SMP_TIMER_NAME(dn_dst_check_expire)(unsigned long dummy)
...
@@ -185,8 +185,6 @@ static void SMP_TIMER_NAME(dn_dst_check_expire)(unsigned long dummy)
mod_timer
(
&
dn_route_timer
,
now
+
decnet_dst_gc_interval
*
HZ
);
mod_timer
(
&
dn_route_timer
,
now
+
decnet_dst_gc_interval
*
HZ
);
}
}
SMP_TIMER_DEFINE
(
dn_dst_check_expire
,
dn_dst_task
);
static
int
dn_dst_gc
(
void
)
static
int
dn_dst_gc
(
void
)
{
{
struct
dn_route
*
rt
,
**
rtp
;
struct
dn_route
*
rt
,
**
rtp
;
...
@@ -319,7 +317,7 @@ static int dn_insert_route(struct dn_route *rt, unsigned hash, struct dn_route *
...
@@ -319,7 +317,7 @@ static int dn_insert_route(struct dn_route *rt, unsigned hash, struct dn_route *
return
0
;
return
0
;
}
}
void
SMP_TIMER_NAME
(
dn_run_flush
)
(
unsigned
long
dummy
)
void
dn_run_flush
(
unsigned
long
dummy
)
{
{
int
i
;
int
i
;
struct
dn_route
*
rt
,
*
next
;
struct
dn_route
*
rt
,
*
next
;
...
@@ -341,8 +339,6 @@ void SMP_TIMER_NAME(dn_run_flush)(unsigned long dummy)
...
@@ -341,8 +339,6 @@ void SMP_TIMER_NAME(dn_run_flush)(unsigned long dummy)
}
}
}
}
SMP_TIMER_DEFINE
(
dn_run_flush
,
dn_flush_task
);
static
spinlock_t
dn_rt_flush_lock
=
SPIN_LOCK_UNLOCKED
;
static
spinlock_t
dn_rt_flush_lock
=
SPIN_LOCK_UNLOCKED
;
void
dn_rt_cache_flush
(
int
delay
)
void
dn_rt_cache_flush
(
int
delay
)
...
...
net/ipv4/fib_hash.c
View file @
4a14ac72
...
@@ -151,17 +151,6 @@ static rwlock_t fib_hash_lock = RW_LOCK_UNLOCKED;
...
@@ -151,17 +151,6 @@ static rwlock_t fib_hash_lock = RW_LOCK_UNLOCKED;
#define FZ_MAX_DIVISOR ((PAGE_SIZE<<MAX_ORDER) / sizeof(struct fib_node *))
#define FZ_MAX_DIVISOR ((PAGE_SIZE<<MAX_ORDER) / sizeof(struct fib_node *))
static
unsigned
long
size_to_order
(
unsigned
long
size
)
{
unsigned
long
order
;
for
(
order
=
0
;
order
<
MAX_ORDER
;
order
++
)
{
if
((
PAGE_SIZE
<<
order
)
>=
size
)
break
;
}
return
order
;
}
static
struct
fib_node
**
fz_hash_alloc
(
int
divisor
)
static
struct
fib_node
**
fz_hash_alloc
(
int
divisor
)
{
{
unsigned
long
size
=
divisor
*
sizeof
(
struct
fib_node
*
);
unsigned
long
size
=
divisor
*
sizeof
(
struct
fib_node
*
);
...
@@ -170,7 +159,7 @@ static struct fib_node **fz_hash_alloc(int divisor)
...
@@ -170,7 +159,7 @@ static struct fib_node **fz_hash_alloc(int divisor)
return
kmalloc
(
size
,
GFP_KERNEL
);
return
kmalloc
(
size
,
GFP_KERNEL
);
}
else
{
}
else
{
return
(
struct
fib_node
**
)
return
(
struct
fib_node
**
)
__get_free_pages
(
GFP_KERNEL
,
size_to
_order
(
size
));
__get_free_pages
(
GFP_KERNEL
,
get
_order
(
size
));
}
}
}
}
...
@@ -201,7 +190,7 @@ static void fz_hash_free(struct fib_node **hash, int divisor)
...
@@ -201,7 +190,7 @@ static void fz_hash_free(struct fib_node **hash, int divisor)
kfree
(
hash
);
kfree
(
hash
);
else
else
free_pages
((
unsigned
long
)
hash
,
free_pages
((
unsigned
long
)
hash
,
size_to
_order
(
divisor
*
sizeof
(
struct
fib_node
*
)));
get
_order
(
divisor
*
sizeof
(
struct
fib_node
*
)));
}
}
static
void
fn_rehash_zone
(
struct
fn_zone
*
fz
)
static
void
fn_rehash_zone
(
struct
fn_zone
*
fz
)
...
...
net/ipv4/netfilter/ip_conntrack_amanda.c
View file @
4a14ac72
...
@@ -207,6 +207,7 @@ static int __init init(void)
...
@@ -207,6 +207,7 @@ static int __init init(void)
return
0
;
return
0
;
}
}
PROVIDES_CONNTRACK
(
amanda
);
EXPORT_SYMBOL
(
ip_amanda_lock
);
EXPORT_SYMBOL
(
ip_amanda_lock
);
module_init
(
init
);
module_init
(
init
);
...
...
net/ipv4/netfilter/ip_conntrack_ftp.c
View file @
4a14ac72
...
@@ -437,6 +437,7 @@ static int __init init(void)
...
@@ -437,6 +437,7 @@ static int __init init(void)
return
0
;
return
0
;
}
}
PROVIDES_CONNTRACK
(
ftp
);
EXPORT_SYMBOL
(
ip_ftp_lock
);
EXPORT_SYMBOL
(
ip_ftp_lock
);
MODULE_LICENSE
(
"GPL"
);
MODULE_LICENSE
(
"GPL"
);
...
...
net/ipv4/netfilter/ip_conntrack_irc.c
View file @
4a14ac72
...
@@ -289,6 +289,7 @@ static void fini(void)
...
@@ -289,6 +289,7 @@ static void fini(void)
}
}
}
}
PROVIDES_CONNTRACK
(
irc
);
EXPORT_SYMBOL
(
ip_irc_lock
);
EXPORT_SYMBOL
(
ip_irc_lock
);
module_init
(
init
);
module_init
(
init
);
...
...
net/ipv4/netfilter/ip_conntrack_tftp.c
View file @
4a14ac72
...
@@ -130,5 +130,7 @@ static int __init init(void)
...
@@ -130,5 +130,7 @@ static int __init init(void)
return
(
0
);
return
(
0
);
}
}
PROVIDES_CONNTRACK
(
tftp
);
module_init
(
init
);
module_init
(
init
);
module_exit
(
fini
);
module_exit
(
fini
);
net/ipv4/netfilter/ip_nat_amanda.c
View file @
4a14ac72
...
@@ -221,6 +221,6 @@ static int __init init(void)
...
@@ -221,6 +221,6 @@ static int __init init(void)
return
ret
;
return
ret
;
}
}
NEEDS_CONNTRACK
(
amanda
);
module_init
(
init
);
module_init
(
init
);
module_exit
(
fini
);
module_exit
(
fini
);
net/ipv4/netfilter/ip_nat_ftp.c
View file @
4a14ac72
...
@@ -341,6 +341,8 @@ static int __init init(void)
...
@@ -341,6 +341,8 @@ static int __init init(void)
return
ret
;
return
ret
;
}
}
NEEDS_CONNTRACK
(
ftp
);
module_init
(
init
);
module_init
(
init
);
module_exit
(
fini
);
module_exit
(
fini
);
MODULE_LICENSE
(
"GPL"
);
MODULE_LICENSE
(
"GPL"
);
net/ipv4/netfilter/ip_nat_helper.c
View file @
4a14ac72
...
@@ -404,44 +404,6 @@ int ip_nat_helper_register(struct ip_nat_helper *me)
...
@@ -404,44 +404,6 @@ int ip_nat_helper_register(struct ip_nat_helper *me)
{
{
int
ret
=
0
;
int
ret
=
0
;
if
(
me
->
me
&&
!
(
me
->
flags
&
IP_NAT_HELPER_F_STANDALONE
))
{
struct
ip_conntrack_helper
*
ct_helper
;
if
((
ct_helper
=
ip_ct_find_helper
(
&
me
->
tuple
)))
{
if
(
!
try_module_get
(
ct_helper
->
me
))
return
-
EBUSY
;
}
else
{
/* We are a NAT helper for protocol X. If we need
* respective conntrack helper for protoccol X, compute
* conntrack helper name and try to load module */
char
name
[
MODULE_NAME_LEN
];
const
char
*
tmp
=
module_name
(
me
->
me
);
if
(
strlen
(
tmp
)
+
6
>
MODULE_NAME_LEN
)
{
printk
(
"%s: unable to "
"compute conntrack helper name "
"from %s
\n
"
,
__FUNCTION__
,
tmp
);
return
-
EBUSY
;
}
tmp
+=
6
;
sprintf
(
name
,
"ip_conntrack%s"
,
tmp
);
#ifdef CONFIG_KMOD
if
(
!
request_module
(
"ip_conntrack%s"
,
tmp
)
&&
(
ct_helper
=
ip_ct_find_helper
(
&
me
->
tuple
)))
{
if
(
!
try_module_get
(
ct_helper
->
me
))
return
-
EBUSY
;
}
else
{
printk
(
"unable to load module %s
\n
"
,
name
);
return
-
EBUSY
;
}
#else
printk
(
"unable to load module %s automatically "
"because kernel was compiled without kernel "
"module loader support
\n
"
,
name
);
return
-
EBUSY
;
#endif
}
}
WRITE_LOCK
(
&
ip_nat_lock
);
WRITE_LOCK
(
&
ip_nat_lock
);
if
(
LIST_FIND
(
&
helpers
,
helper_cmp
,
struct
ip_nat_helper
*
,
&
me
->
tuple
))
if
(
LIST_FIND
(
&
helpers
,
helper_cmp
,
struct
ip_nat_helper
*
,
&
me
->
tuple
))
ret
=
-
EBUSY
;
ret
=
-
EBUSY
;
...
@@ -484,19 +446,4 @@ void ip_nat_helper_unregister(struct ip_nat_helper *me)
...
@@ -484,19 +446,4 @@ void ip_nat_helper_unregister(struct ip_nat_helper *me)
which is just a long-winded way of making things
which is just a long-winded way of making things
worse. --RR */
worse. --RR */
ip_ct_selective_cleanup
(
kill_helper
,
me
);
ip_ct_selective_cleanup
(
kill_helper
,
me
);
/* If we are no standalone NAT helper, we need to decrement usage count
* on our conntrack helper */
if
(
me
->
me
&&
!
(
me
->
flags
&
IP_NAT_HELPER_F_STANDALONE
))
{
struct
ip_conntrack_helper
*
ct_helper
;
if
((
ct_helper
=
ip_ct_find_helper
(
&
me
->
tuple
)))
module_put
(
ct_helper
->
me
);
#ifdef CONFIG_MODULES
else
printk
(
"%s: unable to decrement usage count"
" of conntrack helper %s
\n
"
,
__FUNCTION__
,
me
->
me
->
name
);
#endif
}
}
}
net/ipv4/netfilter/ip_nat_irc.c
View file @
4a14ac72
...
@@ -279,6 +279,7 @@ static int __init init(void)
...
@@ -279,6 +279,7 @@ static int __init init(void)
return
ret
;
return
ret
;
}
}
NEEDS_CONNTRACK
(
irc
);
module_init
(
init
);
module_init
(
init
);
module_exit
(
fini
);
module_exit
(
fini
);
net/ipv4/netfilter/ip_nat_snmp_basic.c
View file @
4a14ac72
...
@@ -1306,7 +1306,7 @@ static unsigned int nat_help(struct ip_conntrack *ct,
...
@@ -1306,7 +1306,7 @@ static unsigned int nat_help(struct ip_conntrack *ct,
static
struct
ip_nat_helper
snmp
=
{
static
struct
ip_nat_helper
snmp
=
{
{
NULL
,
NULL
},
{
NULL
,
NULL
},
"snmp"
,
"snmp"
,
IP_NAT_HELPER_F_STANDALONE
,
0
,
THIS_MODULE
,
THIS_MODULE
,
{
{
0
,
{
__constant_htons
(
SNMP_PORT
)
}
},
{
{
0
,
{
__constant_htons
(
SNMP_PORT
)
}
},
{
0
,
{
0
},
IPPROTO_UDP
}
},
{
0
,
{
0
},
IPPROTO_UDP
}
},
...
@@ -1317,7 +1317,7 @@ static struct ip_nat_helper snmp = {
...
@@ -1317,7 +1317,7 @@ static struct ip_nat_helper snmp = {
static
struct
ip_nat_helper
snmp_trap
=
{
static
struct
ip_nat_helper
snmp_trap
=
{
{
NULL
,
NULL
},
{
NULL
,
NULL
},
"snmp_trap"
,
"snmp_trap"
,
IP_NAT_HELPER_F_STANDALONE
,
0
,
THIS_MODULE
,
THIS_MODULE
,
{
{
0
,
{
__constant_htons
(
SNMP_TRAP_PORT
)
}
},
{
{
0
,
{
__constant_htons
(
SNMP_TRAP_PORT
)
}
},
{
0
,
{
0
},
IPPROTO_UDP
}
},
{
0
,
{
0
},
IPPROTO_UDP
}
},
...
...
net/ipv4/route.c
View file @
4a14ac72
...
@@ -455,7 +455,7 @@ out: return ret;
...
@@ -455,7 +455,7 @@ out: return ret;
}
}
/* This runs via a timer and thus is always in BH context. */
/* This runs via a timer and thus is always in BH context. */
static
void
SMP_TIMER_NAME
(
rt_check_expire
)
(
unsigned
long
dummy
)
static
void
rt_check_expire
(
unsigned
long
dummy
)
{
{
static
int
rover
;
static
int
rover
;
int
i
=
rover
,
t
;
int
i
=
rover
,
t
;
...
@@ -498,12 +498,10 @@ static void SMP_TIMER_NAME(rt_check_expire)(unsigned long dummy)
...
@@ -498,12 +498,10 @@ static void SMP_TIMER_NAME(rt_check_expire)(unsigned long dummy)
mod_timer
(
&
rt_periodic_timer
,
now
+
ip_rt_gc_interval
);
mod_timer
(
&
rt_periodic_timer
,
now
+
ip_rt_gc_interval
);
}
}
SMP_TIMER_DEFINE
(
rt_check_expire
,
rt_gc_task
);
/* This can run from both BH and non-BH contexts, the latter
/* This can run from both BH and non-BH contexts, the latter
* in the case of a forced flush event.
* in the case of a forced flush event.
*/
*/
static
void
SMP_TIMER_NAME
(
rt_run_flush
)
(
unsigned
long
dummy
)
static
void
rt_run_flush
(
unsigned
long
dummy
)
{
{
int
i
;
int
i
;
struct
rtable
*
rth
,
*
next
;
struct
rtable
*
rth
,
*
next
;
...
@@ -526,8 +524,6 @@ static void SMP_TIMER_NAME(rt_run_flush)(unsigned long dummy)
...
@@ -526,8 +524,6 @@ static void SMP_TIMER_NAME(rt_run_flush)(unsigned long dummy)
}
}
}
}
SMP_TIMER_DEFINE
(
rt_run_flush
,
rt_cache_flush_task
);
static
spinlock_t
rt_flush_lock
=
SPIN_LOCK_UNLOCKED
;
static
spinlock_t
rt_flush_lock
=
SPIN_LOCK_UNLOCKED
;
void
rt_cache_flush
(
int
delay
)
void
rt_cache_flush
(
int
delay
)
...
@@ -559,7 +555,7 @@ void rt_cache_flush(int delay)
...
@@ -559,7 +555,7 @@ void rt_cache_flush(int delay)
if
(
delay
<=
0
)
{
if
(
delay
<=
0
)
{
spin_unlock_bh
(
&
rt_flush_lock
);
spin_unlock_bh
(
&
rt_flush_lock
);
SMP_TIMER_NAME
(
rt_run_flush
)
(
0
);
rt_run_flush
(
0
);
return
;
return
;
}
}
...
...
net/ipv4/tcp_minisocks.c
View file @
4a14ac72
...
@@ -418,11 +418,15 @@ static int tcp_tw_death_row_slot = 0;
...
@@ -418,11 +418,15 @@ static int tcp_tw_death_row_slot = 0;
static
void
tcp_twkill
(
unsigned
long
);
static
void
tcp_twkill
(
unsigned
long
);
/* TIME_WAIT reaping mechanism. */
#define TCP_TWKILL_SLOTS 8
/* Please keep this a power of 2. */
#define TCP_TWKILL_PERIOD (TCP_TIMEWAIT_LEN/TCP_TWKILL_SLOTS)
static
struct
tcp_tw_bucket
*
tcp_tw_death_row
[
TCP_TWKILL_SLOTS
];
static
struct
tcp_tw_bucket
*
tcp_tw_death_row
[
TCP_TWKILL_SLOTS
];
static
spinlock_t
tw_death_lock
=
SPIN_LOCK_UNLOCKED
;
static
spinlock_t
tw_death_lock
=
SPIN_LOCK_UNLOCKED
;
static
struct
timer_list
tcp_tw_timer
=
TIMER_INITIALIZER
(
tcp_twkill
,
0
,
0
);
static
struct
timer_list
tcp_tw_timer
=
TIMER_INITIALIZER
(
tcp_twkill
,
0
,
0
);
static
void
SMP_TIMER_NAME
(
tcp_twkill
)
(
unsigned
long
dummy
)
static
void
tcp_twkill
(
unsigned
long
dummy
)
{
{
struct
tcp_tw_bucket
*
tw
;
struct
tcp_tw_bucket
*
tw
;
int
killed
=
0
;
int
killed
=
0
;
...
@@ -462,8 +466,6 @@ static void SMP_TIMER_NAME(tcp_twkill)(unsigned long dummy)
...
@@ -462,8 +466,6 @@ static void SMP_TIMER_NAME(tcp_twkill)(unsigned long dummy)
spin_unlock
(
&
tw_death_lock
);
spin_unlock
(
&
tw_death_lock
);
}
}
SMP_TIMER_DEFINE
(
tcp_twkill
,
tcp_twkill_task
);
/* These are always called from BH context. See callers in
/* These are always called from BH context. See callers in
* tcp_input.c to verify this.
* tcp_input.c to verify this.
*/
*/
...
@@ -575,7 +577,7 @@ void tcp_tw_schedule(struct tcp_tw_bucket *tw, int timeo)
...
@@ -575,7 +577,7 @@ void tcp_tw_schedule(struct tcp_tw_bucket *tw, int timeo)
spin_unlock
(
&
tw_death_lock
);
spin_unlock
(
&
tw_death_lock
);
}
}
void
SMP_TIMER_NAME
(
tcp_twcal_tick
)
(
unsigned
long
dummy
)
void
tcp_twcal_tick
(
unsigned
long
dummy
)
{
{
int
n
,
slot
;
int
n
,
slot
;
unsigned
long
j
;
unsigned
long
j
;
...
@@ -626,9 +628,6 @@ void SMP_TIMER_NAME(tcp_twcal_tick)(unsigned long dummy)
...
@@ -626,9 +628,6 @@ void SMP_TIMER_NAME(tcp_twcal_tick)(unsigned long dummy)
spin_unlock
(
&
tw_death_lock
);
spin_unlock
(
&
tw_death_lock
);
}
}
SMP_TIMER_DEFINE
(
tcp_twcal_tick
,
tcp_twcal_tasklet
);
/* This is not only more efficient than what we used to do, it eliminates
/* This is not only more efficient than what we used to do, it eliminates
* a lot of code duplication between IPv4/IPv6 SYN recv processing. -DaveM
* a lot of code duplication between IPv4/IPv6 SYN recv processing. -DaveM
*
*
...
...
net/irda/irda_device.c
View file @
4a14ac72
...
@@ -532,6 +532,7 @@ int irda_device_set_mode(struct net_device* dev, int mode)
...
@@ -532,6 +532,7 @@ int irda_device_set_mode(struct net_device* dev, int mode)
return
ret
;
return
ret
;
}
}
#ifdef CONFIG_ISA
/*
/*
* Function setup_dma (idev, buffer, count, mode)
* Function setup_dma (idev, buffer, count, mode)
*
*
...
@@ -553,3 +554,4 @@ void setup_dma(int channel, char *buffer, int count, int mode)
...
@@ -553,3 +554,4 @@ void setup_dma(int channel, char *buffer, int count, int mode)
release_dma_lock
(
flags
);
release_dma_lock
(
flags
);
}
}
#endif
net/irda/irsyms.c
View file @
4a14ac72
...
@@ -167,7 +167,9 @@ EXPORT_SYMBOL(async_unwrap_char);
...
@@ -167,7 +167,9 @@ EXPORT_SYMBOL(async_unwrap_char);
EXPORT_SYMBOL
(
irda_calc_crc16
);
EXPORT_SYMBOL
(
irda_calc_crc16
);
EXPORT_SYMBOL
(
irda_crc16_table
);
EXPORT_SYMBOL
(
irda_crc16_table
);
EXPORT_SYMBOL
(
irda_start_timer
);
EXPORT_SYMBOL
(
irda_start_timer
);
#ifdef CONFIG_ISA
EXPORT_SYMBOL
(
setup_dma
);
EXPORT_SYMBOL
(
setup_dma
);
#endif
EXPORT_SYMBOL
(
infrared_mode
);
EXPORT_SYMBOL
(
infrared_mode
);
#ifdef CONFIG_IRTTY
#ifdef CONFIG_IRTTY
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment