2. System Requirements¶
This chapter describes the dependency libraries you need to compile the mOS networking stack.
2.1. mOS Requirements¶
We require the following libraries to run mOS applications.
- libnuma
- libpthread
- librt
- libssl-dev
- libglib2.0-0
2.1.1. Tested Environments¶
mOS applications have been tested on the following system:
- Intel Xeon E5-2690 octacore CPU @ 2.90 GHz, 64 GB of RAM (4 memory channels), 10 GbE NIC with Intel 82599 chipset (specifically Intel X520-DA2), Ubuntu 14.0.4 (Linux 3.13.0-24-amd64)
- Intel Xeon E5-2640 v3 octacore CPU @ 2.60GHz, 32 GB of RAM (4 memory channels), 1 GbE NIC with Intel Corporation 82572EI Gigabit Ethernet, Ubuntu 14.04.3 LTS (3.19.0-25-generic-amd64)
mOS applications can run on any multi-core machine that is equipped with a NIC that supports RSS hardware queues.
2.2. I/O Library Requirements¶
The default I/O module for using our stack is Intel Data Plane Development Kit (DPDK) driver. We also provide PCAP I/O plugin for debugging purposes. We briefly specify the system requirements for compiling and running mOS applications on top of each packet I/O library.
Tip
apt-get install linux-headers-$(uname -r)
yum install kernel-devel
2.2.1. Intel Data Plane Development Kit (DPDK)¶
We enlist the requirements for compiling mOS with DPDK library, specified in the DPDK docs (http://dpdk.readthedocs.org/en/v2.2.0/linux_gsg/sys_reqs.html).
Requirement for Running DPDK Applications:
Kernel version >= 2.6.34
The kernel version in use can be checked using the command:
uname -r
glibc >= 2.7 (for features related to cpuset)
The version can be checked using the
ldd --version
command.Kernel configuration
In the Fedora OS and other common distributions, such as Ubuntu, or Red Hat Enterprise Linux, the vendor supplied kernel configurations can be used to run most DPDK applications.
For other kernel builds, options which should be enabled for DPDK include:
- UIO support
- HUGETLBFS
- PROC_PAGE_MONITOR support
Required Tools for Compilation:
- GNU
make
. - coreutils:
cmp
,sed
,grep
,arch
, etc. - gcc: versions 4.5.x or later is recommended for
x86_64
.
Note
Current mOS library only supports 64-bit OS (e.g., x86_64) and can run on the host OS. Support for 32-bit OS and virtualization will be released later this year.
2.2.2. PCAP Requirements¶
You need to install libpcap-dev
library to get the stack operational. We
tested mOS on an Ubuntu machine with libpcap0.8-dev
library. The
mOS core is heavily reliant on posix libraries and have only been
tested on Linux machines. We do not recommend testing mOS on Windows
machine.
2.2.3. netmap Requirements¶
Support for netmap driver will be released soon.