MVAPICH 2.3 configure for multiple devices - tcp

While mvapich from version 2.3 deprecated the Nemesis interface, is there any way now to configure it at once for Infiniband support with fallback to TCP when failed? Or do I have to have two compilations for different network setups in my grid?

I'll answer my question with the information from MVAPICH developers:
At this point, the default MVAPICH channel cannot use TCP as a fallback if IB fails. We will see if such a support can be enabled in the future.

Related

Does DPDK provide a native TCP/IP network stack implemetation?

I'm trying to find out if there is any native TCP/IP stack implemetation provided in DPDK or any popular open-source project to achieve it. Any help will be grateful.
Update:
My platform is Ubuntu 16.04 x64, Intel 82599es NIC with DPDK 20.08. What I'm trying to accomplish is to rebuild TCP connections out of the packets I receive on the NIC port for later use. I thought tools like ANS, mTCP and fstack may do the track but they are third party and some of them are not fully open-sourced, so I'm looking for a native one or one that is popular for developers. I don't know what should I call this kind of requirement, sorry for troubles causing because of the question, I'll change it after I know the related concept better.
There are no native TCP-IP stack implementation in DPDK version till date DPDK version 20.11 LTS. Going further in my humble opinion DPDK would not be implementing native TCP-IP stack. Hence current options are
Since the requirement is to rebuild TCP connection state information, my recommendation is to
create RTE_FLOW_ACTION_MIRROR to create the packet copy at HW NIC level for all interested TCP connection using a combination of IP-TCP address-ports.
If there is no HW option, either using ref_cnt_update or copying the user packet payload create a copy of the packet.
With help RTE_RINGS or RTE_FB_ARRAY organize the packets from client and server based on symmetric RSS (if available) or based on custom HASH to appropriate containers.
For you packet processing recommendation is either use FSTACK or mTCP or BSD TCP-ip from scratch
there are multiple references on the Internet which gives hints to get started too. Please refer
mTCP slide 14
fstack slide deck

Which is the easiest to use, well-maintained and stable API for DTLS 1.2 implementation?

There are several implementations of TLS that support DTLS 1.2. Wikipedia has an exhaustive link here.
My reading points to the classic openssl, libressl, boringssl and mbed TLS as viable options. I am only interested in DTLS 1.2 API and nothing more. I have no interest in usage of the API elsewhere.
openssl seems to be bogged down with a lot of old protocol and usage baggage. mbed TLS's implementation approach appears to be good but it rarely figures in any comparison. I wonder why? Is it incomplete in any way?
If anyone has evaluated the above, or any other TSL implementation, purely for DTLS 1.2 API, which one would you suggest?
Mbed TLS is a lightweight configurable TLS library. It was initially designed for the embedded world and is currently used by large amounts of users and companies on all kinds of setups, from constrained devices to large servers.
Mbed TLS was previously known as PolarSSL, you may want to check both names when searching for references online.
You can find more information about Mbed TLS here:
https://tls.mbed.org/kb/generic/projects-using-mbedtls
https://tls.mbed.org/kb/how-to/mbedtls-tutorial
https://tls.mbed.org/kb/how-to/dtls-tutorial
https://tls.mbed.org/kb/compiling-and-building/how-do-i-configure-mbedtls
https://tls.mbed.org/kb/how-to/how-do-i-port-mbed-tls-to-a-new-environment-OS

Which Wi-Fi chips/modules support the 802.11s standard?

I'm very interested in the Mesh technology and the (new) IEEE Mesh standard 802.11s. I've looked for some Wi-Fi modules which support the standard but it's never mentioned, although the standard was published at the end of 2011.
I also have read about the open802.11s solution (http://open80211s.org/open80211s/), but there are also no Wi-Fi modules mentioned. So I have the following questions:
Does this mean that all Modules support it and you only have to get the correct driver (mac80211)?
I've read about the Linux Kernel which supports the 11s standard. Are there all parts implemented?
Checkout this page drivers for a list of drivers and whether or not they support mesh networking. You can find ath9k, b43, among others that support mesh - but Intel iwlwifi doesn't. From those drivers, you can find corresponding chipsets that are expected to work on that mode.
Note, however, mesh networking currently implemented in the kernel does not necessarily support all features found in the 802.11s standard (now part of 802.11-2012).

JADE works below or over HTTP?

I was working on Java Agent Development Framework, which is the language of creating mobile agents. I was wondering that the code that I will write in JADE, will work over HTTP or below the HTTP? As I am opaque to the inside working and execution of JADE I couldn't get the answer directly...Thanks in advance :-)
JADE (or more generally FIPA standard) introduces the concept of platform consisting of one or more containers on which agents live. Each container is made up by a separate JVM. JADE distinguishes between two types of communication, depending on where the talking agents live:
intra-platform communication, when messages are exchanged between agents living on different containers of the same plaform
inter-platform communication, when messages are exchanged between agents living in different platforms
Depending on where the talking agents live, different protocol will be used.
For intra-platform communication one of the following transport protocols will be used:
RMI (default), going directly over TCP/IP
proprietary protocol based on TCP sockets (used in J2ME environment in JADE LEAP platform)
For inter-platform communication one of the following transport protocols will be used:
IIOP (Sun or ORBacus implementation)
HTTP and HTTPS
JMS
Jabber XMPP
Since the question is specific to JADE platform, I strongly encourage you to use JADE mailing list: http://jade.tilab.com/newuser.php

Do most modern kernels use DMA for network IO with generic Ethernet controllers?

In most modern operating systems like Linux and Windows, is network IO typically accomplished using DMA? This is concerning generic Ethernet controllers; I'm not asking about things that require special drivers (such as many wireless cards, at least in Linux). I imagine the answer is "yes," but I'm interested in any sources (esp. for the Linux kernel), as well as resources providing more general information. Thanks.
I don't know that there really is such a thing as a generic network interface controller, but the nearest thing I know of -- the NE2000 interface specification, implemented by a large number of cheap controllers -- appears to have at least some limited DMA support, and more sophisticated controllers are likely to include more sophisticated features.
The question should be a bit different:
Is typical network adapter have dma
controller on board ?
After finding answer on this question ( i guess in 99.9% it will be yes), you should ask about specific driver for each card. I assume that any decent driver will fully utilize hardware capabilities (i.e DMA support in our case), but question about OS is not relevant, since no OS can force the driver to implement DMA support. A high level OS like Windows and Linux provide a primitives to easier implementation of DMA, but implementing is responsibility of the driver.

Resources