List Info

Thread: RE: ALTQ support for usb NICs?




RE: ALTQ support for usb NICs?
user name
2007-01-28 09:14:25
 
> Anyway, I've already checked altq(9) which describes
the 
> driver transition and I thought about patching the
drivers myself.
> 
> I've got a bunch of aue, one kue and a few currently
unsupported NICs.
> 

I could find a use for an altq patched aue ta muchly. 


Greg

-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.17.12/654 - Release
Date: 27/01/2007
17:02
 

_______________________________________________
freebsd-pffreebsd.org mailing list

http://lists.freebsd.org/mailman/listinfo/freebsd-pf
To unsubscribe, send any mail to
"freebsd-pf-unsubscribefreebsd.org"

Re: ALTQ support for usb NICs?
user name
2007-01-29 17:20:46
On Sunday 28 January 2007 16:14, Greg Hennessy wrote:
> > Anyway, I've already checked altq(9) which
describes the
> > driver transition and I thought about patching the
drivers myself.
> >
> > I've got a bunch of aue, one kue and a few
currently unsupported
> > NICs.
>
> I could find a use for an altq patched aue ta muchly.

aue and kue patches added to 
http:/
/people.freebsd.org/~mlaier/ALTQ_driver/

Please test and report back.

-- 
/"  Best regards,                      | mlaierfreebsd.org
 /  Max Laier                          | ICQ #67774661
 X   http://pf4freebsd.l
ove2party.net/  | mlaierEFnet
/   ASCII Ribbon Campaign              | Against HTML Mail
and News
RE: ALTQ support for usb NICs?
user name
2007-01-30 16:09:54
> aue and kue patches added to
> http:/
/people.freebsd.org/~mlaier/ALTQ_driver/
> 
> Please test and report back.

So far so good.

Greg


gw2:~ # uname -a
FreeBSD gw2.local.net 7.0-CURRENT FreeBSD 7.0-CURRENT #167:
Tue Jan 30
15:57:33 GMT 2007     rootgw2.local.net:/usr/obj/usr/src/sys/GH  i386
gw2:~ # cat /etc/rc.early
/sbin/ifconfig aue0 name outside
/sbin/ifconfig em0 name inside
/sbin/ifconfig inside polling
gw2:~ # pfctl -vsq
queue root_outside bandwidth 700Kb priority 0 {q_pri, q_def,
q_p2p}
  [ pkts:          0  bytes:          0  dropped pkts:     
0 bytes:      0
]
  [ qlength:   0/ 50 ]
queue  q_pri bandwidth 105Kb qlimit 250 hfsc( realtime 140Kb
upperlimit
350Kb )
  [ pkts:     118289  bytes:    6735193  dropped pkts:     
0 bytes:      0
]
  [ qlength:   0/250 ]
queue  q_def bandwidth 455Kb qlimit 250 hfsc( rio linkshare
350Kb upperlimit
630Kb )
  [ pkts:      20710  bytes:    5146240  dropped pkts:     
0 bytes:      0
]
  [ qlength:   0/250 ]
queue  q_p2p bandwidth 140Kb qlimit 250 hfsc( rio default
upperlimit 630Kb )
  [ pkts:       3141  bytes:     140498  dropped pkts:     
0 bytes:      0
]
  [ qlength:   0/250 ]
gw2:~ #

_______________________________________________
freebsd-pffreebsd.org mailing list

http://lists.freebsd.org/mailman/listinfo/freebsd-pf
To unsubscribe, send any mail to
"freebsd-pf-unsubscribefreebsd.org"

Re: ALTQ support for usb NICs?
user name
2007-01-30 16:57:56
On Tuesday 30 January 2007 23:09, you wrote:
> > aue and kue patches added to
> > http:/
/people.freebsd.org/~mlaier/ALTQ_driver/
> >
> > Please test and report back.
>
> So far so good.
>
> Greg
>
>
> gw2:~ # uname -a
> FreeBSD gw2.local.net 7.0-CURRENT FreeBSD 7.0-CURRENT
#167: Tue Jan 30
> 15:57:33 GMT 2007     rootgw2.local.net:/usr/obj/usr/src/sys/GH  i386
> gw2:~ # cat /etc/rc.early
> /sbin/ifconfig aue0 name outside
> /sbin/ifconfig em0 name inside
> /sbin/ifconfig inside polling

Wow ... so naming really works?  That's news 

> gw2:~ # pfctl -vsq
> queue root_outside bandwidth 700Kb priority 0 {q_pri,
q_def, q_p2p}
>   [ pkts:          0  bytes:          0  dropped pkts: 
    0 bytes:   
>   0 ]
>   [ qlength:   0/ 50 ]
> queue  q_pri bandwidth 105Kb qlimit 250 hfsc( realtime
140Kb upperlimit
> 350Kb )
>   [ pkts:     118289  bytes:    6735193  dropped pkts: 
    0 bytes:   
>   0 ]
>   [ qlength:   0/250 ]
> queue  q_def bandwidth 455Kb qlimit 250 hfsc( rio
linkshare 350Kb
> upperlimit 630Kb )
>   [ pkts:      20710  bytes:    5146240  dropped pkts: 
    0 bytes:   
>   0 ]
>   [ qlength:   0/250 ]
> queue  q_p2p bandwidth 140Kb qlimit 250 hfsc( rio
default upperlimit
> 630Kb ) [ pkts:       3141  bytes:     140498  dropped
pkts:      0
> bytes:      0 ]
>   [ qlength:   0/250 ]
> gw2:~ #

Can you by any chance run the simple benchmark described at

http:/
/people.freebsd.org/~mlaier/ALTQ_driver/ ?  It's good if
hfsc 
works, but the main goal is to make sure that we do not
break anything 
for non-ALTQ users.

-- 
/"  Best regards,                      | mlaierfreebsd.org
 /  Max Laier                          | ICQ #67774661
 X   http://pf4freebsd.l
ove2party.net/  | mlaierEFnet
/   ASCII Ribbon Campaign              | Against HTML Mail
and News
Re: ALTQ support for usb NICs?
user name
2007-01-30 17:09:21
On 01/30/07 23:57, Max Laier wrote:
> On Tuesday 30 January 2007 23:09, you wrote:
>>> aue and kue patches added to
>>> http:/
/people.freebsd.org/~mlaier/ALTQ_driver/
>>>
>>> Please test and report back.
>> So far so good.
>>
>> Greg
>>
>>
>> gw2:~ # uname -a
>> FreeBSD gw2.local.net 7.0-CURRENT FreeBSD
7.0-CURRENT #167: Tue Jan 30
>> 15:57:33 GMT 2007     rootgw2.local.net:/usr/obj/usr/src/sys/GH  i386
>> gw2:~ # cat /etc/rc.early
>> /sbin/ifconfig aue0 name outside
>> /sbin/ifconfig em0 name inside
>> /sbin/ifconfig inside polling
> 
> Wow ... so naming really works?  That's news 
> 
>> gw2:~ # pfctl -vsq
>> queue root_outside bandwidth 700Kb priority 0
{q_pri, q_def, q_p2p}
>>   [ pkts:          0  bytes:          0  dropped
pkts:      0 bytes:   
>>   0 ]
>>   [ qlength:   0/ 50 ]
>> queue  q_pri bandwidth 105Kb qlimit 250 hfsc(
realtime 140Kb upperlimit
>> 350Kb )
>>   [ pkts:     118289  bytes:    6735193  dropped
pkts:      0 bytes:   
>>   0 ]
>>   [ qlength:   0/250 ]
>> queue  q_def bandwidth 455Kb qlimit 250 hfsc( rio
linkshare 350Kb
>> upperlimit 630Kb )
>>   [ pkts:      20710  bytes:    5146240  dropped
pkts:      0 bytes:   
>>   0 ]
>>   [ qlength:   0/250 ]
>> queue  q_p2p bandwidth 140Kb qlimit 250 hfsc( rio
default upperlimit
>> 630Kb ) [ pkts:       3141  bytes:     140498 
dropped pkts:      0
>> bytes:      0 ]
>>   [ qlength:   0/250 ]
>> gw2:~ #
> 
> Can you by any chance run the simple benchmark
described at 
> http:/
/people.freebsd.org/~mlaier/ALTQ_driver/ ?  It's good if
hfsc 
> works, but the main goal is to make sure that we do not
break anything 
> for non-ALTQ users.
> 

Max,

I'm using a RELENG_6 system so your patches did not succeed
on my
system. What I did was to manually make the needed
modifications
with if_aue.c 1.90.2.6 (cvs RELENG_6).

Following you'll find my patch against RELENG_6.

The interface is working, comes up and traffic goes through.
Running
netperf (tcp_range_script) is giving some errors (trimmed at
bit):

/usr/local/bin/netperf -l 60 -H 192.168.20.141 -t TCP_STREAM
-i 10,2
-I 99,3 -- -m 1 -s 32768 -S 32768

TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
192.168.20.141 (192.168.20.141) port 0 AF_INET : +/-1.5%
 99%
conf.
netperf: cannot shutdown tcp stream socket: Operation not
permitted

netperf claims about operation not permitted at least four
times
(still running in the background) whereas before the patch
has been
installed, netperf showed this message only one single
time.

Throughput w/o ALTQ decreases a bit from 5,78 MBit/s (w/o
patch) and
5,74 MBit/s (w/ patch, w/o ALTQ enabled for that
interface).

As traffic is passing the interface, I would consider this
working
but find the "operation not permitted" messages a
bit strange.

Next, I'll test w/ ALTQ enabled for that interface but it
will take
half an hour (will drop another note to the ML).

FreeBSD bellona.sz.vwsoft.com 6.2-STABLE FreeBSD 6.2-STABLE
#6: Tue
Jan 30 23:28:14 CET 2007
rootbellona.sz.vwsoft.com:/usr/obj/usr/src/sys/BELLONA 
i386

Greetings,

Volker


Patch for if_aue.c against RELENG_6:
--- if_aue.c.orig       Thu Nov 16 12:50:54 2006
+++ if_aue.c.new        Tue Jan 30 23:20:57 2007
 -732,7
+732,10 
        ifp->if_start = aue_start;
        ifp->if_watchdog = aue_watchdog;
        ifp->if_init = aue_init;
-       ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
+       IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN);
+       ifp->if_snd.ifq_drv_maxlen = IFQ_MAXLEN;
+       IFQ_SET_READY(&ifp->if_snd);
+

        /*
         * Do MII setup.
 -1034,7
+1037,7 
        if (!sc->aue_link &&
mii->mii_media_status & IFM_ACTIVE &&
            IFM_SUBTYPE(mii->mii_media_active) !=
IFM_NONE) {
                sc->aue_link++;
-               if (ifp->if_snd.ifq_head != NULL)
+               if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
                        aue_start(ifp);
        }

 -1106,14
+1109,14 
                return;
        }

-       IF_DEQUEUE(&ifp->if_snd, m_head);
+       IFQ_DRV_DEQUEUE(&ifp->if_snd, m_head);
        if (m_head == NULL) {
                AUE_UNLOCK(sc);
                return;
        }

        if (aue_encap(sc, m_head, 0)) {
-               IF_PREPEND(&ifp->if_snd, m_head);
+               IFQ_DRV_PREPEND(&ifp->if_snd,
m_head);
                ifp->if_drv_flags |= IFF_DRV_OACTIVE;
                AUE_UNLOCK(sc);
                return;
 -1350,7
+1353,7 
        usbd_get_xfer_status(c->ue_xfer, NULL, NULL,
NULL, &stat);
        aue_txeof(c->ue_xfer, c, stat);

-       if (ifp->if_snd.ifq_head != NULL)
+       if (!IFQ_IS_EMPTY(&ifp->if_snd))
                aue_start(ifp);
        AUE_UNLOCK(sc);
        return;
_______________________________________________
freebsd-pffreebsd.org mailing list

http://lists.freebsd.org/mailman/listinfo/freebsd-pf
To unsubscribe, send any mail to
"freebsd-pf-unsubscribefreebsd.org"

RE: ALTQ support for usb NICs?
user name
2007-01-30 17:13:48
> > gw2:~ # cat /etc/rc.early
> > /sbin/ifconfig aue0 name outside
> > /sbin/ifconfig em0 name inside
> > /sbin/ifconfig inside polling
> 
> Wow ... so naming really works?  That's news 

Works a treat, I've been using naming for over 6 months now,
saves a lot of
PITA conf changes when swapping things  in/out for test. 
> 
> 
> Can you by any chance run the simple benchmark
described at
> http:/
/people.freebsd.org/~mlaier/ALTQ_driver/ ?  

Shouldn't be a problem, I should have something for you over
the next few
days. 



Greg


_______________________________________________
freebsd-pffreebsd.org mailing list

http://lists.freebsd.org/mailman/listinfo/freebsd-pf
To unsubscribe, send any mail to
"freebsd-pf-unsubscribefreebsd.org"

Re: ALTQ support for usb NICs?
user name
2007-01-30 18:39:12
On 01/30/07 00:20, Max Laier wrote:
> On Sunday 28 January 2007 16:14, Greg Hennessy wrote:
>>> Anyway, I've already checked altq(9) which
describes the
>>> driver transition and I thought about patching
the drivers myself.
>>>
>>> I've got a bunch of aue, one kue and a few
currently unsupported
>>> NICs.
>> I could find a use for an altq patched aue ta
muchly.
> 
> aue and kue patches added to 
> http:/
/people.freebsd.org/~mlaier/ALTQ_driver/
> 
> Please test and report back.
> 

Max,

WFM.

Patched against RELENG_6, tested with ALTQ disabled and
enabled on
that interface.

Using netperf I do see a (significant) drop in performace
(using
really just one simple pf rule, two cbq queues - so not
really
ideally) but as I need ALTQ for limiting some traffic on
that
interface, it's ok.

While it's ok for me to see a drop in throughput, I'm
really
wondering about. Using netperf, patched driver, ALTQ
disabled I get
values like:

Recv   Send    Send
Socket Socket  Message  Elapsed
Size   Size    Size     Time     Throughput
bytes  bytes   bytes    secs.    10^6bits/sec

 32768  32768  65536    60.07       4.78

Using the unpatched (1.90.2.6) driver I get:

 32768  32768  65536    60.04       5.78

The only difference between those two tests, has been a
patched
if_aue.c and a new buildkernel. No (or not that I'm aware
of) other
code changes should have been fetched from cvs between both
kernel
builds.

Beside the throughput question, the patch seems to be ok -
please
commit! ;)

Greetings,

Volker
_______________________________________________
freebsd-pffreebsd.org mailing list

http://lists.freebsd.org/mailman/listinfo/freebsd-pf
To unsubscribe, send any mail to
"freebsd-pf-unsubscribefreebsd.org"

[1-7]

about | contact  Other archives ( Real Estate discussion Medical topics )