Search Linux Wireless

Re: mac80211_hwsim - simulator of 802.11 radios for mac80211

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > You should probably use the _irqsafe versions of rx and txstatus too.
> 
> Hmm.. That was interesting.. Changing txstatus to use _irqsafe is was
> fine, but changing ieee80211_rx to ieee80211_rx_irqsafe triggers
> something bad.. Loadavg jumps sky high the moment I kill hostapd and
> ksoftirqd/0 and rmmod (which I ran after killing hostapd) are taking all
> CPU.. I can hardly type a command at that point. Looks like something
> goes horribly wrong with the extra queuing with ieee80211_rx_irqsafe.
> Maybe sending something to a netdev that is down ends up in a busy loop
> with a frame or something. In other words, I did not change to use
> _irqsafe yet, but will do once I have more time to figure out what on
> earth is going on here.

Hmm. I suspect you called rx_irqsafe _after_ the radio was stopped (via
mac80211's stop callback), and at stop time we also disable the tasklet,
so something probably goes haywire if you tasklet_schedule a disabled
tasklet.

> Yes, I added the global radiotap monitor to hwsim (ifname=hwsim#) and
> left the hard_xmit function empty with a TODO comment.. The netdev from
> outside mac80211 is quite useful since it can be set up before any of
> the mac80211 netdevs and it is possible to capture all frames from the
> beginning.. If needed, we could add some more flags to the radiotap
> header for indicating what was done with the frame, but that is
> something that can easily be added later.

Yeah, true, good to have the simpler code in place first anyway.

> > The design I had come up with a long time ago allowed userspace to
> > control each radio by having each _radio_ have a raw netdev like this
> > and not doing forwarding in the kernel but relying on some userspace
> > tool, but I guess that much more complicated.
> 
> That might be useful for some of the tests. I was interested in adding
> some kind of interface to make it easy to design test cases from user
> space, but the current code was so simple that I did not want to make it
> any more complex in the first version. Anyway, it might make sense to
> provide option mechanism to allow more user space control since I'm also
> interested in things like testing rate control with a programmable
> signal strength/channel quality and I do not really want to see the
> controller for that simulation in the kernel..

Heh, yeah. I'd like to have it more dynamically configurable too, but we
can add that later as well. Maybe some debugfs stuff or so that allows
disconnecting a radio from the "virtual air" at which point a hwsim
per-radio netdev shows up for that one. Anyway, future, when needed.

johannes

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux