Does DPDK require more than 1 NIC? - nic

I'm totally new to DPDK and have some weird questions that I cannot figure out by myself.
Does DPDK require more than 1 NIC on my physical device? I saw some examples (l2fwd, l3fwd) that require 2 NICs, one is used for receiving packets and another one is used for transmitting packets.
Since DPDK takes control of NICs, could I still normally access the Internet if I bind my only NIC to DPDK? I mean doing some normal stuff like surfing the web with Firefox.
After binding the NICs, only DPDK applications can access those NICs, or is there any way that normal applications can access them?
I have been confused with these questions for days. Please purify my mind.
Thanks in advance :)

It depends on the application. In case of l2fwd, yes you need more than 1 NIC. Though, they don't have to be physical. You could create virtual NICs with VmWare or VirtualBox.
You won't be able to surf the web if you bind NIC to DPDK.
I think there is no other way.
For development, you could setup a virtual machine, with 2 virtual NICs for use by DPDK, and one to surf the web.

Related

Connecting a DVR Tuner to a Plex Server in Hyper-V

is there a way to connect a dvr tuner to a Plex Server hosted in Hyper-V?
I have searched but could not find a Question about this topic.
My build is a Win22 Datacenter Server running Plex in Hyper-V. A Hauppauge dualHD is connected to the Win22 Datacenter Server via USB.
Thanks for your help!
Current Answer
I'm updating my answer as I didn't realize it was a tuner and not a DVR box connected to your TV.
From what I'm seeing online, your best bets are:
use Enhanced Session Mode to connect the device over RDP (which only supports some devices)
use a third-party tool such as Donglify (this is from results on Google. Buy at your own digression) to allow USB passthrough
use a Type 2 hypervisor (VirtualBox, VMware) to run your instance of Plex instead
run Plex outside of Hyper-V on the same system with a sandboxed user
run Plex on another device entirely, such as a Raspberry Pi.
I can't help with the first, as it requires some gpedit.msc magic I cannot do, or second as I have never used one.
3rd option will reduce program speeds which may cause slowdown if multiple people stream at once.
4th option is my personal recommendation, as you bypass the need to use a hypervisor entirely and keep on the same device.
5th is only good if you use a USB-based drive and have a decent bit of experience with Linux.
Old Answer
Kept for the sake of archival.
You'll want to use Powershell and the Add-NetNatStaticMapping cmdlet to allow inbound connections to the Hyper-V server. This will need a vNAT adapter set up. See the linked blog post (not mine) if you need help with that, too.
Assuming the vEthernet connection has an internal IP of 192.168.10.2 and a NAT network name of NATSwitch, with Plex on the default port of 32400:
Add-NetNatStaticMapping -ExternalIPAddress "0.0.0.0/24" -ExternalPort 32400 -Protocol TCP -InternalIPAddress "192.168.10.2" -InternalPort 32400 -NatName NATNetwork
You will most likely need to replace the internal IP, port, and NAT name.
After this is set up, you'll need to point your DVR to the IP of the Windows Server box.
Sites referenced:
Plex support page on ports to forward
A GitHub user's blog, specifically a post on port forwarding

How can i find all network devices without Bonjour?

I writing a mac application and i need to discover other Macs/PCs/iPhones/iPads connected to the same WIFI network.
Bonjour seems to be the most reasonable choice, but it turned out that it has problems on many types of routers (on mine for example, is not working as it blocks Bonjour services).
I just need to find iPs of devices, then i will try to connect to an application-specific port to determine if my process is running there.
What is the best approach to accomplish this task, without violating the App store Sandboxing?
ARP was the first answer which came to my mind. Does your network-setup allows this?

Can you change Windows Mobile Device Centre to use a different network from 192.168.55.0/24 for debugging the compact framework?

I have a piece of software I have written that talks to a web service over it's Wifi connection on a Casio WinCE handheld.
Unfortunately the Wifi network and the network created by WMDC (or ActiveSync) to host the debugger connection clash, they are both 192.168.55.0/24. So I can't have them both connected at the same time.
Does anybody know if you can reconfigure WMDC to use a different address range?
I've hunted through the registry but can't see anything obvious, and Google is not turning up anything useful.
Thanks,
James.
Is the development PC on teh same network as the WiFi connection? If so, I'd abandon ActiveSync/WMDC altogetehr and just use ethernet debugging over the same connection that it's using for the web service calls.

How to Test a Network Application with only a Single Computer?

I want to kick myself to learning network programming, starting with implementing existing network protocols. I've finished the (rudimentary) design and will start coding soon. The problem I haven't been able to figure out solution to is related to testing: I only have one Windows laptop running Windows 7 Pro with only a recovery disc (no installation disc) that obviously cannot be used on a VM.
Hard-coding input/output data clearly isn't a good way to test any sort of program. So, what solutions can I look into?
Thanks for your time.
P.S.: In case this matters, I'll do the coding in C++.
You can run a client and a server on the same machine. When accessing the network layer, just use the local callback loop (127.0.0.1 for ipv4 or ::1 for ipv6) to connect to your server when you run the client.
If you provide the APIs that you will be using (wininet, APR, Boost etc) a more detailed answer would be available.
What about a VM with Ubuntu or some other distro of Linux?

HTTP Server on iPhone that Supports Public Network?

I'm currently using cocoahttpserver to do some file sharing thing in my iPhone app. Does anyone know how to use public IP address to connect to the phone, that is to use the Internet, rather than internal connection via WiFi.
Any help would be appreciated! Thanks in advance.
Some thoughts on running an HTTP server on an iPhone:
Most of the time, with IPv4 addresses, the IP address is what is known as a “NAT” address. Simply put, the address it uses can only be accessed from other computers on the same network. It usually can not be accessed from the internet at large.
IPs can can be accessed from the internet at large cost quite a bit of money to have. They do not exist for wireless 3G networks.
Web servers like Apache and lighthttpd compile and run fine on an iPhone. However, the iPhone needs to be jailbroken before running these servers (but there appears to be a web server app for the iPhone)
Apache needs text files to be edited to be configured. It’s a great web server, but people who want to use it better be comfortable reading documentation and editing text files by hand.