Git Product home page Git Product logo

libuinet's Introduction

UINET (User INET)
=============================================================================

This is a user-space port of the FreeBSD TCP/IP stack, begun with the
FreeBSD 9.1-RELEASE sources and many pieces of Kip Macy's user-space
port of an earlier version of the FreeBSD stack, libplebnet.

Unlike the stock FreeBSD TCP/IP stack, this stack can initiate and
terminate arbitrary TCP/IP connections, including those on
arbitrarily-nested VLANs.  Listen sockets can be bound to a wildcard
IP address (across everything on the wire, not just local interfaces),
wildcard port, and specific VLAN tag stacks.  L2 information for
accepted connections is available to the application.  Outbound
connections can be bound to any IP and port, as well as any MAC
address and VLAN tag stack.

Packet I/O is currently accomplished via netmap or libpcap (although
the latter interface is relatively new and untested).


Building libuinet
=============================================================================

cd lib/libuinet
gmake

If your netmap includes are not in the system include path,

gmake NETMAP_INCLUDES=<path to netmap includes>


Building the sample programs
=============================================================================

The sample programs are libev-based, so in addition to building
libuinet before building them, you must also build the libev port.

To build the libev port:

cd lib/libev
./configure --with-uinet=../libuinet/api_include
make

To build the sample programs:

cd bin/<prog>
gmake


The currently functioning sample programs are:

echo		A loopback server
echo++		A C++ loopback server
tproxy		A transparent proxy

libuinet's People

Contributors

pkelsey avatar caladri avatar

Watchers

mingfeng.zhang avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.