Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
5170ae82
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看板
提交
5170ae82
编写于
12月 12, 2010
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
net: Abstract RTAX_HOPLIMIT metric accesses behind helper.
Signed-off-by:
N
David S. Miller
<
davem@davemloft.net
>
上级
abbf46ae
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
22 addition
and
9 deletion
+22
-9
drivers/net/pptp.c
drivers/net/pptp.c
+1
-1
include/net/dst.h
include/net/dst.h
+14
-1
net/ipv4/ip_gre.c
net/ipv4/ip_gre.c
+1
-1
net/ipv4/ip_output.c
net/ipv4/ip_output.c
+1
-1
net/ipv4/netfilter/ipt_REJECT.c
net/ipv4/netfilter/ipt_REJECT.c
+1
-1
net/ipv4/route.c
net/ipv4/route.c
+1
-1
net/ipv4/xfrm4_mode_tunnel.c
net/ipv4/xfrm4_mode_tunnel.c
+1
-1
net/ipv6/route.c
net/ipv6/route.c
+2
-2
未找到文件。
drivers/net/pptp.c
浏览文件 @
5170ae82
...
@@ -277,7 +277,7 @@ static int pptp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
...
@@ -277,7 +277,7 @@ static int pptp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
iph
->
tos
=
0
;
iph
->
tos
=
0
;
iph
->
daddr
=
rt
->
rt_dst
;
iph
->
daddr
=
rt
->
rt_dst
;
iph
->
saddr
=
rt
->
rt_src
;
iph
->
saddr
=
rt
->
rt_src
;
iph
->
ttl
=
dst_metric
(
&
rt
->
dst
,
RTAX_HOPLIMIT
);
iph
->
ttl
=
dst_metric
_hoplimit
(
&
rt
->
dst
);
iph
->
tot_len
=
htons
(
skb
->
len
);
iph
->
tot_len
=
htons
(
skb
->
len
);
skb_dst_drop
(
skb
);
skb_dst_drop
(
skb
);
...
...
include/net/dst.h
浏览文件 @
5170ae82
...
@@ -104,11 +104,24 @@ struct dst_entry {
...
@@ -104,11 +104,24 @@ struct dst_entry {
#ifdef __KERNEL__
#ifdef __KERNEL__
static
inline
u32
static
inline
u32
dst_metric
(
const
struct
dst_entry
*
dst
,
int
metric
)
dst_metric
_raw
(
const
struct
dst_entry
*
dst
,
const
int
metric
)
{
{
return
dst
->
_metrics
[
metric
-
1
];
return
dst
->
_metrics
[
metric
-
1
];
}
}
static
inline
u32
dst_metric
(
const
struct
dst_entry
*
dst
,
const
int
metric
)
{
WARN_ON_ONCE
(
metric
==
RTAX_HOPLIMIT
);
return
dst_metric_raw
(
dst
,
metric
);
}
static
inline
u32
dst_metric_hoplimit
(
const
struct
dst_entry
*
dst
)
{
return
dst_metric_raw
(
dst
,
RTAX_HOPLIMIT
);
}
static
inline
void
dst_metric_set
(
struct
dst_entry
*
dst
,
int
metric
,
u32
val
)
static
inline
void
dst_metric_set
(
struct
dst_entry
*
dst
,
int
metric
,
u32
val
)
{
{
dst
->
_metrics
[
metric
-
1
]
=
val
;
dst
->
_metrics
[
metric
-
1
]
=
val
;
...
...
net/ipv4/ip_gre.c
浏览文件 @
5170ae82
...
@@ -890,7 +890,7 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
...
@@ -890,7 +890,7 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
iph
->
ttl
=
((
struct
ipv6hdr
*
)
old_iph
)
->
hop_limit
;
iph
->
ttl
=
((
struct
ipv6hdr
*
)
old_iph
)
->
hop_limit
;
#endif
#endif
else
else
iph
->
ttl
=
dst_metric
(
&
rt
->
dst
,
RTAX_HOPLIMIT
);
iph
->
ttl
=
dst_metric
_hoplimit
(
&
rt
->
dst
);
}
}
((
__be16
*
)(
iph
+
1
))[
0
]
=
tunnel
->
parms
.
o_flags
;
((
__be16
*
)(
iph
+
1
))[
0
]
=
tunnel
->
parms
.
o_flags
;
...
...
net/ipv4/ip_output.c
浏览文件 @
5170ae82
...
@@ -130,7 +130,7 @@ static inline int ip_select_ttl(struct inet_sock *inet, struct dst_entry *dst)
...
@@ -130,7 +130,7 @@ static inline int ip_select_ttl(struct inet_sock *inet, struct dst_entry *dst)
int
ttl
=
inet
->
uc_ttl
;
int
ttl
=
inet
->
uc_ttl
;
if
(
ttl
<
0
)
if
(
ttl
<
0
)
ttl
=
dst_metric
(
dst
,
RTAX_HOPLIMIT
);
ttl
=
dst_metric
_hoplimit
(
dst
);
return
ttl
;
return
ttl
;
}
}
...
...
net/ipv4/netfilter/ipt_REJECT.c
浏览文件 @
5170ae82
...
@@ -116,7 +116,7 @@ static void send_reset(struct sk_buff *oldskb, int hook)
...
@@ -116,7 +116,7 @@ static void send_reset(struct sk_buff *oldskb, int hook)
if
(
ip_route_me_harder
(
nskb
,
addr_type
))
if
(
ip_route_me_harder
(
nskb
,
addr_type
))
goto
free_nskb
;
goto
free_nskb
;
niph
->
ttl
=
dst_metric
(
skb_dst
(
nskb
),
RTAX_HOPLIMIT
);
niph
->
ttl
=
dst_metric
_hoplimit
(
skb_dst
(
nskb
)
);
/* "Never happens" */
/* "Never happens" */
if
(
nskb
->
len
>
dst_mtu
(
skb_dst
(
nskb
)))
if
(
nskb
->
len
>
dst_mtu
(
skb_dst
(
nskb
)))
...
...
net/ipv4/route.c
浏览文件 @
5170ae82
...
@@ -1821,7 +1821,7 @@ static void rt_set_nexthop(struct rtable *rt, struct fib_result *res, u32 itag)
...
@@ -1821,7 +1821,7 @@ static void rt_set_nexthop(struct rtable *rt, struct fib_result *res, u32 itag)
}
else
}
else
dst_metric_set
(
dst
,
RTAX_MTU
,
dst
->
dev
->
mtu
);
dst_metric_set
(
dst
,
RTAX_MTU
,
dst
->
dev
->
mtu
);
if
(
dst_metric
(
dst
,
RTAX_HOPLIMIT
)
==
0
)
if
(
dst_metric
_raw
(
dst
,
RTAX_HOPLIMIT
)
==
0
)
dst_metric_set
(
dst
,
RTAX_HOPLIMIT
,
sysctl_ip_default_ttl
);
dst_metric_set
(
dst
,
RTAX_HOPLIMIT
,
sysctl_ip_default_ttl
);
if
(
dst_mtu
(
dst
)
>
IP_MAX_MTU
)
if
(
dst_mtu
(
dst
)
>
IP_MAX_MTU
)
dst_metric_set
(
dst
,
RTAX_MTU
,
IP_MAX_MTU
);
dst_metric_set
(
dst
,
RTAX_MTU
,
IP_MAX_MTU
);
...
...
net/ipv4/xfrm4_mode_tunnel.c
浏览文件 @
5170ae82
...
@@ -56,7 +56,7 @@ static int xfrm4_mode_tunnel_output(struct xfrm_state *x, struct sk_buff *skb)
...
@@ -56,7 +56,7 @@ static int xfrm4_mode_tunnel_output(struct xfrm_state *x, struct sk_buff *skb)
0
:
(
XFRM_MODE_SKB_CB
(
skb
)
->
frag_off
&
htons
(
IP_DF
));
0
:
(
XFRM_MODE_SKB_CB
(
skb
)
->
frag_off
&
htons
(
IP_DF
));
ip_select_ident
(
top_iph
,
dst
->
child
,
NULL
);
ip_select_ident
(
top_iph
,
dst
->
child
,
NULL
);
top_iph
->
ttl
=
dst_metric
(
dst
->
child
,
RTAX_HOPLIMIT
);
top_iph
->
ttl
=
dst_metric
_hoplimit
(
dst
->
child
);
top_iph
->
saddr
=
x
->
props
.
saddr
.
a4
;
top_iph
->
saddr
=
x
->
props
.
saddr
.
a4
;
top_iph
->
daddr
=
x
->
id
.
daddr
.
a4
;
top_iph
->
daddr
=
x
->
id
.
daddr
.
a4
;
...
...
net/ipv6/route.c
浏览文件 @
5170ae82
...
@@ -1104,7 +1104,7 @@ static int ipv6_get_mtu(struct net_device *dev)
...
@@ -1104,7 +1104,7 @@ static int ipv6_get_mtu(struct net_device *dev)
int
ip6_dst_hoplimit
(
struct
dst_entry
*
dst
)
int
ip6_dst_hoplimit
(
struct
dst_entry
*
dst
)
{
{
int
hoplimit
=
dst_metric
(
dst
,
RTAX_HOPLIMIT
);
int
hoplimit
=
dst_metric
_raw
(
dst
,
RTAX_HOPLIMIT
);
if
(
hoplimit
<
0
)
{
if
(
hoplimit
<
0
)
{
struct
net_device
*
dev
=
dst
->
dev
;
struct
net_device
*
dev
=
dst
->
dev
;
struct
inet6_dev
*
idev
;
struct
inet6_dev
*
idev
;
...
@@ -1310,7 +1310,7 @@ int ip6_route_add(struct fib6_config *cfg)
...
@@ -1310,7 +1310,7 @@ int ip6_route_add(struct fib6_config *cfg)
}
}
}
}
if
(
dst_metric
(
&
rt
->
dst
,
RTAX_HOPLIMIT
)
==
0
)
if
(
dst_metric
_raw
(
&
rt
->
dst
,
RTAX_HOPLIMIT
)
==
0
)
dst_metric_set
(
&
rt
->
dst
,
RTAX_HOPLIMIT
,
-
1
);
dst_metric_set
(
&
rt
->
dst
,
RTAX_HOPLIMIT
,
-
1
);
if
(
!
dst_mtu
(
&
rt
->
dst
))
if
(
!
dst_mtu
(
&
rt
->
dst
))
dst_metric_set
(
&
rt
->
dst
,
RTAX_MTU
,
ipv6_get_mtu
(
dev
));
dst_metric_set
(
&
rt
->
dst
,
RTAX_MTU
,
ipv6_get_mtu
(
dev
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录