1*4882a593Smuzhiyun= What is libmnl? = 2*4882a593Smuzhiyun 3*4882a593Smuzhiyunlibmnl is a minimalistic user-space library oriented to Netlink developers. 4*4882a593SmuzhiyunThere are a lot of common tasks in parsing, validating, constructing of 5*4882a593Smuzhiyunboth the Netlink header and TLVs that are repetitive and easy to get wrong. 6*4882a593SmuzhiyunThis library aims to provide simple helpers that allows you to re-use code 7*4882a593Smuzhiyunand to avoid re-inventing the wheel. The main features of this library are: 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun* Small: the shared library requires around 30KB for an x86-based computer. 10*4882a593Smuzhiyun* Simple: this library avoids complexity and elaborated abstractions that 11*4882a593Smuzhiyuntend to hide Netlink details. 12*4882a593Smuzhiyun* Easy to use: the library simplifies the work for Netlink-wise developers. 13*4882a593SmuzhiyunIt provides functions to make socket handling, message building, validating, 14*4882a593Smuzhiyunparsing and sequence tracking, easier. 15*4882a593Smuzhiyun* Easy to re-use: you can use the library to build your own abstraction layer 16*4882a593Smuzhiyunon top of this library. 17*4882a593Smuzhiyun* Decoupling: the interdependency of the main bricks that compose the library 18*4882a593Smuzhiyunis reduced, i.e. the library provides many helpers, but the programmer is not 19*4882a593Smuzhiyunforced to use them. 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun= Example files = 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunYou can find several example files under examples/ that you can compile by 24*4882a593Smuzhiyuninvoking `make check'. 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun-- 27*4882a593Smuzhiyun08/sep/2010 28*4882a593SmuzhiyunPablo Neira Ayuso <pablo@netfilter.org> 29