Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
020f46a3
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
020f46a3
编写于
6月 26, 2005
作者:
L
Linus Torvalds
浏览文件
操作
浏览文件
下载
差异文件
Merge
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
上级
41b6c373
4da62fc7
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
31 addition
and
26 deletion
+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
未找到文件。
include/linux/atalk.h
浏览文件 @
020f46a3
#ifndef __LINUX_ATALK_H__
#define __LINUX_ATALK_H__
#include <asm/byteorder.h>
/*
* AppleTalk networking structures
*
...
...
net/core/pktgen.c
浏览文件 @
020f46a3
...
...
@@ -151,7 +151,7 @@
#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)
...
...
@@ -1921,6 +1921,11 @@ static struct sk_buff *fill_packet_ipv4(struct net_device *odev,
struct
iphdr
*
iph
;
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
);
if
(
!
skb
)
{
sprintf
(
pkt_dev
->
result
,
"No memory"
);
...
...
@@ -1934,11 +1939,6 @@ static struct sk_buff *fill_packet_ipv4(struct net_device *odev,
iph
=
(
struct
iphdr
*
)
skb_put
(
skb
,
sizeof
(
struct
iphdr
));
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
);
*
(
u16
*
)
&
eth
[
12
]
=
__constant_htons
(
ETH_P_IP
);
...
...
@@ -2192,7 +2192,12 @@ static struct sk_buff *fill_packet_ipv6(struct net_device *odev,
int
datalen
;
struct
ipv6hdr
*
iph
;
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
);
if
(
!
skb
)
{
sprintf
(
pkt_dev
->
result
,
"No memory"
);
...
...
@@ -2206,17 +2211,9 @@ static struct sk_buff *fill_packet_ipv6(struct net_device *odev,
iph
=
(
struct
ipv6hdr
*
)
skb_put
(
skb
,
sizeof
(
struct
ipv6hdr
));
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
);
*
(
u16
*
)
&
eth
[
12
]
=
__constant_htons
(
ETH_P_IPV6
);
datalen
=
pkt_dev
->
cur_pkt_size
-
14
-
sizeof
(
struct
ipv6hdr
)
-
sizeof
(
struct
udphdr
);
/* Eth + IPh + UDPh */
...
...
net/ipv4/Kconfig
浏览文件 @
020f46a3
...
...
@@ -448,7 +448,6 @@ config IP_TCPDIAG_IPV6
config TCP_CONG_ADVANCED
bool "TCP: advanced congestion control"
depends on INET
default y
---help---
Support for selection of various TCP congestion control
modules.
...
...
@@ -549,7 +548,7 @@ config TCP_CONG_SCALABLE
endmenu
config TCP_CONG_BIC
boolean
tristate
depends on !TCP_CONG_ADVANCED
default y
...
...
net/ipv4/ipvs/ip_vs_ctl.c
浏览文件 @
020f46a3
...
...
@@ -2059,7 +2059,7 @@ ip_vs_copy_service(struct ip_vs_service_entry *dst, struct ip_vs_service *src)
dst
->
addr
=
src
->
addr
;
dst
->
port
=
src
->
port
;
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
->
timeout
=
src
->
timeout
/
HZ
;
dst
->
netmask
=
src
->
netmask
;
...
...
@@ -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
)
{
if
(
count
>=
get
->
num_services
)
goto
out
;
memset
(
&
entry
,
0
,
sizeof
(
entry
));
ip_vs_copy_service
(
&
entry
,
svc
);
if
(
copy_to_user
(
&
uptr
->
entrytable
[
count
],
&
entry
,
sizeof
(
entry
)))
{
...
...
@@ -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
)
{
if
(
count
>=
get
->
num_services
)
goto
out
;
memset
(
&
entry
,
0
,
sizeof
(
entry
));
ip_vs_copy_service
(
&
entry
,
svc
);
if
(
copy_to_user
(
&
uptr
->
entrytable
[
count
],
&
entry
,
sizeof
(
entry
)))
{
...
...
@@ -2304,12 +2306,12 @@ do_ip_vs_get_ctl(struct sock *sk, int cmd, void __user *user, int *len)
memset
(
&
d
,
0
,
sizeof
(
d
));
if
(
ip_vs_sync_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
;
}
if
(
ip_vs_sync_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
;
}
if
(
copy_to_user
(
user
,
&
d
,
sizeof
(
d
))
!=
0
)
...
...
net/ipv4/ipvs/ip_vs_sync.c
浏览文件 @
020f46a3
...
...
@@ -839,10 +839,10 @@ int start_sync_thread(int state, char *mcast_ifn, __u8 syncid)
ip_vs_sync_state
|=
state
;
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
;
}
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
;
}
...
...
net/netlink/af_netlink.c
浏览文件 @
020f46a3
...
...
@@ -315,8 +315,8 @@ static int netlink_insert(struct sock *sk, u32 pid)
static
void
netlink_remove
(
struct
sock
*
sk
)
{
netlink_table_grab
();
nl_table
[
sk
->
sk_protocol
].
hash
.
entries
--
;
sk_del_node_init
(
sk
)
;
if
(
sk_del_node_init
(
sk
))
nl_table
[
sk
->
sk_protocol
].
hash
.
entries
--
;
if
(
nlk_sk
(
sk
)
->
groups
)
__sk_del_bind_node
(
sk
);
netlink_table_ungrab
();
...
...
@@ -429,7 +429,12 @@ static int netlink_autobind(struct socket *sock)
err
=
netlink_insert
(
sk
,
pid
);
if
(
err
==
-
EADDRINUSE
)
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
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录