Re: [Make-wifi-fast] OpenWRT wrong adjustment of fq_codel defaults (Was: [Codel] fq_codel_drop vs a udp flood)

2016-05-16 Thread David Lang

On Mon, 16 May 2016, Roman Yeryomin wrote:


On 16 May 2016 at 11:12, David Lang <da...@lang.hm> wrote:

On Mon, 16 May 2016, Roman Yeryomin wrote:


On 6 May 2016 at 22:43, Dave Taht <dave.t...@gmail.com> wrote:


On Fri, May 6, 2016 at 11:56 AM, Roman Yeryomin <leroi.li...@gmail.com>
wrote:


On 6 May 2016 at 21:43, Roman Yeryomin <leroi.li...@gmail.com> wrote:


On 6 May 2016 at 15:47, Jesper Dangaard Brouer <bro...@redhat.com>
wrote:






That is too low a limit, also, for normal use. And:
for the purpose of this particular UDP test, flows 16 is ok, but not
ideal.



I played with different combinations, it doesn't make any
(significant) difference: 20-30Mbps, not more.
What numbers would you propose?



How many different flows did you have going at once? I believe that the
reason for higher numbers isn't for throughput, but to allow for more flows
to be isolated from each other. If you have too few buckets, different flows
will end up being combined into one bucket so that one will affect the other
more.


I'm testing with one flow, I never saw bigger performance with more
flows (e.g. -P8 to iperf3).


The issue isn't performance, it's isolating a DNS request from a VoIP flow 
from a streaming video flow from a DVD image download.


The question is how many buckets do you need to have to isolate these in 
practice? it depends how many flows you have. The default was 1024 buckets, but 
got changed to 128 for low memory devices, and that lower value got made into 
the default, even for devices with lots of memory.


I'm wondering if instead of trying to size this based on device memory, can it 
be resizable on the fly and grow if too many flows/collisions are detected?


David Lang


Re: [Make-wifi-fast] OpenWRT wrong adjustment of fq_codel defaults (Was: [Codel] fq_codel_drop vs a udp flood)

2016-05-16 Thread David Lang

On Mon, 16 May 2016, Roman Yeryomin wrote:


On 6 May 2016 at 22:43, Dave Taht <dave.t...@gmail.com> wrote:

On Fri, May 6, 2016 at 11:56 AM, Roman Yeryomin <leroi.li...@gmail.com> wrote:

On 6 May 2016 at 21:43, Roman Yeryomin <leroi.li...@gmail.com> wrote:

On 6 May 2016 at 15:47, Jesper Dangaard Brouer <bro...@redhat.com> wrote:





That is too low a limit, also, for normal use. And:
for the purpose of this particular UDP test, flows 16 is ok, but not
ideal.


I played with different combinations, it doesn't make any
(significant) difference: 20-30Mbps, not more.
What numbers would you propose?


How many different flows did you have going at once? I believe that the reason 
for higher numbers isn't for throughput, but to allow for more flows to be 
isolated from each other. If you have too few buckets, different flows will end 
up being combined into one bucket so that one will affect the other more.


David Lang


Re: [Make-wifi-fast] [RFCv2 1/3] mac80211: implement fq_codel for software queuing

2016-03-21 Thread David Lang

On Wed, 16 Mar 2016, Michal Kazior wrote:


Since 11n aggregation become important to get the
best out of txops. However aggregation inherently
requires buffering and queuing. Once variable
medium conditions to different associated stations
is considered it became apparent that bufferbloat
can't be simply fought with qdiscs for wireless
drivers.


If the network is quiet enough, don't do any buffering, but in almost all 
situations you are going to need to buffer starting no later than the second 
packet you try to send.


Don't try to make queueing occur, just deal with the queues that form naturally 
because you can't transmit data any faster (and work to keep them under some 
semblence of control)


It's a tempting trap to fall into to try and fill the aggregates to transmit as 
efficiently as possible, but don't skip transmitting because you don't have a 
full aggregate, transmit what you have and if there is more, you'll catch it on 
the next pass.


This is slightly less friendly on the network than waiting to see if you can 
fill the aggregate in a quick fashion, but if uces the lowest latency possible, 
and deteriorates into the same state that you end up with if you try to fill the 
aggregates as the load/congestion builds.


David Lang



This bases on codel5 and sch_fq_codel.c. It may
not be the Right Thing yet but it should at least
provide a framework for more improvements.

Signed-off-by: Michal Kazior <michal.kaz...@tieto.com>
---
include/net/mac80211.h |  96 ++-
net/mac80211/agg-tx.c  |   8 +-
net/mac80211/cfg.c |   2 +-
net/mac80211/codel.h   | 264 ++
net/mac80211/codel_i.h |  89 ++
net/mac80211/debugfs.c | 267 ++
net/mac80211/ieee80211_i.h |  45 +++-
net/mac80211/iface.c   |  25 +-
net/mac80211/main.c|   9 +-
net/mac80211/rx.c  |   2 +-
net/mac80211/sta_info.c|  10 +-
net/mac80211/sta_info.h|  27 ++
net/mac80211/status.c  |  64 +
net/mac80211/tx.c  | 658 ++---
net/mac80211/util.c|  21 +-
15 files changed, 1503 insertions(+), 84 deletions(-)
create mode 100644 net/mac80211/codel.h
create mode 100644 net/mac80211/codel_i.h

diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index a5cb1528..947d827f254b 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -565,6 +565,16 @@ struct ieee80211_bss_conf {
struct ieee80211_p2p_noa_attr p2p_noa_attr;
};

+/*
+ * struct codel_params - contains codel parameters
+ * @interval:  initial drop rate
+ * @target: maximum persistent sojourn time
+ */
+struct codel_params {
+   u64 interval;
+   u64 target;
+};
+
/**
 * enum mac80211_tx_info_flags - flags to describe transmission 
information/status
 *
@@ -853,6 +863,8 @@ ieee80211_rate_get_vht_nss(const struct ieee80211_tx_rate 
*rate)
 * @band: the band to transmit on (use for checking for races)
 * @hw_queue: HW queue to put the frame on, skb_get_queue_mapping() gives the AC
 * @ack_frame_id: internal frame ID for TX status, used internally
+ * @expected_duration: number of microseconds the stack expects this frame to
+ * take to tx. Used for fair queuing.
 * @control: union for control data
 * @status: union for status data
 * @driver_data: array of driver_data pointers
@@ -865,11 +877,10 @@ ieee80211_rate_get_vht_nss(const struct ieee80211_tx_rate 
*rate)
struct ieee80211_tx_info {
/* common information */
u32 flags;
-   u8 band;
-
-   u8 hw_queue;
-
-   u16 ack_frame_id;
+   u32 band:2,
+   hw_queue:5,
+   ack_frame_id:15,
+   expected_duration:10;

union {
struct {
@@ -888,8 +899,18 @@ struct ieee80211_tx_info {
/* only needed before rate control */
unsigned long jiffies;
};
-   /* NB: vif can be NULL for injected frames */
-   struct ieee80211_vif *vif;
+   union {
+   /* NB: vif can be NULL for injected frames */
+   struct ieee80211_vif *vif;
+
+   /* When packets are enqueued on txq it's easy
+* to re-construct the vif pointer. There's no
+* more space in tx_info so it can be used to
+* store the necessary enqueue time for packet
+* sojourn time computation.
+*/
+   u64 enqueue_time;
+   };
struct ieee80211_key_conf *hw_key;
u32 flags;
/* 4 bytes free */
@@ -2114,8 +2135,8 @@ enum ieee80211_hw_flags {
 * @cipher_schemes: a pointer to an array of cipher scheme definitions
 *  supported

Re: Network performance degradation from 2.6.11.12 to 2.6.16.20

2006-09-18 Thread David Lang

On Tue, 19 Sep 2006, Alexey Kuznetsov wrote:


Hello!


Please think about it this way:
suppose you haave a heavily loaded router and some network problem is to
be diagnosed. You run tcpdump and suddenly router becomes overloaded (by
switching to timestamp-it-all mode


I am sorry. I cannot think that way. :-)

Instead of attempts to scare, better resend original report,
where you said how much performance degraded, I cannot find it.

* I do see get_offset_pmtmr() in top lines of profile. That's scary enough.
* I do not undestand what the hell dhcp needs timestamps for.
* I do not listen any suggestions to screw up tcpdump with a sysctl.
 Kernel already implements much better thing then a sysctl.
 Do not want timestamps? Fix tcpdump, add an options, submit the
 patch to tcpdump maintainers. Not a big deal.


if fireing up one program (however minor) can cause network performance to drop 
by 50% (based on the numbers reported earlier in this thread) that is a 
significant problem for sysadmins.


yes tcpdump may be wrong in requesting timestamps (in most cases it probably is, 
but in some cases it's doing exactly what the sysadmin wants it to do), but I 
don't think that many sysadmins would expect this much of a performance hit. 
there should be some way to tell the system to ignore requests for timestamps so 
that a badly behaved program cannot cripple the system this way (and preferably 
something that doesn't require a full SELinux/capabilities implementation)


David Lang
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Updated sysctl documentation take #2

2006-06-07 Thread David Lang

On Thu, 8 Jun 2006, Johannes Stezenbach wrote:


On Wed, Jun 07, 2006, Diego Calleja wrote:

Since people didn't like the many small files approach, I've moved
it to directories containing index.txt files:

Documentation/sysctl/vm/index.txt
Documentation/sysctl/net/core/index.txt


Why not just

Documentation/sysctl/vm.txt
Documentation/sysctl/net/core.txt

etc.?


better matching of the proc layout would be my guess.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: network freeze with nforce-A939 integrated rhine card

2006-05-13 Thread David Lang

On Fri, 12 May 2006, David Lang wrote:


On Fri, 12 May 2006, Roger Luethi wrote:


On Thu, 11 May 2006 22:59:44 -0700, David Lang wrote:

I haven't had time to go back and find where is started (my prior kernel
was 2.6.15-rc7), but with 2.6.17-rc1/2/3/4 I've been running into a
problem where when transfering large amounts of data (trying to ftp a TB


where is started sounds as if it used to work at some point. In your
second posting, however, you note that the problem goes back at least to
2.6.13. So are there any kernels known not to exhibit the problem you
described?


when I posted this origionally I thought it was new in 2.6.17-rc, however 
since my testing with older kernels hasn't found me a working one yet I 
suspect that other factors have been involved with makeing it work.


these failures have been on multi-gig files ftp'd from the raid array on my 
machine to the raid array on the replacement machine. In the past I've 
sucessfully transfered similar sized files to/from my tivo (slow network), my 
laptop (slow drive), and smaller sets of files to single drives on other 
systems (7200rpm drives, but not to arrays).


as I type this I'm starting a test going from a single drive on this machine 
to the raid array on the remote machine to transfer ~84G of data. My 
suspicion is that this is going to work.


I just confirmed this, I was able to transfer 84G with no trouble starting 
from /dev/hdb, but starting from /dev/md0 the nic hung in less then 3G


a good boot logs
eth0: VIA Rhine II at 0xe8121000, 00:11:5b:f4:14:a3, IRQ 17.
eth0: MII PHY found at address 1, status 0x7869 advertising 05e1 Link cde1.

[EMAIL PROTECTED]:~# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes:   10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x0001 (1)
Link detected: yes

David Lang
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: network freeze with nforce-A939 integrated rhine card

2006-05-13 Thread David Lang

On Sat, 13 May 2006, David Lang wrote:


On Fri, 12 May 2006, David Lang wrote:


On Fri, 12 May 2006, Roger Luethi wrote:


On Thu, 11 May 2006 22:59:44 -0700, David Lang wrote:


I just confirmed this, I was able to transfer 84G with no trouble starting 
from /dev/hdb, but starting from /dev/md0 the nic hung in less then 3G


a good boot logs
eth0: VIA Rhine II at 0xe8121000, 00:11:5b:f4:14:a3, IRQ 17.
eth0: MII PHY found at address 1, status 0x7869 advertising 05e1 Link cde1.

[EMAIL PROTECTED]:~# ethtool eth0
Settings for eth0:
   Supported ports: [ TP MII ]
   Supported link modes:   10baseT/Half 10baseT/Full
   100baseT/Half 100baseT/Full
   Supports auto-negotiation: Yes
   Advertised link modes:  10baseT/Half 10baseT/Full
   100baseT/Half 100baseT/Full
   Advertised auto-negotiation: Yes
   Speed: 100Mb/s
   Duplex: Full
   Port: MII
   PHYAD: 1
   Transceiver: internal
   Auto-negotiation: on
   Supports Wake-on: pumbg
   Wake-on: d
   Current message level: 0x0001 (1)
   Link detected: yes


and here's what I get when it's hung

from syslog when it hangs
May 13 01:58:17 david kernel: attempt to access beyond end of device
May 13 01:58:17 david kernel: md0: rw=0, want=8708129352, limit=2188035584
May 13 01:58:17 david kernel: attempt to access beyond end of device
May 13 01:58:17 david kernel: md0: rw=0, want=7768925008, limit=2188035584
May 13 02:13:50 david ntpd[2589]: time reset +0.699871 s
May 13 02:16:51 david kernel: eth0: link down

from ethtool
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes:   10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 10Mb/s
Duplex: Half
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x0001 (1)
Link detected: no


from the boot with it hung.
eth0: VIA Rhine II at 0xe8121000, 00:11:5b:f4:14:a3, IRQ 17.
eth0: MII PHY found at address 1, status 0x7849 advertising 05e1 Link .

David Lang
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


network freeze with nforce-A939 integrated rhine card

2006-05-12 Thread David Lang
I haven't had time to go back and find where is started (my prior kernel 
was 2.6.15-rc7), but with 2.6.17-rc1/2/3/4 I've been running into a 
problem where when transfering large amounts of data (trying to ftp a TB 
or so of data off of the box to my new server it will run for a while (as 
little as 1G, as much as 45G) and then the network card will shut down.


when I say shut down I mean that it looses link and requires powering down 
the box (hard power down, not just power off from the front panel), 
disabling the network card in the BIOS, booting (as far as lilo is 
enough), powering down again, enabling the card and booting again.
there is no indication of trouble before the halt (it's transfering at 
full speed), the only think in the log is

May 11 22:23:57 david kernel: eth0: link down
May 11 22:24:00 david kernel: eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
May 11 22:24:22 david kernel: eth0: link down

if I don't do the disable/enable in the bios cycle and just power cycle 
the system the card does not initialize properly (ethtool reports 
autonegotiation disabled, 10Mb. will generate an 'unsupported' error if I 
try to enable the card)


the system is x86_64 64 bit kernel with 32 bit userspace

lspci report
[EMAIL PROTECTED]:~$ /sbin/lspci
00:00.0 Host bridge: VIA Technologies, Inc.: Unknown device 0204
00:00.1 Host bridge: VIA Technologies, Inc.: Unknown device 1204
00:00.2 Host bridge: VIA Technologies, Inc.: Unknown device 2204
00:00.3 Host bridge: VIA Technologies, Inc.: Unknown device 3204
00:00.4 Host bridge: VIA Technologies, Inc.: Unknown device 4204
00:00.7 Host bridge: VIA Technologies, Inc.: Unknown device 7204
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI bridge [K8T800 South]
00:08.0 RAID bus controller: Triones Technologies, Inc. HPT374 (rev 07)
00:08.1 RAID bus controller: Triones Technologies, Inc. HPT374 (rev 07)
00:0a.0 Ethernet controller: Olicom OC-2326 (rev 01)
00:0f.0 IDE interface: VIA Technologies, Inc. 
VT82C586A/B/VT82C686/A/B/VT823x/A/C/VT8235 PIPC Bus Master IDE (rev 06)
00:10.0 USB Controller: VIA Technologies, Inc. VT6202 [USB 2.0 controller] (rev 
81)
00:10.1 USB Controller: VIA Technologies, Inc. VT6202 [USB 2.0 controller] (rev 
81)
00:10.2 USB Controller: VIA Technologies, Inc. VT6202 [USB 2.0 controller] (rev 
81)
00:10.3 USB Controller: VIA Technologies, Inc. VT6202 [USB 2.0 controller] (rev 
81)
00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [K8T800 South]
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 
AC97 Audio Controller (rev 60)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
01:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 SE] 
(rev 01)

config is attached

David Lang

config.gz
Description: Binary data


Re: network freeze with nforce-A939 integrated rhine card

2006-05-12 Thread David Lang

On Fri, 12 May 2006, Roger Luethi wrote:


On Thu, 11 May 2006 22:59:44 -0700, David Lang wrote:

I haven't had time to go back and find where is started (my prior kernel
was 2.6.15-rc7), but with 2.6.17-rc1/2/3/4 I've been running into a
problem where when transfering large amounts of data (trying to ftp a TB


where is started sounds as if it used to work at some point. In your
second posting, however, you note that the problem goes back at least to
2.6.13. So are there any kernels known not to exhibit the problem you
described?


when I posted this origionally I thought it was new in 2.6.17-rc, however 
since my testing with older kernels hasn't found me a working one yet I 
suspect that other factors have been involved with makeing it work.


these failures have been on multi-gig files ftp'd from the raid array on 
my machine to the raid array on the replacement machine. In the past I've 
sucessfully transfered similar sized files to/from my tivo (slow network), 
my laptop (slow drive), and smaller sets of files to single drives on 
other systems (7200rpm drives, but not to arrays).


as I type this I'm starting a test going from a single drive on this 
machine to the raid array on the remote machine to transfer ~84G of data. 
My suspicion is that this is going to work.



when I say shut down I mean that it looses link and requires powering down
the box (hard power down, not just power off from the front panel),
disabling the network card in the BIOS, booting (as far as lilo is
enough), powering down again, enabling the card and booting again.


So there are two problem areas: 1) the chip hangs itself without the driver
noticing and 2) the BIOS fails to bring the chip back to life afterwards.


yes


there is no indication of trouble before the halt (it's transfering at
full speed), the only think in the log is
May 11 22:23:57 david kernel: eth0: link down
May 11 22:24:00 david kernel: eth0: link up, 100Mbps, full-duplex, lpa
0xCDE1
May 11 22:24:22 david kernel: eth0: link down

if I don't do the disable/enable in the bios cycle and just power cycle
the system the card does not initialize properly (ethtool reports
autonegotiation disabled, 10Mb. will generate an 'unsupported' error if I
try to enable the card)


Any difference in the kernel log when booting with (or ethtooling) a
comatose chip?


I haven't checked the boot logs, I'll do that. ethtool hasn't generated 
any logs that I've seen. after the current transfer finishes I'll trigger 
the bug and test this.



[EMAIL PROTECTED]:~$ /sbin/lspci
00:00.0 Host bridge: VIA Technologies, Inc.: Unknown device 0204
00:00.1 Host bridge: VIA Technologies, Inc.: Unknown device 1204
00:00.2 Host bridge: VIA Technologies, Inc.: Unknown device 2204
00:00.3 Host bridge: VIA Technologies, Inc.: Unknown device 3204
00:00.4 Host bridge: VIA Technologies, Inc.: Unknown device 4204
00:00.7 Host bridge: VIA Technologies, Inc.: Unknown device 7204
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI bridge [K8T800 South]
00:08.0 RAID bus controller: Triones Technologies, Inc. HPT374 (rev 07)
00:08.1 RAID bus controller: Triones Technologies, Inc. HPT374 (rev 07)
00:0a.0 Ethernet controller: Olicom OC-2326 (rev 01)
00:0f.0 IDE interface: VIA Technologies, Inc. 
VT82C586A/B/VT82C686/A/B/VT823x/A/C/VT8235 PIPC Bus Master IDE (rev 06)
00:10.0 USB Controller: VIA Technologies, Inc. VT6202 [USB 2.0 controller] (rev 
81)
00:10.1 USB Controller: VIA Technologies, Inc. VT6202 [USB 2.0 controller] (rev 
81)
00:10.2 USB Controller: VIA Technologies, Inc. VT6202 [USB 2.0 controller] (rev 
81)
00:10.3 USB Controller: VIA Technologies, Inc. VT6202 [USB 2.0 controller] (rev 
81)
00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [K8T800 South]
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 
AC97 Audio Controller (rev 60)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
01:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 SE] 
(rev 01)


Odd. This doesn't look at all like the list I'd expect from an nforce-A939.
I thought Nvidia devices featured rather prominently in the device lists of
nforce-based boards!?


you're right, it's the new server that has the nforce board. I'll have to 
check the motherboard version when I reboot it.


David Lang

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [Bcm43xx-dev] [Fwd: State of the Union: Wireless]

2006-01-06 Thread David Lang

On Fri, 6 Jan 2006, Patrick McHardy wrote:


Marcel Holtmann wrote:


I just personally liked the idea of having a device node in /dev for
every existing hardware wlan card. Like we have device nodes for
other real hardware, too. It felt like a bit of a unix way to do
this to me. I don't say this is the way to go.
If a netlink socket is used (which is possible, for sure), we stay with
the old way of having no device node in /dev for networking devices.
That is ok. But that is really only an implementation detail (and for sure
a matter of taste).



At the OLS last year, I think the consensus was to use netlink for all
configuration task. However this was mainly driven by Harald Welte and
he might be able to talk about the pros and cons of netlink versus a
character device.


I think the main advantages of netlink over a character device is its
flexible format, which is easily extendable, and multicast capability,
which can be used to broadcast events and configuration changes. Its
also good to have all the net stuff accessible in a uniform way.


character devices are far easier to script. this really sounds like the 
type of configuration stuff that sysfs was designed for. can we avoid yet 
another configuration tool that's required?


David Lang

--
There are two ways of constructing a software design. One way is to make it so 
simple that there are obviously no deficiencies. And the other way is to make 
it so complicated that there are no obvious deficiencies.
 -- C.A.R. Hoare

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html