Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - QNX 6.4 io-pkt driver query: (9 Items)
   
QNX 6.4 io-pkt driver query  
I am working on io-pkt driver in QNX 6.4.

I want to enable hardware checksum on Ethernet interfaces but in
"ifconfig" utility there is no option to enable hwchecksum as it was
there in QNX 6.3 "ifconfig" utility (ip4csum, tcp4csum, udp4csum).

Is there any other way to do it?

 

Regards,

Inderjeet Singh Kalra

 

Re: QNX 6.4 io-pkt driver query  
On Thu, Oct 23, 2008 at 05:33:12AM -0400, inderjeet kalra wrote:
> I am working on io-pkt driver in QNX 6.4.
> 
> I want to enable hardware checksum on Ethernet interfaces but in
> "ifconfig" utility there is no option to enable hwchecksum as it was
> there in QNX 6.3 "ifconfig" utility (ip4csum, tcp4csum, udp4csum).
> 
> Is there any other way to do it?

Those options are still in ifconfig.

Regards,

-seanb
RE: QNX 6.4 io-pkt driver query  
Your driver also has to advertise that it supports those options as well
(see, for example, the attach routine in the i82544 driver
	ifp->if_capabilities_rx = IFCAP_CSUM_IPv4 | IFCAP_CSUM_TCPv4 |
IFCAP_CSUM_UDPv4;
	ifp->if_capabilities_tx = IFCAP_CSUM_IPv4 | IFCAP_CSUM_TCPv4 |
IFCAP_CSUM_UDPv4;
)

	Robert.

-----Original Message-----
From: Sean Boudreau [mailto:community-noreply@qnx.com] 
Sent: Thursday, October 23, 2008 8:57 AM
To: ionetmig-networking
Subject: Re: QNX 6.4 io-pkt driver query

On Thu, Oct 23, 2008 at 05:33:12AM -0400, inderjeet kalra wrote:
> I am working on io-pkt driver in QNX 6.4.
> 
> I want to enable hardware checksum on Ethernet interfaces but in
> "ifconfig" utility there is no option to enable hwchecksum as it was
> there in QNX 6.3 "ifconfig" utility (ip4csum, tcp4csum, udp4csum).
> 
> Is there any other way to do it?

Those options are still in ifconfig.

Regards,

-seanb

_______________________________________________
io-net migration
http://community.qnx.com/sf/go/post15445
RE: QNX 6.4 io-pkt driver query  
ifconfig your_inc ip4csum (or -ip4csum). (also tcp4csum and udp4csum). 

Needless to say your card has to support it. The i82544 1G card has the
supports. 

Thanks

Weijie


-----Original Message-----
From: Sean Boudreau [mailto:community-noreply@qnx.com] 
Sent: October 23, 2008 8:57 AM
To: ionetmig-networking
Subject: Re: QNX 6.4 io-pkt driver query

On Thu, Oct 23, 2008 at 05:33:12AM -0400, inderjeet kalra wrote:
> I am working on io-pkt driver in QNX 6.4.
> 
> I want to enable hardware checksum on Ethernet interfaces but in
> "ifconfig" utility there is no option to enable hwchecksum as it was
> there in QNX 6.3 "ifconfig" utility (ip4csum, tcp4csum, udp4csum).
> 
> Is there any other way to do it?

Those options are still in ifconfig.

Regards,

-seanb

_______________________________________________
io-net migration
http://community.qnx.com/sf/go/post15445
Re: RE: QNX 6.4 io-pkt driver query  
Hi, 

How to enable h/w checksums using ifconfig in 6.4.0.  I have verified the ifconfig utility. I never found any option to 
enable h/w (tx, rx) checksum using ifconfig utility.
 
ifconfig utility help log has been attached.

Thanks & Regards,
Kanhaiya Lal
Attachment: Text ifconfig-log.txt 1.07 KB
RE: RE: QNX 6.4 io-pkt driver query  
  # ifconfig wm0 ip4csum tcp4csum upd4csum

The above enables both tx and rx directions.  

You can individually enable only tx, or only 
rx, etc, for any of the above.

This is documented in the ifconfig usemsg 
that comes with io-pkt.

--
aboyd

Re: RE: RE: QNX 6.4 io-pkt driver query  
Hi, 

I am using the io-pkt driver and using the devnp-mpc85xx.so binary. After giving the IP address to ethernet interface, 
while enabling the hw checksum it's give few errors. In ifconfig there is no option to enable the h/w checksum. 

=> No option to enable the hw checksum.

Detailed log has been attached.

Is there any other way to enable the h/w checksum using ifconfig.

Thanks,
Kanhaiya Lal
Attachment: Text log.txt 3.08 KB
Re: RE: RE: QNX 6.4 io-pkt driver query  
On Thu, Nov 06, 2008 at 08:41:24AM -0500, kanhaiya lal wrote:
> Hi, 
> 
> I am using the io-pkt driver and using the devnp-mpc85xx.so binary. After giving the IP address to ethernet interface,
 while enabling the hw checksum it's give few errors. In ifconfig there is no option to enable the h/w checksum. 
> 
> => No option to enable the hw checksum.
> 
> Detailed log has been attached.
> 
> Is there any other way to enable the h/w checksum using ifconfig.
> 
> Thanks,
> Kanhaiya Lal
> 
> 
> _______________________________________________
> io-net migration
> http://community.qnx.com/sf/go/post16074

Content-Description: Sourceforge Attachment
> # use -i ifconfig
> NAME=ifconfig
> DESCRIPTION=Utility for configuring network interfaces
> DATE=2008/10/20-23:14:04-EDT
> STATE=Stable
> HOST=trunkbuild
> USER=builder
> VERSION=6.4.0
> 
> 
> # ifconfig --help
> ifconfig: illegal option -- -
> usage: ifconfig [-h] [-m] [-v] [-z] [-L] interface
>         [ af [ address [ dest_addr ] ] [ netmask mask ] [ prefixlen n ]
>                 [ alias | -alias ] ]
>         [ up ] [ down ] [ metric n ] [ mtu n ]
>         [ nwid network_id ] [ nwkey network_key | -nwkey ]
>         [ powersave | -powersave ] [ powersavesleep duration ]
>         [ hidessid | -hidessid ] [ apbridge | -apbridge ]
>         [ [ af ] tunnel src_addr dest_addr ] [ deletetunnel ]
>         [ arp | -arp ]
>         [ media type ] [ mediaopt opts ] [ -mediaopt opts ] [ instance minst ]
>         [ preference n ]
>         [ vlan n vlanif i ]
>         [ agrport i ] [ -agrport i ]
>         [ anycast | -anycast ] [ deprecated | -deprecated ]
>         [ tentative | -tentative ] [ pltime n ] [ vltime n ] [ eui64 ]
>         [ link0 | -link0 ] [ link1 | -link1 ] [ link2 | -link2 ]
>        ifconfig -a [-b] [-h] [-m] [-d] [-u] [-v] [-z] [ af ]
>        ifconfig -l [-b] [-d] [-u] [-s]
>        ifconfig -C
>        ifconfig interface create
>        ifconfig interface destroy
> => No option to enable the hw checksum.

I'll fix the internal usage() func.  A straight 'use ifconfig' lists
the options.

> 
> # ifconfig tsec1     
> tsec1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
>         capabilities rx=7<IP4CSUM,TCP4CSUM,UDP4CSUM>
>         capabilities tx=0
>         enabled=0
>         address: 00:e0:0c:00:01:fd
>         media: Ethernet none
> # ifconfig tsec1 172.18.80.231
> # ifconfig tsec1                                                          
> tsec1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500        
>         capabilities rx=7<IP4CSUM,TCP4CSUM,UDP4CSUM>                      
>         capabilities tx=0                                                 
>         enabled=0                                                         
>         address: 00:e0:0c:00:01:fd                                        
>         media: Ethernet autoselect (100baseTX full-duplex)                
>         status: active                                                    
>         inet 172.18.80.231 netmask 0xffff0000 broadcast 172.18.255.255    
> # ifconfig tsec1 ip4csum tcp4csum udp4csum                                
> ifconfig: SIOCSIFCAP: Invalid argument                                              
> # ifconfig tsec1                                                          
> tsec1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500        
>         capabilities rx=7<IP4CSUM,TCP4CSUM,UDP4CSUM>                      
>         capabilities tx=0                                                 
>         enabled=0                                                         
>         address:...
View Full Message
RE: RE: RE: QNX 6.4 io-pkt driver query  
 
> # ifconfig tsec1

> tsec1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500

>         capabilities rx=7<IP4CSUM,TCP4CSUM,UDP4CSUM>

>         capabilities tx=0

>         enabled=0

>
> # ifconfig tsec1 ip4csum-tx tcp4csum-tx udp4csum-tx
> ifconfig: SIOCSIFCAP: Invalid argument
>
> The driver is only advertising rx:
> # ifconfig tsec0 ip4csum-rx tcp4csum-rx udp4csum-rx

Note that tsec hardware does NOT support hm csum,
only etsec.  You would think that all new hardware
is etsec, but that is not the case - I have seen
new, low-cost hardware which is tsec only.

If you have etsec hardware, there's a command line 
option to enable advertising tx hw csum on the mpc85xx.  

By default it is turned off, because, weirdly enough, I 
found it to be SLOWER than having the stack do the csum, 
during benchmarks, and if there's one thing I've learned
over the years, good benchmark numbers during customer 
product evaluation is what matters above all else  :-)

I ported that driver some time ago, and there have been
some bugs associated with the enabling of driver options
fixed since then, so it may no longer be true.
 
Anyways, try the "enable_tx_hw_csum" command line option,
then try enabling both rx and tx hw csum, and see if it's
faster on your hardware, than running just rx hw csum.  As
Rob is sure to point out, the cpu consumption during your
favorite benchmark throughput is also a consideration ...
doing wire rate with 10% of the cpu is a horse of a different
colour than doing wire rate with 100% of the cpu, despite
how many people represent them as exactly the same thing.

--
aboyd