Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
ef53d702
K
Kernel
项目概览
openeuler
/
Kernel
大约 1 年 前同步成功
通知
6
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ef53d702
编写于
7月 09, 2009
作者:
J
Jan Engelhardt
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
netfilter: xtables: dissolve do_match function
Signed-off-by:
N
Jan Engelhardt
<
jengelh@medozas.de
>
上级
c29c9492
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
10 addition
and
34 deletion
+10
-34
net/ipv4/netfilter/ip_tables.c
net/ipv4/netfilter/ip_tables.c
+5
-17
net/ipv6/netfilter/ip6_tables.c
net/ipv6/netfilter/ip6_tables.c
+5
-17
未找到文件。
net/ipv4/netfilter/ip_tables.c
浏览文件 @
ef53d702
...
...
@@ -173,21 +173,6 @@ ipt_error(struct sk_buff *skb, const struct xt_target_param *par)
return
NF_DROP
;
}
/* Performance critical - called for every packet */
static
inline
bool
do_match
(
const
struct
ipt_entry_match
*
m
,
const
struct
sk_buff
*
skb
,
struct
xt_match_param
*
par
)
{
par
->
match
=
m
->
u
.
kernel
.
match
;
par
->
matchinfo
=
m
->
data
;
/* Stop iteration if it doesn't match */
if
(
!
m
->
u
.
kernel
.
match
->
match
(
skb
,
par
))
return
true
;
else
return
false
;
}
/* Performance critical */
static
inline
struct
ipt_entry
*
get_entry
(
const
void
*
base
,
unsigned
int
offset
)
...
...
@@ -379,9 +364,12 @@ ipt_do_table(struct sk_buff *skb,
continue
;
}
xt_ematch_foreach
(
ematch
,
e
)
if
(
do_match
(
ematch
,
skb
,
&
mtpar
)
!=
0
)
xt_ematch_foreach
(
ematch
,
e
)
{
mtpar
.
match
=
ematch
->
u
.
kernel
.
match
;
mtpar
.
matchinfo
=
ematch
->
data
;
if
(
!
mtpar
.
match
->
match
(
skb
,
&
mtpar
))
goto
no_match
;
}
ADD_COUNTER
(
e
->
counters
,
ntohs
(
ip
->
tot_len
),
1
);
...
...
net/ipv6/netfilter/ip6_tables.c
浏览文件 @
ef53d702
...
...
@@ -205,21 +205,6 @@ ip6t_error(struct sk_buff *skb, const struct xt_target_param *par)
return
NF_DROP
;
}
/* Performance critical - called for every packet */
static
inline
bool
do_match
(
const
struct
ip6t_entry_match
*
m
,
const
struct
sk_buff
*
skb
,
struct
xt_match_param
*
par
)
{
par
->
match
=
m
->
u
.
kernel
.
match
;
par
->
matchinfo
=
m
->
data
;
/* Stop iteration if it doesn't match */
if
(
!
m
->
u
.
kernel
.
match
->
match
(
skb
,
par
))
return
true
;
else
return
false
;
}
static
inline
struct
ip6t_entry
*
get_entry
(
const
void
*
base
,
unsigned
int
offset
)
{
...
...
@@ -402,9 +387,12 @@ ip6t_do_table(struct sk_buff *skb,
continue
;
}
xt_ematch_foreach
(
ematch
,
e
)
if
(
do_match
(
ematch
,
skb
,
&
mtpar
)
!=
0
)
xt_ematch_foreach
(
ematch
,
e
)
{
mtpar
.
match
=
ematch
->
u
.
kernel
.
match
;
mtpar
.
matchinfo
=
ematch
->
data
;
if
(
!
mtpar
.
match
->
match
(
skb
,
&
mtpar
))
goto
no_match
;
}
ADD_COUNTER
(
e
->
counters
,
ntohs
(
ipv6_hdr
(
skb
)
->
payload_len
)
+
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录