Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
c0eea79b
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c0eea79b
编写于
2月 23, 2006
作者:
L
Linus Torvalds
浏览文件
操作
浏览文件
下载
差异文件
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
上级
adb9c9ac
35eaa31e
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
28 addition
and
18 deletion
+28
-18
drivers/net/ifb.c
drivers/net/ifb.c
+1
-1
include/net/xfrm.h
include/net/xfrm.h
+5
-0
net/bridge/br_netfilter.c
net/bridge/br_netfilter.c
+1
-0
net/ethernet/eth.c
net/ethernet/eth.c
+6
-6
net/ipv4/route.c
net/ipv4/route.c
+1
-1
net/ipv4/xfrm4_policy.c
net/ipv4/xfrm4_policy.c
+4
-1
net/key/af_key.c
net/key/af_key.c
+1
-1
net/xfrm/xfrm_policy.c
net/xfrm/xfrm_policy.c
+4
-3
net/xfrm/xfrm_state.c
net/xfrm/xfrm_state.c
+4
-4
net/xfrm/xfrm_user.c
net/xfrm/xfrm_user.c
+1
-1
未找到文件。
drivers/net/ifb.c
浏览文件 @
c0eea79b
...
...
@@ -57,7 +57,7 @@ struct ifb_private {
struct
sk_buff_head
tq
;
};
static
int
numifbs
=
1
;
static
int
numifbs
=
2
;
static
void
ri_tasklet
(
unsigned
long
dev
);
static
int
ifb_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
);
...
...
include/net/xfrm.h
浏览文件 @
c0eea79b
...
...
@@ -403,6 +403,11 @@ unsigned xfrm_spi_hash(xfrm_address_t *addr, u32 spi, u8 proto, unsigned short f
extern
void
__xfrm_state_destroy
(
struct
xfrm_state
*
);
static
inline
void
__xfrm_state_put
(
struct
xfrm_state
*
x
)
{
atomic_dec
(
&
x
->
refcnt
);
}
static
inline
void
xfrm_state_put
(
struct
xfrm_state
*
x
)
{
if
(
atomic_dec_and_test
(
&
x
->
refcnt
))
...
...
net/bridge/br_netfilter.c
浏览文件 @
c0eea79b
...
...
@@ -90,6 +90,7 @@ static struct rtable __fake_rtable = {
.
dev
=
&
__fake_net_device
,
.
path
=
&
__fake_rtable
.
u
.
dst
,
.
metrics
=
{[
RTAX_MTU
-
1
]
=
1500
},
.
flags
=
DST_NOXFRM
,
}
},
.
rt_flags
=
0
,
...
...
net/ethernet/eth.c
浏览文件 @
c0eea79b
...
...
@@ -95,6 +95,12 @@ int eth_header(struct sk_buff *skb, struct net_device *dev, unsigned short type,
saddr
=
dev
->
dev_addr
;
memcpy
(
eth
->
h_source
,
saddr
,
dev
->
addr_len
);
if
(
daddr
)
{
memcpy
(
eth
->
h_dest
,
daddr
,
dev
->
addr_len
);
return
ETH_HLEN
;
}
/*
* Anyway, the loopback-device should never use this function...
*/
...
...
@@ -105,12 +111,6 @@ int eth_header(struct sk_buff *skb, struct net_device *dev, unsigned short type,
return
ETH_HLEN
;
}
if
(
daddr
)
{
memcpy
(
eth
->
h_dest
,
daddr
,
dev
->
addr_len
);
return
ETH_HLEN
;
}
return
-
ETH_HLEN
;
}
...
...
net/ipv4/route.c
浏览文件 @
c0eea79b
...
...
@@ -835,7 +835,7 @@ static int rt_garbage_collect(void)
int
r
;
rthp
=
rt_remove_balanced_route
(
&
rt_hash_table
[
i
].
chain
,
&
rt_hash_table
[
k
].
chain
,
rth
,
&
r
);
goal
-=
r
;
...
...
net/ipv4/xfrm4_policy.c
浏览文件 @
c0eea79b
...
...
@@ -35,6 +35,7 @@ __xfrm4_find_bundle(struct flowi *fl, struct xfrm_policy *policy)
if
(
xdst
->
u
.
rt
.
fl
.
oif
==
fl
->
oif
&&
/*XXX*/
xdst
->
u
.
rt
.
fl
.
fl4_dst
==
fl
->
fl4_dst
&&
xdst
->
u
.
rt
.
fl
.
fl4_src
==
fl
->
fl4_src
&&
xdst
->
u
.
rt
.
fl
.
fl4_tos
==
fl
->
fl4_tos
&&
xfrm_bundle_ok
(
xdst
,
fl
,
AF_INET
))
{
dst_clone
(
dst
);
break
;
...
...
@@ -61,7 +62,8 @@ __xfrm4_bundle_create(struct xfrm_policy *policy, struct xfrm_state **xfrm, int
.
nl_u
=
{
.
ip4_u
=
{
.
saddr
=
local
,
.
daddr
=
remote
.
daddr
=
remote
,
.
tos
=
fl
->
fl4_tos
}
}
};
...
...
@@ -230,6 +232,7 @@ _decode_session4(struct sk_buff *skb, struct flowi *fl)
fl
->
proto
=
iph
->
protocol
;
fl
->
fl4_dst
=
iph
->
daddr
;
fl
->
fl4_src
=
iph
->
saddr
;
fl
->
fl4_tos
=
iph
->
tos
;
}
static
inline
int
xfrm4_garbage_collect
(
void
)
...
...
net/key/af_key.c
浏览文件 @
c0eea79b
...
...
@@ -1423,7 +1423,7 @@ static int pfkey_add(struct sock *sk, struct sk_buff *skb, struct sadb_msg *hdr,
if
(
err
<
0
)
{
x
->
km
.
state
=
XFRM_STATE_DEAD
;
xfrm_state_put
(
x
);
__
xfrm_state_put
(
x
);
goto
out
;
}
...
...
net/xfrm/xfrm_policy.c
浏览文件 @
c0eea79b
...
...
@@ -782,7 +782,7 @@ int xfrm_lookup(struct dst_entry **dst_p, struct flowi *fl,
int
nx
=
0
;
int
err
;
u32
genid
;
u16
family
=
dst_orig
->
ops
->
family
;
u16
family
;
u8
dir
=
policy_to_flow_dir
(
XFRM_POLICY_OUT
);
u32
sk_sid
=
security_sk_sid
(
sk
,
fl
,
dir
);
restart:
...
...
@@ -796,13 +796,14 @@ int xfrm_lookup(struct dst_entry **dst_p, struct flowi *fl,
if
((
dst_orig
->
flags
&
DST_NOXFRM
)
||
!
xfrm_policy_list
[
XFRM_POLICY_OUT
])
return
0
;
policy
=
flow_cache_lookup
(
fl
,
sk_sid
,
family
,
dir
,
xfrm_policy_lookup
);
policy
=
flow_cache_lookup
(
fl
,
sk_sid
,
dst_orig
->
ops
->
family
,
dir
,
xfrm_policy_lookup
);
}
if
(
!
policy
)
return
0
;
family
=
dst_orig
->
ops
->
family
;
policy
->
curlft
.
use_time
=
(
unsigned
long
)
xtime
.
tv_sec
;
switch
(
policy
->
action
)
{
...
...
net/xfrm/xfrm_state.c
浏览文件 @
c0eea79b
...
...
@@ -220,14 +220,14 @@ static int __xfrm_state_delete(struct xfrm_state *x)
x
->
km
.
state
=
XFRM_STATE_DEAD
;
spin_lock
(
&
xfrm_state_lock
);
list_del
(
&
x
->
bydst
);
atomic_dec
(
&
x
->
refcnt
);
__xfrm_state_put
(
x
);
if
(
x
->
id
.
spi
)
{
list_del
(
&
x
->
byspi
);
atomic_dec
(
&
x
->
refcnt
);
__xfrm_state_put
(
x
);
}
spin_unlock
(
&
xfrm_state_lock
);
if
(
del_timer
(
&
x
->
timer
))
atomic_dec
(
&
x
->
refcnt
);
__xfrm_state_put
(
x
);
/* The number two in this test is the reference
* mentioned in the comment below plus the reference
...
...
@@ -243,7 +243,7 @@ static int __xfrm_state_delete(struct xfrm_state *x)
* The xfrm_state_alloc call gives a reference, and that
* is what we are dropping here.
*/
atomic_dec
(
&
x
->
refcnt
);
__xfrm_state_put
(
x
);
err
=
0
;
}
...
...
net/xfrm/xfrm_user.c
浏览文件 @
c0eea79b
...
...
@@ -345,7 +345,7 @@ static int xfrm_add_sa(struct sk_buff *skb, struct nlmsghdr *nlh, void **xfrma)
if
(
err
<
0
)
{
x
->
km
.
state
=
XFRM_STATE_DEAD
;
xfrm_state_put
(
x
);
__
xfrm_state_put
(
x
);
goto
out
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录