Commit Graph

919 Commits

Author SHA1 Message Date
fengbojiang 31316ed6b0 f-stack add VERSION file. 2024-10-18 18:56:00 +08:00
fengbojiang c2f0f40600 Update 1.21.5 release note. 2024-10-18 18:40:34 +08:00
fengbojiang e7450d75e9 Fix ff tools error, compatible with -Wstringop-overflow with different gcc versions. 2024-10-14 15:12:38 +08:00
fengbojiang fc0f76b7b5 Fix ff tools build error with gcc-13.2.0. 2024-10-14 15:03:02 +08:00
fengbojiang 3fbb555e0d Fix kni build error, compatible with both strlcpy and strscpy. 2024-10-14 12:03:33 +08:00
fengbojiang 08fb383d70 Fix some build errors of dpdk-19.11.14 with gcc-13.2.0. 2024-10-14 11:34:51 +08:00
fengbojiang dc686e4a85 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-11 17:21:05 +08:00
fengbojiang 584cb6dfc9 KNI ratelimit set 0 means disable ratalimit, and default modify to 0. 2024-10-11 11:19:02 +08:00
fengbojiang 65299c5f75 Support KNI ratelimit.
KNI ratelimit default value.
The total speed limit for a single process entering the kni ring is 10,000 QPS,
1000 QPS for general packets, 9000 QPS for console packets (ospf/arp, etc.)
The total speed limit for kni forwarding to the kernel is 20,000 QPS.
2024-10-10 17:48:40 +08:00
fengbojiang 68e1f5aa90 Use soclose() instead of sofree() when initializing the configuration stack IP. 2024-09-27 16:25:18 +08:00
fengbojiang a31cb17ac8 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-09-06 20:20:44 +08:00
fengbojiang 42b036ca9f Add APi `ff_dpdk_raw_packet_send` to suppoort RAW packet send direty with DPDK by user APP not via socket. 2024-09-06 16:28:35 +08:00
fengbojiang 5e8fe57a68 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-09-06 12:59:47 +08:00
fengbojiang d72fa89326 IPv6 addr and vaddr set autoconf by default. 2024-09-06 12:56:16 +08:00
fengbojiang 5952c64169 modify INI_MAX_LINE from 200 to 2048 in lib/ff_ini_parser.h. 2024-08-28 11:50:12 +08:00
fengbojiang 9800477682 modify ff_port_cfg.port_id's type from uint8_t to unint16_t. 2024-08-28 11:48:01 +08:00
fengbojiang de1ee7feb8 modify a format problem in ff_api.h. 2024-08-28 11:46:13 +08:00
fengbojiang ff97268615 Nginx's stream also support transparent kernel network stack while set
`proxy_kernel_network_stack on`.
2024-08-27 21:20:15 +08:00
fengbojiang 768e48cd48 Fix a typo in doc/F-Stack_Nginx_APP_Guide.md: "kernel_network_stack" -> "proxy_kernel_network_stack". 2024-08-27 21:06:29 +08:00
fengbojiang 22d1958de6 update email. 2024-06-20 16:50:58 +08:00
johnjiang 8b63b22c6c
Merge pull request #822 from Nordix/gcc-14-support
Fix issue in Freebsd when building with GCC 14.1.0
2024-05-24 19:26:24 +08:00
Björn Svensson 93f00153c5 Use GNUC atomics from GCC 4.9
GCC began to offer full support for the C11 standard starting with version 4.9,
including support for the _Atomic keyword.

https://gcc.gnu.org/gcc-4.9/changes.html
2024-05-24 11:58:04 +02:00
fengbojiang 81006e9a7f Update ff tools README.md, use `ff_netstat -rnW` to display wider device name. 2024-05-24 15:44:55 +08:00
Björn Svensson b7c024b1ab Fix issue in Freebsd when building with GCC 14.1.0
Since GCC 14 now implements `__has_extension()` the build started to use
Clang atomics, i.e. the `__c11_*` APIs only provided by Clang.

Fix build to use GNUC atomics and include the upstream patch:
  https://reviews.freebsd.org/D16585
which enables C11 atomics when building with GCC >= 4.7.
2024-05-13 01:26:52 +02:00
fengbojiang 78278e92f9 Update 1.21.4 release note. 2023-10-20 11:58:03 +08:00
fengbojiang 1c44a070ea Add an API `ff_get_traffic` to get traffic for QoS or other. 2023-10-20 11:51:22 +08:00
fengbojiang a26eb8eb00 Fiexd some build errors of ff_netstat with gcc-12.2.0. 2023-10-19 20:40:58 +08:00
fengbojiang 88d100facf gettimeofday automatically compatible with different glibc versions. 2023-10-19 17:31:44 +08:00
fengbojiang e1deb64acd Fiexd some build errors of freebsd with gcc-12.2.0. 2023-10-19 17:31:00 +08:00
fengbojiang 2e31158d7d Modify vlan filter log. 2023-09-27 11:18:52 +08:00
fengbojiang 2b8b0936db Add vlan_filter argument in config.ini for RSS with vlan.
Set Rx VLAN filter, and then the dirvier(such as MLX5) will set
FLOW RSS to enable L3/L4 RSS below vlan hdr.
This action won't need after DPDK-20.11.
2023-09-26 15:31:56 +08:00
fengbojiang 49a21bc2e0 Update 1.21.3 release note. 2023-09-13 15:25:29 +08:00
fengbojiang 87d3f2cecd Fix missing sizeof(). 2023-09-13 13:14:40 +08:00
fengbojiang dc77017216 Modify IP_TTL to type int in freebsd2linux_cmsghdr while ff_recvmsg. 2023-09-13 12:50:58 +08:00
fengbojiang b9b0ebda80 Remove some extra characters. 2023-09-13 12:49:31 +08:00
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 785f85dbe6 Fiexd some build errors of micro_thread on ubuntu 22.04 (kernel:5.19.0-1025, gcc:11.4.0.) 2023-09-11 19:11:26 +08:00
用jfb8856606 648c3a8863 Sync DPDK's modifies.
1. igb_uio.
2. mlx5 drivers.
3. i40e drivers.
2023-09-11 09:38:40 +00:00
用jfb8856606 738365f742 DPDK: Upgrade to 19.11.14(LTS). 2023-09-11 08:53:20 +00:00
fengbojiang 36ab0a9857 Fix Compile Error with gcc 11.3.0(in Ubuntu 22.04). 2023-02-16 20:06:28 +08:00
fengbojiang e3917f8953 vlan_strip support kni. 2022-11-12 23:40:58 +08:00
johnjiang 0aa81ab190
Update F-Stack_Release_Note.md 2022-09-02 16:19:03 +08:00
fengbojiang 92a51f3da7 Update 1.21.2 release note. 2022-09-02 16:15:33 +08:00
用jfb8856606 f2591405ba DPDK: upgrade to DPDK-19.11.13(LTS). 2022-09-02 07:34:10 +00:00
fengbojiang bf68b4fc1b Fix the issue that `ff_netstat -r` can't show gateway6. 2022-09-01 17:20:13 +08:00
fengbojiang 2156ba56d9 Merge branch 'master' of https://github.com/F-Stack/f-stack 2022-08-27 20:48:45 +08:00
fengbojiang 8edd7a76c2 Add include rte_eth_bond_8023ad.h. Fix #681. 2022-07-06 15:39:40 +08:00
Lorisy 1056bf23c3 对于LACP模式下的bond功能,LACP的协商报文驱动默认加入ring队列,但是不会消费,可以使用单独的队列来做lacp的协商 2022-07-06 15:39:34 +08:00
fengbojiang a093c79733 ioctl_va bug fix #665. 2022-07-06 15:38:32 +08:00
fengbojiang 782d5777bd Update annotations for zero-copy API. 2022-04-17 21:05:32 +08:00