-
Notifications
You must be signed in to change notification settings - Fork 196
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
linux compile issues #32
Comments
Please include the command you ran, the directory within libuinet you ran it in, and the output you got. |
git clone https://code.google.com/p/netmap/ |
pthornton@pthornton-virtual-machine:~/libuinet/lib/libuinet$ make |
I resolved this issue by adding forward declaration of vnet and removing the vnet.h header file |
weliu, can you be more specific as to what forward delcaration you added? I've hit the same issue, and I'm looking at vnet.h on github - it's almost 400 lines of code... |
@ratliffstan, what @weliu is saying is that removing the net/vnet.h include from uinet_internal.h and then adding, I believe, a forward declaration in its place of |
@caladri Thanks! I have one other naive question. Let's assume I have started the WANproxy with libuinet, and have assigned 'eth1' to the proxy. But ingress traffic to that port includes some "non-proxy" traffic (e.g. VoIP packets, multicast traffic, and the like). From my tentative testing, it appears that this traffic gets dropped. Is there a way to configure the proxy/libuinet such that this traffic continues to flow to the correct destination? |
My apologies for spamming this board, but I have one more question. Does libuinet support route or raw sockets? |
@caladri, this issue occured because the vnet.h file does not exist in Linux /usr/include, but FreeBSD does, because VIMAGE is a FreeBSD feature. @ratliffstan, I have used uinet_socreate() uinet_sosend() API to add or remove route in libuinet instance. If your are under Linux, you also need to copy FreeBSD's route.h file to Linux /usr/include, because LINUX don't have struct rt_msghdr or other route related structs definition. |
@weliu - Interesting, thanks. @caladri @pkelsey - I'm still concerned about running the proxy and getting other traffic dropped. I have WANproxy running on eth1 (via Netmap), and have multiple addresses for my Linux host. Trying to "ping" from a secondary host, via eth1, and the traffic is dropped when the proxy is running. Is there a way to configure such that other traffic (like ICMP) gets passed through as it should? |
@ratliffstan, that is a reasonable concern, but honestly I'm not sure libuinet is the place to fix it. Honestly, in that sort of situation what you want is to use VALE to have a virtual network set up on which the proxy is connected to two different VALE switches, and you have a packet processor with a configurable policy determining which packets to pass to the proxy and which get bridged or sent to the host network stack. I've started on something that would be useful for this, but am not aware of any complete open source options. Maybe Intel's openvswitch stuff? I could provide you with a sample configuration that would do this with a tool I've written, but it has some rough edges. |
@caladri Thank you for the information. I'll go check openvswitch. And yes, I'd be happy to take a look at your sample config and tool. Thanks again. |
Looks like the Linux port is out of sync. It's referencing a BSD file vnet.h which is included under sys/net/vnet.h, but that folder is not included in the Makefile. If I modify the Makefile, there are too many errors to list here. I've tried this on Centos 6(preferred) and Ubuntu 12.04.
-randy
The text was updated successfully, but these errors were encountered: