Serial-Multiprocess README VERSION 0.2.0 =============================================================== Changlog 2014-03-18 Done. 2014-05-09 Version 0.1.0 + Read the configure file instead of reading the paras from command line. + Reorganize the source structure for the MESA standard. + New Makefile to replace the buildso.sh + Other improvement. 2014-05-13 Version 0.1.1 + Add the test application source and header file to path ./test 2014-05-13 Version 0.1.2 + Fix some bugs in Makefile, and we don't need to link a lot of libs while complete with our .so file. 2014-07-03 Version 0.2.0 + Add the module APT,which to adapt the run envoriment by itself, now can support the EAL paras. 2014-12-11 Version 1.1.0 + Support Multiprocess Mode and Complete Load-Balance Model. Author Lu Qiuwen Interface and Paras. ===================== We provide two kinds of interface. One of them provide the stream id for users,and the other provide the port number in physical. **Note** What is a stream id? As you know, the pkts from Port A to Port B which in physical can consist of a stream, we call it a stream, and it have an stream id, which maybe 0. At <1> int dpdk_send_packet_dst(unsigned char *data, int datalen, int dst); Send packets made by yourself to the tx port in stream <2> int dpdk_send_packet_port(const unsigned char *data, int datalen, int port);\ Send packets made by yourself to port <3> int dpdk_init(int argc, char **argv); Init the Intel DPDK envoriment. <4> int dpdk_run(); Start and run the worker and I/O thread created by Intel DPDK. <5> int dpdk_register_callfunc(int (*func)(const unsigned char *data,int datalen,int port_in,int lcore)); Register the function handle which provided by user, and the function will be called by packet process function in worker thread. * You can recieve the physical port number. <6> int dpdk_register_callfunc_dst(int (*func)(const unsigned char *data,int datalen,int dst,int lcore)); Register the function handle which provided by user, and the function will be called by packet process function in worker thread. * You can recieve the stream(destration) number. Note: You cannot use dpdk_register_callfunc() and dpdk_register_callfunc_dst together. Complete and Install ============================== # make # make install It is so easy. Rebuild DPDK ============================== If need to rebuild DPDK libs, type: # make dpdk It will use -fPIC and -g symbol to rebuild DPDK libs. Link to your Application ============================== $gcc -o test test.c -lnl2fwd