Re: [PATCH][IP] Make use of the inline function dst_metric_locked()
From: Satoru SATOH <hidden>
Date: 2008-05-05 03:44:50
Thanks for your info. I don't know the way to fix that problem, so I send it also as an attachment to be safe. - satoru 2008/4/30 Wang Chen [off-list ref]:
Satoru SATOH said the following on 2008-4-30 10:53:quoted
# Resend it. I think it fixed.> > I found some parts inline function dst_metric_locked should be used but > not. The following patch fixes these. > > Signed-off-by: Satoru SATOH [off-list ref] > > include/net/ip.h | 2 +- > net/ipv4/route.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/include/net/ip.h b/include/net/ip.h > index 6d7bcd5..3b40bc2 100644 > --- a/include/net/ip.h > +++ b/include/net/ip.h > @@ -210,7 +210,7 @@ int ip_dont_fragment(struct sock *sk, struct > dst_entry *dst) > { > return (inet_sk(sk)->pmtudisc == IP_PMTUDISC_DO || Still not fixed. Your mail client converted tab to blank space. BTW, you need to send this patch to David and cc to netdev list. > (inet_sk(sk)->pmtudisc == IP_PMTUDISC_WANT && > - !(dst_metric(dst, RTAX_LOCK)&(1<<RTAX_MTU)))); > + !(dst_metric_locked(dst, RTAX_MTU)))); > } > > extern void __ip_select_ident(struct iphdr *iph, struct dst_entry *dst, > int more); > diff --git a/net/ipv4/route.c b/net/ipv4/route.c > index ce25a13..2fd69b5 100644 > --- a/net/ipv4/route.c > +++ b/net/ipv4/route.c > @@ -1607,7 +1607,7 @@ static void rt_set_nexthop(struct rtable *rt, > struct fib_result *res, u32 itag) > sizeof(rt->u.dst.metrics)); > if (fi->fib_mtu == 0) { > rt->u.dst.metrics[RTAX_MTU-1] = rt->u.dst.dev->mtu; > - if (rt->u.dst.metrics[RTAX_LOCK-1] & (1 << RTAX_MTU) && > + if (dst_metric_locked(&rt->u.dst, RTAX_MTU) && > rt->rt_gateway != rt->rt_dst && > rt->u.dst.dev->mtu > 576) > rt->u.dst.metrics[RTAX_MTU-1] = 576;
Attachments
- linux-net-2.6-use-dst_metric_locked.patch [text/x-patch] 1176 bytes · preview