* Using Wireless Extensions in a Kernel Module
@ 2009-07-10 9:23 Tim Schneider
2009-07-10 16:39 ` Marcel Holtmann
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Tim Schneider @ 2009-07-10 9:23 UTC (permalink / raw)
To: netdev
Hi,
I am trying to write a Kernel Module with an implementation of a new
TCP-Algorithm. Since I need to know the RSSI-Value (Received Signal
Strength indication) of the sent package, I extended the Pluggable
Congestion Control Mechanism by a new function which is called right
after the package is send. At that point, I need to read the RSSI-Value.
I'm now trying to somehow access that value, but I can't figure out
how. I've come as far, that I found out about the Wirelless
Extensions, which seem to be very promising. In the header file the
author states, that this mechanism can be used by both user-space apps
and kernel modules. Unfortunately nobody seems to ever have used it in
kernel space, since I can't find any documentations about it.
I would be very glad, if somebody could give me link to a page
containing informations about this topic, or even just a hint that
could help me.
Thank you
Tim Schneider
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Using Wireless Extensions in a Kernel Module
2009-07-10 9:23 Using Wireless Extensions in a Kernel Module Tim Schneider
@ 2009-07-10 16:39 ` Marcel Holtmann
[not found] ` <4A5850E7.5020708@gdt.id.au>
2009-07-15 9:17 ` why some packets lost during transmission? jon_zhou
2 siblings, 0 replies; 5+ messages in thread
From: Marcel Holtmann @ 2009-07-10 16:39 UTC (permalink / raw)
To: Tim Schneider; +Cc: netdev, Johannes Berg
Hi Tim,
> I am trying to write a Kernel Module with an implementation of a new
> TCP-Algorithm. Since I need to know the RSSI-Value (Received Signal
> Strength indication) of the sent package, I extended the Pluggable
> Congestion Control Mechanism by a new function which is called right
> after the package is send. At that point, I need to read the RSSI-Value.
>
> I'm now trying to somehow access that value, but I can't figure out
> how. I've come as far, that I found out about the Wirelless
> Extensions, which seem to be very promising. In the header file the
> author states, that this mechanism can be used by both user-space apps
> and kernel modules. Unfortunately nobody seems to ever have used it in
> kernel space, since I can't find any documentations about it.
>
> I would be very glad, if somebody could give me link to a page
> containing informations about this topic, or even just a hint that
> could help me.
we are in the process of killing Wireless Extensions (WEXT) and
replacing it with a netlink based cfg80211/nl80211 interface. The better
mailing list is linux-wireless@vger.kernel.org for such questions.
Regards
Marcel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Using Wireless Extensions in a Kernel Module
[not found] ` <4A5850E7.5020708@gdt.id.au>
@ 2009-07-13 6:24 ` Tim Schneider
0 siblings, 0 replies; 5+ messages in thread
From: Tim Schneider @ 2009-07-13 6:24 UTC (permalink / raw)
To: netdev
Hi Glen, hi Marcel
thank you for your answers.
I am trying to develop the algorithm for a wireless multihop network,
so no, I'm not making the classical error ;) Still you're right that I
should consider the possibility, that the Algorithm is used on a wired
network. In that case it definitely should not crash the whole system.
Thank you for your hint with the other mailing list. I'm going to try
my luck there.
Regards
Tim
Am 11.07.2009 um 10:44 schrieb Glen Turner:
>
> Hi Tim,
>
> I'm not sure you aren't making a classic error of optimising the
> unusual
> case.
>
> The usual situation is that the TCP sender is on the wired network,
> the
> TCP receiver is on the wireless network. Since the sender determines
> the
> packet scheduling, determining the received signal strength at the TCP
> receiver isn't much help.
>
> What would be really, really useful is a channel to get this sort of
> information back to the sender in a form in which the feedback is
> useful
> even after a RTT/2 delay. There are a few explicit congestion
> notification
> protocols around, and adapting one of those to add the wireless
> condition
> of intermediate and end hops could be the sort of useful
> augmentation that
> gives these protocols enough of an advantage of TCP to be worth
> deploying.
>
> Best wishes, Glen
>
> --
> Glen Turner <http://www.gdt.id.au/~gdt/>
^ permalink raw reply [flat|nested] 5+ messages in thread
* why some packets lost during transmission?
2009-07-10 9:23 Using Wireless Extensions in a Kernel Module Tim Schneider
2009-07-10 16:39 ` Marcel Holtmann
[not found] ` <4A5850E7.5020708@gdt.id.au>
@ 2009-07-15 9:17 ` jon_zhou
2009-07-15 17:17 ` Jesper Dangaard Brouer
2 siblings, 1 reply; 5+ messages in thread
From: jon_zhou @ 2009-07-15 9:17 UTC (permalink / raw)
To: netdev
hi
I try to send packets like this:
for (i=0;i<loop;i++)
{
dev->hard_start_xmit(my_skb,dev);
}
the 'dev' point to network device.
but too many packets lost if the 'loop' is big(i.e. 5000), I suspect the tx buffer of the NIC is full,but the driver does not print any related info.
how does the upper layer(i.e.arp,qdisc) handle this situation?
Thanks&Regards,
zhou rui
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: why some packets lost during transmission?
2009-07-15 9:17 ` why some packets lost during transmission? jon_zhou
@ 2009-07-15 17:17 ` Jesper Dangaard Brouer
0 siblings, 0 replies; 5+ messages in thread
From: Jesper Dangaard Brouer @ 2009-07-15 17:17 UTC (permalink / raw)
To: jon_zhou; +Cc: netdev
On Wed, 15 Jul 2009, jon_zhou@agilent.com wrote:
> I try to send packets like this:
>
> for (i=0;i<loop;i++)
> {
> dev->hard_start_xmit(my_skb,dev);
> }
>
> the 'dev' point to network device.
>
> but too many packets lost if the 'loop' is big(i.e. 5000), I suspect the
> tx buffer of the NIC is full,but the driver does not print any related
> info.
Hint, look at the return value... it returns NETDEV_TX_OK if its okay.
> how does the upper layer(i.e.arp,qdisc) handle this situation?
Have you looked at pktgen?
Doc:
Documentation/networking/pktgen.txt
Code:
net/core/pktgen.c
Look at function pktgen_xmit() and notice that in the latest kernels
the dev->hard_start_xmit function pointer has been changed to
dev->netdev_ops->ndo_start_xmit.
Cheers,
Jesper Brouer
--
-------------------------------------------------------------------
MSc. Master of Computer Science
Dept. of Computer Science, University of Copenhagen
Author of http://www.adsl-optimizer.dk
-------------------------------------------------------------------
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-07-15 17:18 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-10 9:23 Using Wireless Extensions in a Kernel Module Tim Schneider
2009-07-10 16:39 ` Marcel Holtmann
[not found] ` <4A5850E7.5020708@gdt.id.au>
2009-07-13 6:24 ` Tim Schneider
2009-07-15 9:17 ` why some packets lost during transmission? jon_zhou
2009-07-15 17:17 ` Jesper Dangaard Brouer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox