Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
8e773277
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看板
提交
8e773277
编写于
6月 11, 2012
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
inet: Add inetpeer tree roots to the FIB tables.
Signed-off-by:
N
David S. Miller
<
davem@davemloft.net
>
上级
b48c80ec
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
16 addition
and
5 deletion
+16
-5
include/net/ip6_fib.h
include/net/ip6_fib.h
+1
-0
include/net/ip_fib.h
include/net/ip_fib.h
+7
-5
net/ipv4/fib_trie.c
net/ipv4/fib_trie.c
+3
-0
net/ipv6/ip6_fib.c
net/ipv6/ip6_fib.c
+5
-0
未找到文件。
include/net/ip6_fib.h
浏览文件 @
8e773277
...
...
@@ -237,6 +237,7 @@ struct fib6_table {
u32
tb6_id
;
rwlock_t
tb6_lock
;
struct
fib6_node
tb6_root
;
struct
inet_peer_base
tb6_peers
;
};
#define RT6_TABLE_UNSPEC RT_TABLE_UNSPEC
...
...
include/net/ip_fib.h
浏览文件 @
8e773277
...
...
@@ -19,6 +19,7 @@
#include <net/flow.h>
#include <linux/seq_file.h>
#include <net/fib_rules.h>
#include <net/inetpeer.h>
struct
fib_config
{
u8
fc_dst_len
;
...
...
@@ -157,11 +158,12 @@ extern __be32 fib_info_update_nh_saddr(struct net *net, struct fib_nh *nh);
FIB_RES_SADDR(net, res))
struct
fib_table
{
struct
hlist_node
tb_hlist
;
u32
tb_id
;
int
tb_default
;
int
tb_num_default
;
unsigned
long
tb_data
[
0
];
struct
hlist_node
tb_hlist
;
u32
tb_id
;
int
tb_default
;
int
tb_num_default
;
struct
inet_peer_base
tb_peers
;
unsigned
long
tb_data
[
0
];
};
extern
int
fib_table_lookup
(
struct
fib_table
*
tb
,
const
struct
flowi4
*
flp
,
...
...
net/ipv4/fib_trie.c
浏览文件 @
8e773277
...
...
@@ -1843,6 +1843,8 @@ int fib_table_flush(struct fib_table *tb)
if
(
ll
&&
hlist_empty
(
&
ll
->
list
))
trie_leaf_remove
(
t
,
ll
);
inetpeer_invalidate_tree
(
&
tb
->
tb_peers
);
pr_debug
(
"trie_flush found=%d
\n
"
,
found
);
return
found
;
}
...
...
@@ -1991,6 +1993,7 @@ struct fib_table *fib_trie_table(u32 id)
tb
->
tb_id
=
id
;
tb
->
tb_default
=
-
1
;
tb
->
tb_num_default
=
0
;
inet_peer_base_init
(
&
tb
->
tb_peers
);
t
=
(
struct
trie
*
)
tb
->
tb_data
;
memset
(
t
,
0
,
sizeof
(
*
t
));
...
...
net/ipv6/ip6_fib.c
浏览文件 @
8e773277
...
...
@@ -197,6 +197,7 @@ static struct fib6_table *fib6_alloc_table(struct net *net, u32 id)
table
->
tb6_id
=
id
;
table
->
tb6_root
.
leaf
=
net
->
ipv6
.
ip6_null_entry
;
table
->
tb6_root
.
fn_flags
=
RTN_ROOT
|
RTN_TL_ROOT
|
RTN_RTINFO
;
inet_peer_base_init
(
&
table
->
tb6_peers
);
}
return
table
;
...
...
@@ -1633,6 +1634,7 @@ static int __net_init fib6_net_init(struct net *net)
net
->
ipv6
.
fib6_main_tbl
->
tb6_root
.
leaf
=
net
->
ipv6
.
ip6_null_entry
;
net
->
ipv6
.
fib6_main_tbl
->
tb6_root
.
fn_flags
=
RTN_ROOT
|
RTN_TL_ROOT
|
RTN_RTINFO
;
inet_peer_base_init
(
&
net
->
ipv6
.
fib6_main_tbl
->
tb6_peers
);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
net
->
ipv6
.
fib6_local_tbl
=
kzalloc
(
sizeof
(
*
net
->
ipv6
.
fib6_local_tbl
),
...
...
@@ -1643,6 +1645,7 @@ static int __net_init fib6_net_init(struct net *net)
net
->
ipv6
.
fib6_local_tbl
->
tb6_root
.
leaf
=
net
->
ipv6
.
ip6_null_entry
;
net
->
ipv6
.
fib6_local_tbl
->
tb6_root
.
fn_flags
=
RTN_ROOT
|
RTN_TL_ROOT
|
RTN_RTINFO
;
inet_peer_base_init
(
&
net
->
ipv6
.
fib6_local_tbl
->
tb6_peers
);
#endif
fib6_tables_init
(
net
);
...
...
@@ -1666,8 +1669,10 @@ static void fib6_net_exit(struct net *net)
del_timer_sync
(
&
net
->
ipv6
.
ip6_fib_timer
);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
inetpeer_invalidate_tree
(
&
net
->
ipv6
.
fib6_local_tbl
->
tb6_peers
);
kfree
(
net
->
ipv6
.
fib6_local_tbl
);
#endif
inetpeer_invalidate_tree
(
&
net
->
ipv6
.
fib6_main_tbl
->
tb6_peers
);
kfree
(
net
->
ipv6
.
fib6_main_tbl
);
kfree
(
net
->
ipv6
.
fib_table_hash
);
kfree
(
net
->
ipv6
.
rt6_stats
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录