From: Varun Chandramohan <varunc@linux•vnet.ibm.com>
To: Thomas Graf <tgraf@suug•ch>
Cc: davem@davemloft•net, netdev@vger•kernel.org, kaber@trash•net,
socketcan@hartkopp•net, shemminger@linux-foundation•org,
krkumar2@in•ibm.com, varuncha@in•ibm.com
Subject: Re: [PATCH 3/4 - rev 2] Initilize and populate age field
Date: Tue, 21 Aug 2007 16:52:35 +0530 [thread overview]
Message-ID: <46CACAFB.8050709@linux.vnet.ibm.com> (raw)
In-Reply-To: <20070821105542.GN32236@postel.suug.ch>
Thomas Graf wrote:
> * Varun Chandramohan <varunc@linux•vnet.ibm.com> 2007-08-20 13:46
>
>> The age field is filled with the current time at the time of creation of the route. When the routes are dumped
>> then the age value stored in the route structure is subtracted from the current time value and the difference is the age expressed in secs.
>>
>> Signed-off-by: Varun Chandramohan <varunc@linux•vnet.ibm.com>
>> @@ -985,6 +987,14 @@ int fib_dump_info(struct sk_buff *skb, u
>> NLA_PUT_U32(skb, RTA_FLOW, fi->fib_nh[0].nh_tclassid);
>> #endif
>> }
>> +
>> + do_gettimeofday(&tv);
>> + if (!*age) {
>> + *age = timeval_to_sec(&tv);
>> + NLA_PUT_U32(skb, RTA_AGE, *age);
>>
>
> Why don't you take the timestamp at the time of allocating the alias?
> This time-since-first-dump is very confusing.
>
>
I know its a bit confusing but let me explain the reason. In my first
version patch i used fn_hash_insert() (place where alias is created)as
place to insert my current time in the age field.
This will eventually call fib_dump_info() for inserting the age filed
attribute into the skb. Now in both places i have to call
do_gettimeofday(). Its obvious that i need it in fn_hash_insert(), its
also need in fib_dump_info() as it is the same function called for
retrieving and dumping the age value to the userspace. So as you are
aware that before we dump it to userspace we need to subtract the value
with current time i need to call do_gettimeofday() twice. To avoid this
i did as above.
>> + } else {
>> + NLA_PUT_U32(skb, RTA_AGE, timeval_to_sec(&tv) - *age);
>> + }
>> #ifdef CONFIG_IP_ROUTE_MULTIPATH
>> if (fi->fib_nhs > 1) {
>> struct rtnexthop *rtnh;
>>
> -
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger•kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
Regards,
Varun
next prev parent reply other threads:[~2007-08-21 11:22 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-20 8:16 [PATCH 3/4 - rev 2] Initilize and populate age field Varun Chandramohan
2007-08-21 10:55 ` Thomas Graf
2007-08-21 11:22 ` Varun Chandramohan [this message]
2007-08-21 11:27 ` Thomas Graf
2007-08-21 11:32 ` Varun Chandramohan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46CACAFB.8050709@linux.vnet.ibm.com \
--to=varunc@linux$(echo .)vnet.ibm.com \
--cc=davem@davemloft$(echo .)net \
--cc=kaber@trash$(echo .)net \
--cc=krkumar2@in$(echo .)ibm.com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=shemminger@linux-foundation$(echo .)org \
--cc=socketcan@hartkopp$(echo .)net \
--cc=tgraf@suug$(echo .)ch \
--cc=varuncha@in$(echo .)ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox