Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
0dcd5052
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
0dcd5052
编写于
8月 31, 2012
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
git://1984.lsi.us.es/nf
上级
14a15d61
5b423f6a
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
25 addition
and
10 deletion
+25
-10
include/net/netfilter/nf_conntrack_ecache.h
include/net/netfilter/nf_conntrack_ecache.h
+1
-0
net/ipv4/netfilter/nf_nat_sip.c
net/ipv4/netfilter/nf_nat_sip.c
+4
-1
net/netfilter/ipvs/ip_vs_ctl.c
net/netfilter/ipvs/ip_vs_ctl.c
+3
-1
net/netfilter/nf_conntrack_core.c
net/netfilter/nf_conntrack_core.c
+11
-5
net/netfilter/nf_conntrack_netlink.c
net/netfilter/nf_conntrack_netlink.c
+2
-1
net/netfilter/nfnetlink_log.c
net/netfilter/nfnetlink_log.c
+4
-2
未找到文件。
include/net/netfilter/nf_conntrack_ecache.h
浏览文件 @
0dcd5052
...
...
@@ -18,6 +18,7 @@ struct nf_conntrack_ecache {
u16
ctmask
;
/* bitmask of ct events to be delivered */
u16
expmask
;
/* bitmask of expect events to be delivered */
u32
pid
;
/* netlink pid of destroyer */
struct
timer_list
timeout
;
};
static
inline
struct
nf_conntrack_ecache
*
...
...
net/ipv4/netfilter/nf_nat_sip.c
浏览文件 @
0dcd5052
...
...
@@ -502,7 +502,10 @@ static unsigned int ip_nat_sdp_media(struct sk_buff *skb, unsigned int dataoff,
ret
=
nf_ct_expect_related
(
rtcp_exp
);
if
(
ret
==
0
)
break
;
else
if
(
ret
!=
-
EBUSY
)
{
else
if
(
ret
==
-
EBUSY
)
{
nf_ct_unexpect_related
(
rtp_exp
);
continue
;
}
else
if
(
ret
<
0
)
{
nf_ct_unexpect_related
(
rtp_exp
);
port
=
0
;
break
;
...
...
net/netfilter/ipvs/ip_vs_ctl.c
浏览文件 @
0dcd5052
...
...
@@ -1171,8 +1171,10 @@ ip_vs_add_service(struct net *net, struct ip_vs_service_user_kern *u,
goto
out_err
;
}
svc
->
stats
.
cpustats
=
alloc_percpu
(
struct
ip_vs_cpu_stats
);
if
(
!
svc
->
stats
.
cpustats
)
if
(
!
svc
->
stats
.
cpustats
)
{
ret
=
-
ENOMEM
;
goto
out_err
;
}
/* I'm the first user of the service */
atomic_set
(
&
svc
->
usecnt
,
0
);
...
...
net/netfilter/nf_conntrack_core.c
浏览文件 @
0dcd5052
...
...
@@ -249,12 +249,15 @@ static void death_by_event(unsigned long ul_conntrack)
{
struct
nf_conn
*
ct
=
(
void
*
)
ul_conntrack
;
struct
net
*
net
=
nf_ct_net
(
ct
);
struct
nf_conntrack_ecache
*
ecache
=
nf_ct_ecache_find
(
ct
);
BUG_ON
(
ecache
==
NULL
);
if
(
nf_conntrack_event
(
IPCT_DESTROY
,
ct
)
<
0
)
{
/* bad luck, let's retry again */
ct
->
timeout
.
expires
=
jiffies
+
ecache
->
timeout
.
expires
=
jiffies
+
(
random32
()
%
net
->
ct
.
sysctl_events_retry_timeout
);
add_timer
(
&
ct
->
timeout
);
add_timer
(
&
ecache
->
timeout
);
return
;
}
/* we've got the event delivered, now it's dying */
...
...
@@ -268,6 +271,9 @@ static void death_by_event(unsigned long ul_conntrack)
void
nf_ct_insert_dying_list
(
struct
nf_conn
*
ct
)
{
struct
net
*
net
=
nf_ct_net
(
ct
);
struct
nf_conntrack_ecache
*
ecache
=
nf_ct_ecache_find
(
ct
);
BUG_ON
(
ecache
==
NULL
);
/* add this conntrack to the dying list */
spin_lock_bh
(
&
nf_conntrack_lock
);
...
...
@@ -275,10 +281,10 @@ void nf_ct_insert_dying_list(struct nf_conn *ct)
&
net
->
ct
.
dying
);
spin_unlock_bh
(
&
nf_conntrack_lock
);
/* set a new timer to retry event delivery */
setup_timer
(
&
ct
->
timeout
,
death_by_event
,
(
unsigned
long
)
ct
);
ct
->
timeout
.
expires
=
jiffies
+
setup_timer
(
&
ecache
->
timeout
,
death_by_event
,
(
unsigned
long
)
ct
);
ecache
->
timeout
.
expires
=
jiffies
+
(
random32
()
%
net
->
ct
.
sysctl_events_retry_timeout
);
add_timer
(
&
ct
->
timeout
);
add_timer
(
&
ecache
->
timeout
);
}
EXPORT_SYMBOL_GPL
(
nf_ct_insert_dying_list
);
...
...
net/netfilter/nf_conntrack_netlink.c
浏览文件 @
0dcd5052
...
...
@@ -2790,7 +2790,8 @@ static int __init ctnetlink_init(void)
goto
err_unreg_subsys
;
}
if
(
register_pernet_subsys
(
&
ctnetlink_net_ops
))
{
ret
=
register_pernet_subsys
(
&
ctnetlink_net_ops
);
if
(
ret
<
0
)
{
pr_err
(
"ctnetlink_init: cannot register pernet operations
\n
"
);
goto
err_unreg_exp_subsys
;
}
...
...
net/netfilter/nfnetlink_log.c
浏览文件 @
0dcd5052
...
...
@@ -480,7 +480,7 @@ __build_packet_message(struct nfulnl_instance *inst,
}
if
(
indev
&&
skb_mac_header_was_set
(
skb
))
{
if
(
nla_put_be
32
(
inst
->
skb
,
NFULA_HWTYPE
,
htons
(
skb
->
dev
->
type
))
||
if
(
nla_put_be
16
(
inst
->
skb
,
NFULA_HWTYPE
,
htons
(
skb
->
dev
->
type
))
||
nla_put_be16
(
inst
->
skb
,
NFULA_HWLEN
,
htons
(
skb
->
dev
->
hard_header_len
))
||
nla_put
(
inst
->
skb
,
NFULA_HWHEADER
,
skb
->
dev
->
hard_header_len
,
...
...
@@ -996,8 +996,10 @@ static int __init nfnetlink_log_init(void)
#ifdef CONFIG_PROC_FS
if
(
!
proc_create
(
"nfnetlink_log"
,
0440
,
proc_net_netfilter
,
&
nful_file_ops
))
proc_net_netfilter
,
&
nful_file_ops
))
{
status
=
-
ENOMEM
;
goto
cleanup_logger
;
}
#endif
return
status
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录