Commit Graph

21 Commits

Author SHA1 Message Date
fengbojiang ef24ad2478 Sync some features from branch of dev.
1. Added F-Stack FreeBSD support. see 9f7a1423a0 .
2. Enable INET6 by default in helloworld. see 51c91ab0ad .
3. Added FDIR support. see 4854315d0d .
4. To avoid compiling errors when gcc version >= 10. see 6daadb0b5c .
5. Modify `struct linux_sockaddr` same to `struct sockaddr` in linux. see d96a9d10f4 .
6. Sync some modified of ff_config.c, inclue set dpdk log level, Avoid memory leaks, suppor vip_addr and vip_addr6, etc. see git log lib/ff_config.c in branch of dev.
7. Sync some modified of ff_syscall_wrapper.c, include ff_sendmsg, ff_recvmsg, ip6_opt_convert, etc. see git log lib/ff_syscall_wrapper.c in branch of dev.
8. The CPU usage of packet_dispatcher() is modified to usr. see 0508c8b8ec .
9. If process_dispatch_ring() has data packet to be processed and it is considered non-idle state. see 81dd6c7a24 .
10. Fix a plurality of packets may not statistics in ff_traffic.rx_packets and ff_traffic.rx_bytes. see 0b4a084c8a .
11. Added FF_IPSEC=1 in lib/Makefile, disable by default.
12. Some other modified.
2023-09-12 21:01:47 +08:00
fengbojiang e12886c02c Support zero copy while call `ff_write`, you can enable it by modify ‘FF_ZC_SEND=1' in `lib/Makefile`.
`FF_ZC_SEND` is same as `FF_USE_PAGE_ARRAY`, it will improve performance slightly in some scenarios, need to be tested in combination with real applications.

You can enable both compilation options at the same time or separately.
2022-04-15 18:00:49 +08:00
fengbojiang(姜凤波) e2391e5ebe helloword sever demo support IPv6. 2019-08-08 22:03:57 +08:00
fengbojiang(姜凤波) e8591dc5c0 F-Stack's kni can work on DPDK 18.11 LTS now. 2019-03-14 17:17:58 +08:00
vanlink ec61049c5f remove unnecessary one byte from html page 2019-02-11 16:34:21 +08:00
logwang 2bfe3f2e55 DPDK: upgrade to 17.11.2 LTS.
Changes:
1. This version is downloaded from
https://fast.dpdk.org/rel/dpdk-17.11.2.tar.xz.
2. Adapt the new interface `rte_ring_dequeue_burst`.
3. Change the type of `port_id` from uint8_t to uint16_t.
4. Just link libdpdk.a instead of the other libaries.
5. Install libnuma-dev first.
6. Update the documents.
2018-05-15 17:49:22 +08:00
logwang b9e91cfd6a Example: fix listen queue overflow.
According to the FreeBSD Manual Page:
- When kevent() returns and if `flags` is EVFILT_READ, sockets which have previously been passed to listen() return when there is an incoming connection pending. `data` contains the size of the listen backlog.

So if an EVFILT_READ event reaches and it is the listen socket, we must accept `event->data` times. And for `ff_epoll` interface, we should continue to accept until it fails.

In the previous version, we only accept once when event reaches, it will cause listen queue overflow.
2017-12-21 23:23:33 +08:00
logwang 02610d5877 Example: keep run when accept failed. 2017-11-21 11:42:09 +08:00
logwang 1a527102bc Example: exit when ff_api failed 2017-09-14 18:57:37 +08:00
logwang 8cf1d457cb Optimize makefile 2017-09-14 15:25:07 +08:00
logwang 615f2d3c02 Fix `ff_fdused_range` not work. 2017-08-08 23:47:38 +08:00
logwang a02c88d651 Simplify startup arguments and add ff_fdisused.
Changes:
1.Simplify f-stack startup arguments:"--conf, --proc-type, --proc-id".
2.add a function `ff_fdisused` to check if fd is used in f-stack.
2017-08-08 22:36:49 +08:00
Ron 1a78ce8ea6 epoll optimization, add ff_kevent_do_each 2017-06-13 17:50:51 +08:00
logwang df6ad73146 Add tool: ifconfig.
Changes:
    Remove directory `ipc`, and add a new directory `compat`.
    Directory `compat` includes some FreeBSD source files to be compatible
        with Linux.
    Port FreeBSD ifconfig to F-Stack.
2017-06-06 16:52:52 +08:00
logwang 7abd0fb2a9 Add tool: sysctl.
This commit contains an ipc library implemented by dpdk rte_ring and
sysctl tool ported from FreeBSD.

With this commit we can get and set FreeBSD kernel state in runtime.
2017-05-23 23:13:49 +08:00
byronhe 7991c74543 fix compile error 2017-05-18 00:28:38 +08:00
limzhang(张力) 8a0cdb99c3 example:remove printf 2017-05-15 17:55:26 +08:00
limzhang(张力) fd436ff2d2 add example code which use epoll API. 2017-05-15 17:49:25 +08:00
logwang 8745404160 example: remove pkg-config in Makefile.
Because pkg-config(version before 0.28) reordered -Wl,--whole-archive -Wl,--no-whole-archive not to surround the dpdk libraries, so we remove pkg-config and do it ourselves.
2017-05-12 11:06:04 +08:00
whl739 2dfcd880c7 example: remove printf. 2017-05-10 17:20:41 +08:00
logwang a9643ea85c init 2017-04-21 18:43:26 +08:00