Allocating different channels to multi-radio interfaces of a wireless node - omnet++

There are several frequency bands within the radio spectrum that are used for the Wi-Fi and within these, there are many channels that have been designated with numbers so they can be identified.
The table given below provides the frequencies for the total of fourteen 802.11 Wi-Fi channels that are available around the globe.
How to allocate different channels for example 1, 3, 8 to three-radio interfaces of a wireless node as drawn in Figure 2 for node 1?
The Showcases > Wireless > Multiple Wireless Interfaces example is not my answer. (without access point and set channel number to the interface not based on SSID for tuning channel for periods of simulation time is intended. See the second figure)

You can set in omnetpp.ini:
*.host[*].wlan[*].radio.bandwidth = 20MHz
*.host[0].wlan[0].radio.centerFrequency = 2.412GHz # channel no 1
*.host[0].wlan[1].radio.centerFrequency = 2.422GHz # channel no 3
*.host[0].wlan[2].radio.centerFrequency = 2.447GHz # channel no 8
# and so on ...
Reference: Ieee80211Radio.

Related

Are there practical use cases for one PCIe Physical Function (PF) maps to hundreds or even thousands of Virtual Functions (VF)?

It's known that a single PF can map to multiple VFs.
About the number of VFs associated with a single PF:
In PCIe 5.0 spec:
IMPLEMENTATION NOTE
VFs Spanning Multiple Bus Numbers
As an example, consider an SR-IOV Device that supports a single PF. Initially, only PF 0 is visible. Software Sets ARI Capable Hierarchy. From the SR-IOV Extended Capability it determines: InitialVFs is 600, First VF Offset is 1 and VF Stride is 1.
If software sets NumVFs in the range [0 … 255], then the Device uses a single Bus Number.
If software sets NumVFs in the range [256 … 511], then the Device uses two Bus Numbers.
If software sets NumVFs in the range [512 … 600], then the Device uses three Bus Numbers.
PF 0 and VF 0,1 through VF 0,255 are always on the first (captured) Bus Number. VF 0,256 through VF 0,511 are always on the second Bus Number (captured Bus Number plus 1). VF 0,512 through VF 0,600 are always on the third Bus Number (captured Bus Number plus 2).
From Oracle:
Each SR-IOV device can have a physical function and each physical function can have up to 64,000 virtual functions associated with it.
From the "sharing PCIe I/O bandwidth" point of view, it might be understandable to having hundres or thousands of VFs (associated with a single PF), each VF is assigned to a VM, with the assumption that most of the VFs are in idle state at a particular time point;
However, from the "chip manufacturing" point of view, for a non-trival PCIe function, duplicating hundreds or thousands of the VF part of the IP instances within a single die would make the die area too large to be practical.
So my question is, as stated in the subject line, are there practical use cases for having so many VFs associcated with a single PF?

How to simulate multi interface wireless node and changing channels by Omnet++

How to simulate an adhoc network with the following conditions in Omnet++ in IEEE802.11b/g? (omnetpp.ini and NED file are expected)
1-Two wireless nodes (e.g. n1 and n2) having two interfaces with each other(e.g i1 and i2)
2-n1.i1 makes a link to communicate with n2.i1 and also n1.i2 makes a link with n2.i2, n1.i1 means interface i1 of node n1
3-channel 1 are allocated to link n1.i1 and n2.i1 in all simulation runtime
4-channel 2 are allocated to link n1.i2 and n2.i2 in the first second of simulation runtime, then channel 3 in the 2nd second, and so on until 10nd seconds, then repeat this circle.
Thanks in advance
Take a look at examples\adhoc\ieee80211 in INET. It contains simple network for testing the IEEE 802.11 in ad-hoc mode.

Gianfar Linux Kernel Driver Maximum Receive/Transmit Size

I have been trying to understand the code for the gianfar linux ethernet driver and was having difficulty understanding fragemented pages. I understand the maximum transmission size is 9600 bytes, however does this include fragments ?
Is it possible to send and received transmissions that are larger in size (e.g. 14000 bytes) if they are split among multiple fragements ?
Thank you in advance
9600 is a jumbo frame maximum size. The maximum MTU ("jumbo MTU") size is 9600 - 14 = 9586 bytes. Also, if I recall correctly, MTU never includes 4-byte FCS.
So, 9586 must be simply the maximum Ethernet "payload" size which can be put on wire. It's a limitation with respect to a single Ethernet frame. So, if you have a larger chunk of data ("transmission"), you might be able to "slice" it and produce multiple Ethernet frames from it (to be precise, multiple independent skb-s), each fitting the MTU size. So, in this case you will have multiple independent Ethernet frames to be handed over to the network driver. The interconnection between these frames will only be detectable on the IP header level, i.e., if you peek at IP header of the 1st frame you will be able to see "more fragments" flag indicating that the next frame contains an IP packet which is the next fragment of the original (large) chunk of data. But from the driver's point of view such frames should remain independent.
However, if you mean "skb fragments" rather than "IP fragments", then putting a 14000 byte frame into multiple fragments ("data fragments") of a single skb might not be helpful with respect to the MTU (say, you've configured the jumbo MTU on the interface). Because these fragments are just smaller chunks of contiguous memory containing different parts of the same Ethernet frame. And the driver just makes multiple descriptors pointing to these chunks of memory. The hardware will pick them to send a single frame. And if the HW sees that the overall frame length is bigger than the maximum MTU, it might decline the transmission. Exact behaviour in this case is a topic for a separate talk.

Why is the number of SNIRLostPackets so large?

I am trying to simulate vehicular ad hoc networks using Veins 4.4, OMNeT++ 5.0 and SUMO 0.25.
There are only one-hop broadcast beacons in the vanet, and each vehicle sends 10 beacons/s. The size of each beacon is 4000 bits. And nic.mac1609_4.bitrate is 6Mbps.
In my simulation,there are 120 vehicles almost uniformly along the 2-km road, and the TX power of each vehicle is 200mW. After 20s' simulation, I select the vehicles in the middle part, and their SNIRLostPackets is almost 19000 and ReceivedBroadcasts is almost 3500, so the Packet Error Ratio is so high.
I read the codes and find:if there is one bit error in one packet, the packet is consedered to be not correctly received. Is my finding right?
The TX power is 200mW and vehicles are in each others' communication range. Then the network load at each vehicle is 4000*10*120 = 4.8Mbps < 6Mbps,so the number of SNIRLostPackets should not be so large?

How to disable intel xeon phi coprocessor?

I have a server with four mic cards (mic0-mic3), and it works well.I want to disable some mic, for example mic3, now only mic0 - mic2 is available.
what should I do?
OFFLOAD_DEVICES="0,1,2" # run with devices 0, 1 and 2 visible
The environment variable OFFLOAD_DEVICES restricts the process to use only the MIC cards specified as the value of the variable. is a comma separated list of physical device numbers in the range 0 to (number_of_devices_in_the_system-1).
Devices available for offloading are numbered logically. That is _Offload_number_of_devices() returns the number of allowed devices and device indexes specified in the target specifiers of offload pragmas are in the range 0 to (number_of_allowed_devices-1).
Example
export OFFLOAD_DEVICES="1,2"
Allows the program to use only physical MIC cards 1 and 2 (for instance, in a system with four installed cards). Offloads to devices numbered 0 or 1 will be performed on physical devices 1 and 2. Offloads to target numbers higher than 1 will wrap-around so that all offloads remain within logical devices 0 and 1 (which map to physical cards 1 and 2). The function _Offload_get_device_number() executed on a MIC device will return 0 or 1, when the offload is running on physical devices 1 or 2.

Resources