mirroring by Virtual functions on same single interface - docker-compose

I have specific interface that I'm trying to do mirroring on same interface by virtual functions.
This means same interface has two different virtual functions lets say, one virtual function for actual traffic on the interface and second virtual function for observing and analyzing on the same interface for analyzing the actual traffic that's running on first virtual function on same interface.
Can I do something like that ? what shall I configure? environment is centos linux.
Any idea / help about if it's possible to do mirroring by virtual functions on same interface?
Im trying to implement the concept of Port mirroring which is the method of copying and sending network packets transmitted as input from a port to another port but here I dont have switch that's why cant do port mirroring so Im trying to do same concept by doing mirroring using virtual functions on same interface!
a pleasure for the help !
Thanks!

Related

Using ethernet connection for two completely different purposes

I have a Dell desktop machine with one ethernet port and one NIC.
I need to use ethernet connection for two completely different purposes.
One is to get internet access via LAN and read more stackoverflow.
The other is to talk to my FPGA eval board and send/receive data
using ethernet.
Is having two NICs a good option, a splitter box externally connected or any other solutions for this kinds of usecases?
(I do not want to mess or change the configurations everytime I switch between internet to eval board with just one ethernet port on the system.(I am doing it currently))
Yes, that is no problem.
The one you connect to internet typically use DHCP.
The other set it to static IP address with another subnet than the first one.
The FPGA also use static IP address.

Private P2P Chat (NAT Traversal question)

I am new to networking and have a question regarding p2p and NAT traversing.
I have two PCs with known different static public IPs (IPv4). The first PC (#1) belongs to me, the second one (#2) belongs to my friend.
I want to write a simple P2P chat app which would allow me to exchange messages between these two PCs. The public IPs are known to me and my friend. Also, our local IPs are also known ( #1 is connected to a local private network where all devices share the same public IP). I would like to avoid port forwarding thus I am looking for a way to use some NAT traversal techniques. I would appreciate it if you can share thoughts on this matter.
P.S.
I am familiar with Python, C/C++, Java, C#
P.S.S.
The answer here
NAT-Traversal implementation for P2P connection
assumes port forwarding.
Here are two NAT traversal methods we always use: upnp & nat-pmp, you can search them in github and use them to realise P2P communication between two different internal IP. But one thing you need to notice is that these techs need the support of router.

Need help in validating suggesting the design for a poker game

I'm developing fully decentralized poker game. At the moment my current design is I'm using pub/sub, push/pull sockets using the nano sockets to establish the communication.
Players push the data using nn_push socket type, dealer receives the data using nn_pull socket type, Once the dealer receives the data it processes it and publish the data using nn_pub and all the players in the game receive the data using nn_sub socket type.
Everything working fine so far, the only constraint here I see is my player nodes should know the IP of the dealer and this should be static in order to have this socket communications to work.
And also the players backend is connected from the GUI using libwebsockets for this I need static IP for my backend nodes too.
To summarize, I ended up in a situation where my dealer and playing nodes needs to have the static IP. I'm reading about dht protocols but not sure if those p2p protocols really be applicable in the context of pub/sub model.
Any inputs on how I avoid dependency on using static IP's is greatly helpful.
Thank you.
I suggest you use LSD and DHT both. LSD is really good for local neighbor nodes, and DHT can do what you want as you describe above. What's more, if you want to use a tracker, that may be much easier than use DHT, since you need to consider more about NAT Traversal if using DHT.

Adress external Hardware directly without driver?

Is it possible to access external hardware without using a driver, i.e. not having the driver abstraction layer in between program and external device?
Can you use a device by implementing your own driver-like controlling/handling directly in your program code?
I'm trying to understand a program that implements a Modbus protocol and some very specific Modbus configurations. Now I don't know how exactly it communicates with the Modbus devices.
It looks to me that this is very similar to what a driver does.
But can it even communicate DIRECTLY with the device without having a driver installed?
Yes, there are several micro-kernel OS's that always configure this way -- drivers are entirely implemented outside of the kernel.
The first thing you likely need is to get access to the device's registers; typically performed with mmap(), you may need to dig around a bit to find the right settings for cacheability, etc...
Second problem is interrupts. Unless you are running something like QNX, you won't have a way to have interrupts signal your program directly. You will probably have to turn them off and poll the device periodically.
If you are using linux and need io ports (inb, outb, etc...) man ioperm for more information.

How can I find out whether I can be seen from outside in my iPhone App?

Using services like http://canyouseeme.org/ one can find out whether a particular port is open and his (public) IP is reachable from outside world.
Assuming I have my (expected) public IP and port, is there some easier or more reliable way to check my reachability than e.g. calling canyouseeme.org ?
iPhone's don't have a public IP (as far as I know).
Using 3G coverage you get allocated a local IP on your networks WAN.
Using WiFi you get allocated a local IP from your router.
Therefore I doubt you'll ever be able to truly identify your iPhone using an IP you think is associated with it (but probably isn't)