From: jamal <hadi@cyberus.ca>
To: Thomas Graf <tgraf@suug.ch>
Cc: "David S. Miller" <davem@davemloft.net>, netdev@oss.sgi.com
Subject: Re: [PATCH 3/4] [NEIGH] neighbour table configuration and statistics via rtnetlink
Date: Tue, 31 May 2005 06:04:07 -0400 [thread overview]
Message-ID: <1117533847.6134.32.camel@localhost.localdomain> (raw)
In-Reply-To: <20050528120731.GP15391@postel.suug.ch>
Doesnt seem like i responded to this.
On Sat, 2005-28-05 at 14:07 +0200, Thomas Graf wrote:
> * jamal <1117244567.6251.34.camel@localhost.localdomain> 2005-05-27 21:42
> > On Fri, 2005-27-05 at 18:35 +0200, Thomas Graf wrote:
> >
> > > I do NOT agree on moving gc_ into this architecture as well,
> > > it doesn't belong there.
> >
> > Well, you do realize they are part of the in_dev ? ;->
>
> Huh? They cannot be device specific, there is only one gc
> per neighbour table. So even _iff_ there was a device specific
> setting it wouldn't make much sense ;->
>
I keep forgeting some of these tables are system wide.
But i think it doesnt matter as long as we comply to the abstration
thats in the kernel; in other words, config access is still via the
in_devxx. i.e if you supply any ifindex (since all devices _at the
moment_ point to the same ARP/ndisc table), it can be accessed and
configured.
> > I see a little main service header with ifindex always no different than
> > IFA or IFLINK etc followed by appropriate TLVs which are nested.
>
> I guess we could simply move NDTPA_PARMS into the devconfig family.
Probably a good start. This would still be missing the gc thresholds
etc, no?
> > Well, if you look at the structure there is no reason they should really
> > be separate; infact theres a comment:
> > -----------
> > struct neigh_parms parms;
> > /* HACK. gc_* shoul follow parms without a gap! */
> > int gc_interval;
> > int gc_thresh1;
> > int gc_thresh2;
> > ----------
>
> You do realize the reason for that comment? ;-> The author of
> the neighbour procfs code was simply too lazy to put these
> into a separate place so he introduced a nasty hack.
>
I think you are correct.
> What about this, we move the device specific part into the new devconfig
> layer but leave the main configuration, statistics, and gc parameters
> in RTM_NEIGHTBL? i.e.
>
> arp_cache entries 2 reachable-time 23s 993msec retransmit-time 1s
> key-len 4 entry-size 152 last-flush 55m 44s 572msec
> gc threshold 128/512/1024 interval 30s chain-position 3
> hash-rand 0x69650257/0x00000003 last-rand 1m 44s 571msec
> ? refcnt 1 pending-queue-limit 3 proxy-delayed-queue-limit 64
> ? num-userspace-probes 0 num-unicast-probes 3 num-multicast-probes 3
> ? min-age 1s base-reachable-time 30s stale-check-interval 1m
> ? initial-probe-delay 5s answer-delay 1s proxy-answer-delay 800msec
> lookups 195 hits 190 failed 0 allocations 3 destroys 1
> hash-grows 1 forced-gc-runs 0 periodic-gc-runs 910
> rcv-unicast-probes 0 rcv-multicast-probes 0
>
> Xarp_cache<eth0> reachable-time 35s 967msec retransmit-time 1s
> X refcnt 3 pending-queue-limit 3 proxy-delayed-queue-limit 64
> X num-userspace-probes 0 num-unicast-probes 3 num-multicast-probes 3
> X min-age 1s base-reachable-time 30s stale-check-interval 1m
> X initial-probe-delay 5s answer-delay 1s proxy-answer-delay 800msec
>
>
> Everything marked with X is clearly device specific so it will move.
> Everything marked with '?' is the default parameter set, we can either
> leave it or move it as well and put it under into a 'default' ifindex.
> I don't care about the latter, either is fine with me.
>
All "stuffs" (your bases is mine) accessible via in_devxx abstraction
should be devconfig configurable. I do concur that some of it may not
make sense - but that should be the exception rules...
Ok, lets say these tables are one such exception, but note:
In the future there could be multiple ARP tables for example (very
likely given all the virtualization approaches happening). In other
words different devices may point to different tables...
cheers,
jamal
next prev parent reply other threads:[~2005-05-31 10:04 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-26 18:53 [PATCHSET] neighbour tables access via rtnetlink Thomas Graf
2005-05-26 18:54 ` [PATCH 1/4] [NETLINK] New message building macros Thomas Graf
2005-05-26 18:54 ` [PATCH 2/4] [RTNETLINK] Routing attribute related shortcuts Thomas Graf
2005-05-26 18:55 ` [PATCH 3/4] [NEIGH] neighbour table configuration and statistics via rtnetlink Thomas Graf
2005-05-26 22:17 ` David S. Miller
2005-05-26 22:24 ` Thomas Graf
2005-05-26 22:26 ` Thomas Graf
2005-05-26 22:37 ` David S. Miller
2005-05-27 11:14 ` jamal
2005-05-27 12:15 ` Thomas Graf
2005-05-27 13:50 ` jamal
[not found] ` <20050527141023.GP15391@postel.suug.ch>
2005-05-27 14:57 ` jamal
2005-05-27 15:16 ` Thomas Graf
2005-05-27 15:56 ` jamal
2005-05-27 16:35 ` Thomas Graf
2005-05-28 1:42 ` jamal
2005-05-28 12:07 ` Thomas Graf
2005-05-31 10:04 ` jamal [this message]
2005-05-31 11:42 ` Thomas Graf
2005-05-31 12:48 ` jamal
2005-05-31 13:17 ` Thomas Graf
2005-05-31 14:59 ` Jamal Hadi Salim
2005-05-31 16:13 ` Thomas Graf
2005-06-02 13:33 ` jamal
2005-05-26 18:55 ` [NEIGH] Remove unused fields in struct neigh_parms and neigh_table Thomas Graf
2005-05-26 19:00 ` Thomas Graf
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=1117533847.6134.32.camel@localhost.localdomain \
--to=hadi@cyberus.ca \
--cc=davem@davemloft.net \
--cc=netdev@oss.sgi.com \
--cc=tgraf@suug.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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;
as well as URLs for NNTP newsgroup(s).