Comments (9)
jalavoui:
the problem is caused by following ?
skb's data length is 0 initialy in linux.
but mbuf's length is not 0 in our code.because rxb->skb's size is defined as
3000 in
allocatePacket.
mbuf must be set correctly packet size in previous reason.
so i reverse this routine.
- //skb_reserve(rxb->skb, offsetof(struct ipw_rx_packet, u.frame.data));
+ skb_reserve(rxb->skb, offsetof(struct ipw_rx_packet, u.frame.data));
//mbuf_setlen(rxb->skb, offsetof(struct ipw_rx_packet, u.frame.data));
/* Set the size of the skb to the size of the frame */
- //skb_put(rxb->skb, le16_to_cpu(pkt->u.frame.length));
+ skb_put(rxb->skb, le16_to_cpu(pkt->u.frame.length));
- // fix me: dont data length of single mbuf, should be the whole packet s
ize
- // mbuf_setlen -> mbuf_pkthdr_setlen ?
- // but if so, may change skb->m_len in other mbuf with the sam
e chain.
- // this is np.
- // now editing kazu
- if( mbuf_flags(rxb->skb) & MBUF_PKTHDR)
- mbuf_pkthdr_setlen(rxb->skb,
- mbuf_pkthdr_len(rxb->skb) - mbuf_len(rxb->skb)
+
le16_to_cpu(pkt->u.frame.length));
-
- mbuf_setdata(rxb->skb,
- (UInt8*)mbuf_data(rxb->skb) + offsetof(struct ipw_
rx_packet, u.frame.data),
- le16_to_cpu(pkt->u.frame.length));
-
- //mbuf_setlen(rxb->skb, le16_to_cpu(pkt->u.frame.length));
Original comment by [email protected]
on 16 Feb 2007 at 7:19
from iwidarwin.
if you think we should use mbuf_setdata and mbuf_setlen instead of skb_reserve
and skb_put that's fine with
me.
maybe both ways are wrong :)
i think skb_reserve and skb_put code is more stable. i test it and get stable
speeds when downloading
Original comment by [email protected]
on 16 Feb 2007 at 9:12
from iwidarwin.
when using the ifnet_input, the pkt_header is required to have some data in it:
mbuf_pkthdr_setrcvif(m, ifp);
mbuf_pkthdr_setheader(m, mbuf_data(m));
MDATA_ETHER_END(m);
ifnet_input(ifp, m, NULL)
this is not the same as setting the header size
if we use ifnet_input to improve speed how this should be fixed?
Original comment by [email protected]
on 16 Feb 2007 at 9:20
from iwidarwin.
if use ifnet_input directly, performance is not to improve.
because setting mbuf_pkthdr's routine is not heavy.
performance may improve in following code.
( i cannot test this because currently i cannot connet to AP)
rx low performance is caused by iligal size of mbuf.
rs's mbuf always is 3000 in corrently code.
and inputPacket copy 300 byte per calling.(real's size is supposed 90 byte)
also i worry another problem.
when allocatePacket(3000),all data is sequence ?
// inialize data size and packet size in mbuf
mbuf_setlen(rxb->skb,0);
if( mbuf_flags(rxb->skb) & MBUF_PKTHDR)
mbuf_pkthdr_setlen(rxb->skb,0);
/* Advance skb->data to the start of the actual payload */
skb_reserve(rxb->skb, offsetof(struct ipw_rx_packet, u.frame.data));
//mbuf_setlen(rxb->skb, offsetof(struct ipw_rx_packet, u.frame.data));
/* Set the size of the skb to the size of the frame */
skb_put(rxb->skb, le16_to_cpu(pkt->u.frame.length));
mbuf_setlen(rxb->skb,le16_to_cpu(pkt->u.frame.length));
if( mbuf_flags(rxb->skb) & MBUF_PKTHDR)
mbuf_pkthdr_setlen(rxb->skb,le16_to_cpu(pkt->u.frame.length));
Original comment by [email protected]
on 17 Feb 2007 at 3:34
from iwidarwin.
I added IWI_ERR when input packet dont has mbuf's packet header.
(on rev170)
if this error is displayed , we should print information with this.
Original comment by [email protected]
on 21 Feb 2007 at 9:39
from iwidarwin.
changed Priority to low.
Original comment by [email protected]
on 21 Feb 2007 at 10:21
- Added labels: Priority-Low
- Removed labels: Priority-Medium
from iwidarwin.
we should change IWI_ERR to not show when using no debug messages. do you agree?
Original comment by [email protected]
on 21 Feb 2007 at 4:43
from iwidarwin.
I think that error message should be displayed always.
Original comment by [email protected]
on 21 Feb 2007 at 6:01
from iwidarwin.
Original comment by [email protected]
on 9 Mar 2007 at 10:32
- Changed state: Fixed
from iwidarwin.
Related Issues (20)
- ahahahaha, lol HOT 1
- crash happened HOT 1
- new version 3945 doesnt work HOT 1
- Kernel Panic after install with Intel 2100 HOT 1
- The iwi2200 doesn't work on iDeneb v1.4 Mac OS X 10.5.6 HOT 1
- Need kext for Intel WiFi link 5100 HOT 259
- Network Selector does not show wireless card HOT 1
- Network Selector 3945 ab/g: Could not get ID for kernel control HOT 8
- 3945 using 80211 code crashes in ::free() HOT 1
- the 3945 and 4965 drivers in this page are a prank, they never work! HOT 1
- easy way to install Intel 3945 drivers? HOT 1
- [deleted issue]
- Network SystemPreferences crashes if WiFi not connected HOT 1
- Association Doesn't work, is it supposed to? HOT 2
- i installed wifi card 3945 abg from here but mac thinks its ethernet card... HOT 2
- atheros AR507 HOT 1
- iwi3945abg will NOT associate with my UNSECURE wireless connection HOT 2
- 3945abg works for me ? HOT 2
- NetworkSelector Finds No Networks HOT 1
- How to uninstall? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iwidarwin.