Commit Graph

381 Commits

Author SHA1 Message Date
zcj 3dbcad7caf set the IP-type flag for tx_csum_l4 offload 2024-12-13 02:20:56 +08:00
fengbojiang 1152067e93 The msghdr.msg_iov->iov_base and msghdr.msg_iov->iov_len of ff_sendmsg() and ff_recvmsg() compatible with the Linux.
Note: linux2freebsd_msghdr and freebsd2linux_msghdr must be called in sequence and in pairs.
2024-10-17 16:29:08 +08:00
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 5c144b199a Use soclose() instead of sofree() when initializing the configuration stack IP. 2024-10-17 15:19:13 +08:00
fengbojiang f95b80ee63 Support automatic configuration of vlan and vlan ip, routing and the simplest policy routing
1. Automatic configuration of multi vlan vip(IPv4 and IPv6).
	1.1 And support automatic multi default route for per vlan, via different fib num.
	1.2 IPv6 not support set multi route fib now, just use RT_DEFAULT_FIB, And you can set multi fib use tool 'ff_route'.
	1.3 If vlan_flag is true, all port's addrs/vips will not to set, just create the iface.
2. Automatic configuration of simple policy routing.
	2.1 Only supports the simplest policy routing settings, like:
		`ff_ipfw -P 0 add 100 setfib 0 ip from 125.94.59.0/24 to any out`
		`from 125.94.59.0/24` need set addr is '125.94.59.0', netmask is '255.255.255.0'
	2.2 IPv6 does not support automatic configuration of policy routing. If ipv6 policy routing is required, you still need to use ff_ipfw to manually configure it.
2024-10-17 15:01:51 +08:00
fengbojiang 0dc9cb4bbd Add APi `ff_dpdk_raw_packet_send` to suppoort RAW packet send direty with DPDK by user APP not via socket. 2024-10-15 15:22:45 +08:00
fengbojiang f4e3243725 Modify IPv4 vip addrs' broadaddr from `x.x.x.255` to `x.x.x.x`, same as
vip addr, because vips' netmask only support `255.255.255.255` now.
2024-10-15 15:18:42 +08:00
fengbojiang 1023238cee IPv6 addr and vaddr set autoconf by default. 2024-10-15 15:14:06 +08:00
fengbojiang 238513c034 modify INI_MAX_LINE from 200 to 2048 in lib/ff_ini_parser.h. 2024-10-15 15:11:37 +08:00
fengbojiang 9fd8e44b49 modify ff_port_cfg.port_id's type from uint8_t to unint16_t. 2024-10-15 15:00:16 +08:00
johnjiang 50188e997c
Merge pull request #845 from wenddak1ng/pthread_fix
fix pthread issue
2024-10-12 21:15:48 +08:00
fengbojiang 38d9fdee68 Fix a build error with gcc-13.2.0. 2024-10-12 20:23:04 +08:00
fengbojiang 7987a25bb9 Fix a build error with gcc-4.8.5. 2024-10-11 19:32:10 +08:00
Vitaly Pavlov 0d9c205610 fix pthread issue 2024-10-11 00:31:49 +00:00
Radu Nichita 6166910faa Add POSIX Like functions for pthread_create and pthread_join 2024-08-14 10:17:35 +02:00
renzibei 90b9053c56 Add ff_stop_run to stop the poll loop 2024-03-30 05:20:13 +00:00
fengbojiang 81b0219b09 Add an API ff_get_traffic to get traffic for QoS or other. 2023-10-20 12:15:55 +08:00
fengbojiang 19b67af558 gettimeofday automatically compatible with different glibc versions. 2023-10-19 16:48:44 +08:00
fengbojiang b61b7363d2 add net.add_addr_allfibs=1 in config.ini. 2023-09-26 11:24:22 +08:00
fengbojiang beaeed64a9 FF_FLOW_ISOLATE support DPDK-22.11. 2023-09-20 20:54:47 +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
jfb8856606 fb1e8e99f8 upgrade F-STACK_VERSION to 1.24. 2023-09-13 08:40:14 +00:00
fengbojiang 5313779e2b Fix missing sizeof(). 2023-09-13 13:12:13 +08:00
fengbojiang eb5544bec0 Modify IP_TTL to type int in freebsd2linux_cmsghdr while ff_recvmsg. 2023-09-13 12:57:33 +08:00
fengbojiang 51dc2a507f Fix some issue of ff_sendmsg and ff_recvmsg. 2023-09-05 20:32:04 +08:00
fengbojiang 8bf6ef65e0 Support LINUX_IP_TRANSPARENT and LINUX_IPV6_TRANSPARENT to IP_BINDANY
and IPV6_BINDANY in lib/ff_syscall_wrapper.c.
2023-09-01 16:17:56 +08:00
fengbojiang 0a92bc396c fix some issue of ff_sendmsg and ff_recvmsg, build pass, to be tested.
Ref #768 #775.
2023-08-25 18:00:57 +08:00
fengbojiang fe40712835 Revert "fix cmsg for sendmsg". Fix #778.
This reverts commit 9582dbb778.
2023-08-11 15:13:37 +08:00
sarosh 9582dbb778 fix cmsg for sendmsg 2023-06-12 15:04:29 +05:00
fengbojiang efd35b83ad Output a extra line. 2023-03-31 10:22:19 +08:00
zhutian 5ed6baeedb fix that vtoslab doesn't return the correct slab 2023-03-03 21:01:53 +08:00
fengbojiang 8020e2669c Modify `pci_whitelist` to `allow` that from DPDK 20.11. Close #745. 2023-03-02 10:59:55 +08:00
fengbojiang 7b98ccb479 1. Set non blocking in `example/main.c`.
2. Add some description of `ff_socket()` and `ff_write()`.
3. Ref #709.
2023-02-17 19:10:41 +08:00
fengbojiang 761dee801d Add VERSION file in root dir directory and upgrade version to 1.23. 2023-02-15 19:21:58 +08:00
fengbojiang 0763cdeb7f enable -O2 by default. Ref #711 #721. 2022-12-30 19:59:23 +08:00
renzibei fb832ef92f delete useless comments in last commit 2022-12-01 22:12:33 +00:00
renzibei 7fe40f937e make it compilable under O2 optimization, pass gcc check 2022-12-01 22:02:45 +00:00
johnjiang ee9f90daf7
Merge pull request #714 from d06alexandrov/fix_makefile_ipsec
Removed deleted sources from Makefile
2022-11-29 18:52:43 +08:00
Dmitriy Alexandrov 179cc5ed39 Removed deleted sources from Makefile 2022-11-14 17:44:12 +04:00
fengbojiang 5423ff871b Fix DEPRECATED. 2022-11-12 23:51:36 +08:00
fengbojiang a329eaf2c0 vlan_strip support kni. 2022-11-12 23:35:29 +08:00
Dmitriy Alexandrov 4248f58f32 Added more clear error message in case of failed config read. 2022-10-27 12:42:25 +04:00
hao 4854315d0d Added FDIR using general flow rules.
Added FDIR functionality that does not use flow in isolation mode. This is a part of the research work at RCSLab, University of Waterloo
2022-09-15 20:56:47 -04:00
fengbojiang 0b9105dad3 F-Stack lib and docs support DPDK-21.11. 2022-09-06 12:11:17 +08:00
fengbojiang 69c1032524 Fix a typo. `ifc_name` modify to `if_name`. 2022-09-02 20:21:32 +08:00