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
nexedi
linux
Commits
020f46a3
Commit
020f46a3
authored
Jun 26, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
parents
41b6c373
4da62fc7
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
31 additions
and
26 deletions
+31
-26
include/linux/atalk.h
include/linux/atalk.h
+2
-0
net/core/pktgen.c
net/core/pktgen.c
+13
-16
net/ipv4/Kconfig
net/ipv4/Kconfig
+1
-2
net/ipv4/ipvs/ip_vs_ctl.c
net/ipv4/ipvs/ip_vs_ctl.c
+5
-3
net/ipv4/ipvs/ip_vs_sync.c
net/ipv4/ipvs/ip_vs_sync.c
+2
-2
net/netlink/af_netlink.c
net/netlink/af_netlink.c
+8
-3
No files found.
include/linux/atalk.h
View file @
020f46a3
#ifndef __LINUX_ATALK_H__
#ifndef __LINUX_ATALK_H__
#define __LINUX_ATALK_H__
#define __LINUX_ATALK_H__
#include <asm/byteorder.h>
/*
/*
* AppleTalk networking structures
* AppleTalk networking structures
*
*
...
...
net/core/pktgen.c
View file @
020f46a3
...
@@ -151,7 +151,7 @@
...
@@ -151,7 +151,7 @@
#include <asm/timex.h>
#include <asm/timex.h>
#define VERSION "pktgen v2.6
1
: Packet Generator for packet performance testing.\n"
#define VERSION "pktgen v2.6
2
: Packet Generator for packet performance testing.\n"
/* #define PG_DEBUG(a) a */
/* #define PG_DEBUG(a) a */
#define PG_DEBUG(a)
#define PG_DEBUG(a)
...
@@ -1921,6 +1921,11 @@ static struct sk_buff *fill_packet_ipv4(struct net_device *odev,
...
@@ -1921,6 +1921,11 @@ static struct sk_buff *fill_packet_ipv4(struct net_device *odev,
struct
iphdr
*
iph
;
struct
iphdr
*
iph
;
struct
pktgen_hdr
*
pgh
=
NULL
;
struct
pktgen_hdr
*
pgh
=
NULL
;
/* Update any of the values, used when we're incrementing various
* fields.
*/
mod_cur_headers
(
pkt_dev
);
skb
=
alloc_skb
(
pkt_dev
->
cur_pkt_size
+
64
+
16
,
GFP_ATOMIC
);
skb
=
alloc_skb
(
pkt_dev
->
cur_pkt_size
+
64
+
16
,
GFP_ATOMIC
);
if
(
!
skb
)
{
if
(
!
skb
)
{
sprintf
(
pkt_dev
->
result
,
"No memory"
);
sprintf
(
pkt_dev
->
result
,
"No memory"
);
...
@@ -1934,11 +1939,6 @@ static struct sk_buff *fill_packet_ipv4(struct net_device *odev,
...
@@ -1934,11 +1939,6 @@ static struct sk_buff *fill_packet_ipv4(struct net_device *odev,
iph
=
(
struct
iphdr
*
)
skb_put
(
skb
,
sizeof
(
struct
iphdr
));
iph
=
(
struct
iphdr
*
)
skb_put
(
skb
,
sizeof
(
struct
iphdr
));
udph
=
(
struct
udphdr
*
)
skb_put
(
skb
,
sizeof
(
struct
udphdr
));
udph
=
(
struct
udphdr
*
)
skb_put
(
skb
,
sizeof
(
struct
udphdr
));
/* Update any of the values, used when we're incrementing various
* fields.
*/
mod_cur_headers
(
pkt_dev
);
memcpy
(
eth
,
pkt_dev
->
hh
,
12
);
memcpy
(
eth
,
pkt_dev
->
hh
,
12
);
*
(
u16
*
)
&
eth
[
12
]
=
__constant_htons
(
ETH_P_IP
);
*
(
u16
*
)
&
eth
[
12
]
=
__constant_htons
(
ETH_P_IP
);
...
@@ -2192,7 +2192,12 @@ static struct sk_buff *fill_packet_ipv6(struct net_device *odev,
...
@@ -2192,7 +2192,12 @@ static struct sk_buff *fill_packet_ipv6(struct net_device *odev,
int
datalen
;
int
datalen
;
struct
ipv6hdr
*
iph
;
struct
ipv6hdr
*
iph
;
struct
pktgen_hdr
*
pgh
=
NULL
;
struct
pktgen_hdr
*
pgh
=
NULL
;
/* Update any of the values, used when we're incrementing various
* fields.
*/
mod_cur_headers
(
pkt_dev
);
skb
=
alloc_skb
(
pkt_dev
->
cur_pkt_size
+
64
+
16
,
GFP_ATOMIC
);
skb
=
alloc_skb
(
pkt_dev
->
cur_pkt_size
+
64
+
16
,
GFP_ATOMIC
);
if
(
!
skb
)
{
if
(
!
skb
)
{
sprintf
(
pkt_dev
->
result
,
"No memory"
);
sprintf
(
pkt_dev
->
result
,
"No memory"
);
...
@@ -2206,17 +2211,9 @@ static struct sk_buff *fill_packet_ipv6(struct net_device *odev,
...
@@ -2206,17 +2211,9 @@ static struct sk_buff *fill_packet_ipv6(struct net_device *odev,
iph
=
(
struct
ipv6hdr
*
)
skb_put
(
skb
,
sizeof
(
struct
ipv6hdr
));
iph
=
(
struct
ipv6hdr
*
)
skb_put
(
skb
,
sizeof
(
struct
ipv6hdr
));
udph
=
(
struct
udphdr
*
)
skb_put
(
skb
,
sizeof
(
struct
udphdr
));
udph
=
(
struct
udphdr
*
)
skb_put
(
skb
,
sizeof
(
struct
udphdr
));
/* Update any of the values, used when we're incrementing various
* fields.
*/
mod_cur_headers
(
pkt_dev
);
memcpy
(
eth
,
pkt_dev
->
hh
,
12
);
memcpy
(
eth
,
pkt_dev
->
hh
,
12
);
*
(
u16
*
)
&
eth
[
12
]
=
__constant_htons
(
ETH_P_IPV6
);
*
(
u16
*
)
&
eth
[
12
]
=
__constant_htons
(
ETH_P_IPV6
);
datalen
=
pkt_dev
->
cur_pkt_size
-
14
-
datalen
=
pkt_dev
->
cur_pkt_size
-
14
-
sizeof
(
struct
ipv6hdr
)
-
sizeof
(
struct
udphdr
);
/* Eth + IPh + UDPh */
sizeof
(
struct
ipv6hdr
)
-
sizeof
(
struct
udphdr
);
/* Eth + IPh + UDPh */
...
...
net/ipv4/Kconfig
View file @
020f46a3
...
@@ -448,7 +448,6 @@ config IP_TCPDIAG_IPV6
...
@@ -448,7 +448,6 @@ config IP_TCPDIAG_IPV6
config TCP_CONG_ADVANCED
config TCP_CONG_ADVANCED
bool "TCP: advanced congestion control"
bool "TCP: advanced congestion control"
depends on INET
depends on INET
default y
---help---
---help---
Support for selection of various TCP congestion control
Support for selection of various TCP congestion control
modules.
modules.
...
@@ -549,7 +548,7 @@ config TCP_CONG_SCALABLE
...
@@ -549,7 +548,7 @@ config TCP_CONG_SCALABLE
endmenu
endmenu
config TCP_CONG_BIC
config TCP_CONG_BIC
boolean
tristate
depends on !TCP_CONG_ADVANCED
depends on !TCP_CONG_ADVANCED
default y
default y
...
...
net/ipv4/ipvs/ip_vs_ctl.c
View file @
020f46a3
...
@@ -2059,7 +2059,7 @@ ip_vs_copy_service(struct ip_vs_service_entry *dst, struct ip_vs_service *src)
...
@@ -2059,7 +2059,7 @@ ip_vs_copy_service(struct ip_vs_service_entry *dst, struct ip_vs_service *src)
dst
->
addr
=
src
->
addr
;
dst
->
addr
=
src
->
addr
;
dst
->
port
=
src
->
port
;
dst
->
port
=
src
->
port
;
dst
->
fwmark
=
src
->
fwmark
;
dst
->
fwmark
=
src
->
fwmark
;
str
cpy
(
dst
->
sched_name
,
src
->
scheduler
->
name
);
str
lcpy
(
dst
->
sched_name
,
src
->
scheduler
->
name
,
sizeof
(
dst
->
sched_name
)
);
dst
->
flags
=
src
->
flags
;
dst
->
flags
=
src
->
flags
;
dst
->
timeout
=
src
->
timeout
/
HZ
;
dst
->
timeout
=
src
->
timeout
/
HZ
;
dst
->
netmask
=
src
->
netmask
;
dst
->
netmask
=
src
->
netmask
;
...
@@ -2080,6 +2080,7 @@ __ip_vs_get_service_entries(const struct ip_vs_get_services *get,
...
@@ -2080,6 +2080,7 @@ __ip_vs_get_service_entries(const struct ip_vs_get_services *get,
list_for_each_entry
(
svc
,
&
ip_vs_svc_table
[
idx
],
s_list
)
{
list_for_each_entry
(
svc
,
&
ip_vs_svc_table
[
idx
],
s_list
)
{
if
(
count
>=
get
->
num_services
)
if
(
count
>=
get
->
num_services
)
goto
out
;
goto
out
;
memset
(
&
entry
,
0
,
sizeof
(
entry
));
ip_vs_copy_service
(
&
entry
,
svc
);
ip_vs_copy_service
(
&
entry
,
svc
);
if
(
copy_to_user
(
&
uptr
->
entrytable
[
count
],
if
(
copy_to_user
(
&
uptr
->
entrytable
[
count
],
&
entry
,
sizeof
(
entry
)))
{
&
entry
,
sizeof
(
entry
)))
{
...
@@ -2094,6 +2095,7 @@ __ip_vs_get_service_entries(const struct ip_vs_get_services *get,
...
@@ -2094,6 +2095,7 @@ __ip_vs_get_service_entries(const struct ip_vs_get_services *get,
list_for_each_entry
(
svc
,
&
ip_vs_svc_fwm_table
[
idx
],
f_list
)
{
list_for_each_entry
(
svc
,
&
ip_vs_svc_fwm_table
[
idx
],
f_list
)
{
if
(
count
>=
get
->
num_services
)
if
(
count
>=
get
->
num_services
)
goto
out
;
goto
out
;
memset
(
&
entry
,
0
,
sizeof
(
entry
));
ip_vs_copy_service
(
&
entry
,
svc
);
ip_vs_copy_service
(
&
entry
,
svc
);
if
(
copy_to_user
(
&
uptr
->
entrytable
[
count
],
if
(
copy_to_user
(
&
uptr
->
entrytable
[
count
],
&
entry
,
sizeof
(
entry
)))
{
&
entry
,
sizeof
(
entry
)))
{
...
@@ -2304,12 +2306,12 @@ do_ip_vs_get_ctl(struct sock *sk, int cmd, void __user *user, int *len)
...
@@ -2304,12 +2306,12 @@ do_ip_vs_get_ctl(struct sock *sk, int cmd, void __user *user, int *len)
memset
(
&
d
,
0
,
sizeof
(
d
));
memset
(
&
d
,
0
,
sizeof
(
d
));
if
(
ip_vs_sync_state
&
IP_VS_STATE_MASTER
)
{
if
(
ip_vs_sync_state
&
IP_VS_STATE_MASTER
)
{
d
[
0
].
state
=
IP_VS_STATE_MASTER
;
d
[
0
].
state
=
IP_VS_STATE_MASTER
;
str
cpy
(
d
[
0
].
mcast_ifn
,
ip_vs_master_mcast_ifn
);
str
lcpy
(
d
[
0
].
mcast_ifn
,
ip_vs_master_mcast_ifn
,
sizeof
(
d
[
0
].
mcast_ifn
)
);
d
[
0
].
syncid
=
ip_vs_master_syncid
;
d
[
0
].
syncid
=
ip_vs_master_syncid
;
}
}
if
(
ip_vs_sync_state
&
IP_VS_STATE_BACKUP
)
{
if
(
ip_vs_sync_state
&
IP_VS_STATE_BACKUP
)
{
d
[
1
].
state
=
IP_VS_STATE_BACKUP
;
d
[
1
].
state
=
IP_VS_STATE_BACKUP
;
str
cpy
(
d
[
1
].
mcast_ifn
,
ip_vs_backup_mcast_ifn
);
str
lcpy
(
d
[
1
].
mcast_ifn
,
ip_vs_backup_mcast_ifn
,
sizeof
(
d
[
1
].
mcast_ifn
)
);
d
[
1
].
syncid
=
ip_vs_backup_syncid
;
d
[
1
].
syncid
=
ip_vs_backup_syncid
;
}
}
if
(
copy_to_user
(
user
,
&
d
,
sizeof
(
d
))
!=
0
)
if
(
copy_to_user
(
user
,
&
d
,
sizeof
(
d
))
!=
0
)
...
...
net/ipv4/ipvs/ip_vs_sync.c
View file @
020f46a3
...
@@ -839,10 +839,10 @@ int start_sync_thread(int state, char *mcast_ifn, __u8 syncid)
...
@@ -839,10 +839,10 @@ int start_sync_thread(int state, char *mcast_ifn, __u8 syncid)
ip_vs_sync_state
|=
state
;
ip_vs_sync_state
|=
state
;
if
(
state
==
IP_VS_STATE_MASTER
)
{
if
(
state
==
IP_VS_STATE_MASTER
)
{
str
cpy
(
ip_vs_master_mcast_ifn
,
mcast_ifn
);
str
lcpy
(
ip_vs_master_mcast_ifn
,
mcast_ifn
,
sizeof
(
ip_vs_master_mcast_ifn
)
);
ip_vs_master_syncid
=
syncid
;
ip_vs_master_syncid
=
syncid
;
}
else
{
}
else
{
str
cpy
(
ip_vs_backup_mcast_ifn
,
mcast_ifn
);
str
lcpy
(
ip_vs_backup_mcast_ifn
,
mcast_ifn
,
sizeof
(
ip_vs_backup_mcast_ifn
)
);
ip_vs_backup_syncid
=
syncid
;
ip_vs_backup_syncid
=
syncid
;
}
}
...
...
net/netlink/af_netlink.c
View file @
020f46a3
...
@@ -315,8 +315,8 @@ static int netlink_insert(struct sock *sk, u32 pid)
...
@@ -315,8 +315,8 @@ static int netlink_insert(struct sock *sk, u32 pid)
static
void
netlink_remove
(
struct
sock
*
sk
)
static
void
netlink_remove
(
struct
sock
*
sk
)
{
{
netlink_table_grab
();
netlink_table_grab
();
nl_table
[
sk
->
sk_protocol
].
hash
.
entries
--
;
if
(
sk_del_node_init
(
sk
))
sk_del_node_init
(
sk
)
;
nl_table
[
sk
->
sk_protocol
].
hash
.
entries
--
;
if
(
nlk_sk
(
sk
)
->
groups
)
if
(
nlk_sk
(
sk
)
->
groups
)
__sk_del_bind_node
(
sk
);
__sk_del_bind_node
(
sk
);
netlink_table_ungrab
();
netlink_table_ungrab
();
...
@@ -429,7 +429,12 @@ static int netlink_autobind(struct socket *sock)
...
@@ -429,7 +429,12 @@ static int netlink_autobind(struct socket *sock)
err
=
netlink_insert
(
sk
,
pid
);
err
=
netlink_insert
(
sk
,
pid
);
if
(
err
==
-
EADDRINUSE
)
if
(
err
==
-
EADDRINUSE
)
goto
retry
;
goto
retry
;
return
0
;
/* If 2 threads race to autobind, that is fine. */
if
(
err
==
-
EBUSY
)
err
=
0
;
return
err
;
}
}
static
inline
int
netlink_capable
(
struct
socket
*
sock
,
unsigned
int
flag
)
static
inline
int
netlink_capable
(
struct
socket
*
sock
,
unsigned
int
flag
)
...
...
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