[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87mxve8lfw.fsf@small.ssi.corp>
Date: Tue, 01 Jun 2010 23:58:11 +0200
From: arno@...isbad.org (Arnaud Ebalard)
To: Joe Perches <joe@...ches.com>
Cc: "David S. Miller" <davem@...emloft.net>,
YOSHIFUJI Hideaki / 吉藤英明
<yoshfuji@...ux-ipv6.org>, netdev@...r.kernel.org
Subject: Re: [PATCHv2] Refactor update of IPv6 flow destination address for srcrt (RH) option
Hi,
Joe Perches <joe@...ches.com> writes:
>> +static inline struct in6_addr *srcrt_dst_flow_update(struct in6_addr *final,
>> + struct in6_addr *fl6dst,
>> + const struct ipv6_txoptions *opt)
>> +{
>> + if (opt && opt->srcrt) {
>> + const struct rt0_hdr *rt0 = (struct rt0_hdr *)opt->srcrt;
>> + ipv6_addr_copy(final, fl6dst);
>> + ipv6_addr_copy(fl6dst, rt0->addr);
>> + return final;
>> + }
>> + return NULL;
>> +}
>> +
>
> Should this be inline? Maybe it'd be better moved to exthdrs.c
I thought it was small enough to keep it inline in ipv6.h but removing
the inline and moving it to exthdrs.c makes sense.
> Perhaps this is clearer as something like:
>
> /**
> * fl6_update_dst - update flow destination address
> *
> * @fl: flowlabel fl_dst to update
> * @opt: struct ipv6_txoptions
> * @orig: original fl_dst if modified
> *
> * Returns NULL if no txoptions or no srcrt, otherwise
> * returns orig and initial value of fl->fl6_dst set in orig
> */
> struct in6_addr *fl6_update_dst(struct ip6_flowlabel *fl,
> const struct ipv6_txoptions *opt,
> struct in6_addr *orig)
> {
> if (!opt || !opt->srcrt)
> return NULL;
>
> ipv6_addr_copy(orig, &fl->fl6_dst);
> ipv6_addr_copy(&fl->fl6_dst, ((struct rt0_hdr *)opt->srcrt)->addr);
> return orig;
> }
I'll send an updated new version tomorrow, i.e. in a few hours (with
s/ip6_flowlabel/flowi/).
Thanks for your feedback.
Cheers,
a+
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists