Commit Graph

27 Commits

Author SHA1 Message Date
fengbojiang 615b66a344 Modif some format. 2024-10-17 16:23:14 +08:00
fengbojiang f069dcdcb7 Support KNI ratelimit. 2024-10-17 16:12:43 +08:00
fengbojiang 7987a25bb9 Fix a build error with gcc-4.8.5. 2024-10-11 19:32:10 +08:00
fengbojiang b61b7363d2 add net.add_addr_allfibs=1 in config.ini. 2023-09-26 11:24:22 +08:00
fengbojiang 51c6fbd66b Modify some code of KNI support virtio_user. 2023-09-19 18:38:17 +08:00
fengbojiang ba2a7fe957 Add kni type argument in config.ini and FF_KNI_KNI in lib/Makefile to set exception path type.
FF_KNI_KNI disabled by default and then:
type 0 and 1 both use virtio_user.

If enabled FF_KNI_KNI(and you must set meson -Ddisable_libs=flow_classif to re-enable kni driver in DPDK first):
type:0 means use historical kni.
type:1 means use virtio_user(linux only), see https://doc.dpdk.org/guides/howto/virtio_user_as_exception_path.html#virtio-user-as-exception-path.
2023-09-19 18:28:57 +08:00
fengbojiang bfa9c1237f Add some comments for kni.
Some NIC drivers will crash in secondary process after config kni , Such as ENA with DPDK-21.22.3.
If you meet this crash, you can try disable the code below and return 0 directly.
Or run primary first, then config kni interface in kernel, and run secondary processes last.
2023-09-15 15:56:37 +08:00
fengbojiang e5e25e6af1 restore vEth0 to veth0 now. 2023-09-14 19:48:01 +08:00
jfb8856606 99b1fff09d f-stack lib support dpdk-22.11.3. 2023-09-13 12:23:25 +00:00
fengbojiang 4093ffd426 Update LICENCE. 2021-09-18 16:05:45 +08:00
johnjiang 37a7c72f09 DPDK: upgrade to DPDK 19.11.2(LTS). 2020-06-18 16:55:50 +00:00
root 7a9cdd23b7 KNI: remove the feature of monitor port's link status.
And if you want to use kni, you should do one of two action:
1. `insmod rte_kni.ko carrier=on` while init dpdk running environment.
2. or run `echo 1 > /sys/class/net/veth0/carrier` after enable veth0 up.

Refer #401, but this is not the real reason of #401, it is the DPDK's ENA driver can't work correctly in multi-processes.
2019-07-29 13:38:10 +00:00
10077240 c005dd8b8e support more than 32 processes; support 52bytes rsskey; compile failed. 2019-07-25 11:27:30 +08:00
fengbojiang(姜凤波) 7cb21a2b2b IPv6: support multi-processes, deep copy NDP packet and dispatch. 2019-07-17 17:31:47 +08:00
fengbojiang(姜凤波) adfdf56113 IPv6: FreeBSD stack and f-stack support ipv6. 2019-07-12 20:56:01 +08:00
logwang 5f73f9b957 Merge branch 'dev' into master 2019-05-21 22:19: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
fengbojiang(姜凤波) 5af785ecea Revert "DPDK:upgrade to 18.11.0 LTS."
This reverts commit 8850115bd8.
2019-01-18 17:27:45 +08:00
fengbojiang 2accbca75e Format code. 2018-12-06 22:41:39 +08:00
jfb8856606 28440c506f DPDK:upgrade to 18.11.0 LTS. 2018-12-06 22:17:51 +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 49e481768a Use general protocol header length in protocol filter. 2017-11-21 11:20:14 +08:00
logwang eb5902d97d Api: add packet dispatch callback function register.
In some cases, for example, packets are forwarded to your server through
IP tunnel, and they will be received on fixed queues, since RSS doesn't support tunnels.So we need to dispatch them again.

With this commit, we can implement a dispatcher callback function and regist
it, packets retrieved from rx queue will be dispatched again according to
the dispatcher result.
2017-11-09 21:22:13 +08:00
root bed8feab33 fix KNI: Out of memory 2017-06-12 16:12:22 +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
logwang f47e38d9dd Fix kni bug.
BUG:
When set config.ini:
[kni]
enable=1
method=reject
tcp_port=80

Packets that not belond to tcp port 80 will not be transmitted to kernel.
2017-05-02 18:05:26 +08:00
logwang a9643ea85c init 2017-04-21 18:43:26 +08:00