17 #ifndef HH_SENF_Ext_NetEmu_WLAN_HardwareWLANInterface_    18 #define HH_SENF_Ext_NetEmu_WLAN_HardwareWLANInterface_ 1    43         : 
private detail::HardwareWLANInterfaceNet,
    57         std::string 
const & 
v_device() 
const override;
    69         WirelessNLController::IbssJoinParameters::ptrI 
joinAdhoc(std::string 
const & 
ssid, 
unsigned int freq, 
unsigned int bandwidth, 
bool & success);
    70         WirelessNLController::MeshJoinParameters::ptrM 
joinMesh(std::string 
const & meshId, 
unsigned int freq, 
unsigned int bandwidth, 
bool & success);
    90         void     sndBuf(
unsigned sndbuf);
    92         void     rcvBuf(
unsigned rcvbuf);
    97         unsigned qlen() 
const;
    98         void     qlen(
unsigned qlen);
   100         std::pair<unsigned,unsigned> 
rxDropped();
   101         std::tuple<unsigned,unsigned,unsigned> 
txDropped();
   111         std::pair<senf::emu::WirelessNLController::DFSState::Enum,std::uint32_t> 
dfsState(
unsigned freq, 
unsigned bw);
   133         void getScan(std::ostream & os);
   139         void modulationSet(std::set<ModulationParameter::id_t> 
const & ids = {});
   146         void registerFrequencies();
   147         void registerModulations();
   149         void registerVHTModulation(
unsigned vhtMcsIndex, 
unsigned nss, 
unsigned bw, 
bool shortGI);
   150         void registerTxPowers();
   154         void close_sockets();
   156         void openMonitorSocket();
   157         void closeMonitorSocket();
   158         void openDataSocket();
   159         void closeDataSocket();
   162         virtual void v_enable() 
override;
   163         virtual void v_disable() 
override;
   164         virtual bool v_enabled() 
const override;
   165         virtual void v_id(
MACAddress const & 
id) 
override;
   167         virtual bool v_annotationMode() 
const override;
   168         virtual void v_annotationMode(
bool a) 
override;
   169         virtual bool v_promisc() 
const override;
   170         virtual void v_promisc(
bool v) 
override;
   171         virtual void v_mcAdd(
MACAddress const & address) 
override;
   172         virtual void v_mcDrop(
MACAddress const & address) 
override;
   173         virtual unsigned v_mtu() 
const override;
   174         virtual void v_mtu(
unsigned v) 
override;
   175         virtual void v_flushRxQueues() 
override;
   176         virtual void v_flushTxQueues() 
override;
   177         virtual void v_coverageRange(
unsigned distance) 
override;
   179         void do_ibss_join(WirelessNLController::JoinParameters 
const & parameters);
   180         void do_mesh_join(WirelessNLController::JoinParameters 
const & parameters);
   186         virtual unsigned v_frequency() 
const override;
   187         virtual unsigned v_bandwidth() 
const override;
   188         virtual void v_frequency(
unsigned freq, 
unsigned bw) 
override;
   191         virtual int v_txPower() 
const override;
   192         virtual void v_txPower(
int power) 
override;
   195         std::string monitorDev_;
   198         int frequencyOffset_;
   204         unsigned rcvBufSize_;
   205         unsigned sndBufSize_;
   210         friend struct detail::HardwareWLANInterfaceNet;
 HTMode::Enum htMode() const
WirelessNLController::MeshJoinParameters::ptrM joinMesh(std::string const &meshId, unsigned int freq, unsigned int bandwidth, bool &success)
config::time_type clock_type
std::pair< senf::emu::WirelessNLController::DFSState::Enum, std::uint32_t > dfsState(unsigned freq, unsigned bw)
unsigned maxBurst() const
senf::emu::WirelessNLController::NetlinkEvent< ScanEvent > & scanEvent()
VLanId const  & pvid() const
void dumpMmapStats(std::ostream &os)
void setREDFilterCallbackRxMonitor(senf::ppi::REDFilterCallback const &cb)
void startCAC(unsigned int freq, unsigned int bandwidth)
std::tuple< unsigned, unsigned, unsigned > txDropped()
#define SENF_LOG_CLASS_AREA()
void frequencyHint(unsigned bandwidth)
virtual ~HardwareWLANInterface()
std::string const  & monitorDevice() const
Get current monitor interface. 
WirelessNLController wnlc_
WifiStatisticsMap const  & statisticsMap(std::uint32_t tag, senf::ClockService::clock_type const &maxAge)
std::string const  & v_device() const override
Get name of physical device. 
void spectralScanStats(std::ostream &os)
MonitorDataFilterStatistics filterStats()
std::array< VHT_MCSBitmap, NL80211_VHT_NSS_MAX > VHT_MCSBitmapTable
std::function< void(std::uint64_t tsft, std::uint16_t frequency, unsigned numBins, void *spectralSample)> AthSpectralScanCallback
WirelessNLController & wirelessNLController()
std::uint32_t vlanMismatchRx()
void dumpSurvey(std::ostream &os)
void monitorDropUnknownMCS(bool q)
friend class WLANMonitorDataFilter
WirelessNLController::IbssJoinParameters::ptrI joinAdhoc(std::string const &ssid, unsigned int freq, unsigned int bandwidth, bool &success)
void triggerScan(std::ostream &os, std::set< WirelessNLController::frequency_type > const &frequencies)
std::pair< unsigned, unsigned > rxDropped()
void dumpFilterStats(std::ostream &os)
boost::unordered_map< senf::MACAddress, WifiStatisticsData > WifiStatisticsMap
void dumpWifiStatistics(std::ostream &os)
void setCellJoined(unsigned bandwidth)
senf::emu::WirelessNLController::NetlinkEvent< RadarEvent > & radarEvent()
unsigned bandwidth() const
Get current bandwidth. 
void getScan(std::ostream &os)
Hardware interface base class. 
void setREDFilterCallbackRx(senf::ppi::REDFilterCallback const &cb)
void setREDFilterCallbackTx(senf::ppi::REDFilterCallback const &cb)
WLANInterface public header. 
int frequencyOffset() const
std::uint32_t vlanMismatchTx()
WirelessNLController public header. 
Specialized Interface decorator base-class. 
void spectralScanCallback()
NetdeviceController netctl_
HardwareWLANInterface(std::pair< std::string, std::string > interfaces)
TypedInterfaceDecorator< HardwareWLANInterface, WirelessInterface::Decorator > Decorator
void modulationSet(std::set< ModulationParameter::id_t > const &ids={})
FrequenciesRange frequencies() const
Get valid frequency intervals.