Commit Graph

733 Commits

Author SHA1 Message Date
fengbojiang 8640edf1d9 Netgraph and ipfw for FreeBSD 13.0. 2021-10-12 18:59:42 +08:00
fengbojiang 992d05d4ec Update license of FreeBSD. 2021-09-30 20:09:34 +08:00
fengbojiang dc2d956351 Merge branch 'dev' into freebsd13 2021-09-30 19:58:08 +08:00
fengbojiang d4a07e7027 ff tools upgrade to support FreeBSD 13.0. 2021-09-30 19:34:02 +08:00
fengbojiang fbb53eecca modify config.ini. 2021-09-23 15:28:08 +08:00
fengbojiang 77ab9738ba Support extra tcp stacks, rack and bbr. 2021-09-23 15:16:09 +08:00
fengbojiang 8a60d0f5fe modify licence. 2021-09-18 16:48:25 +08:00
fengbojiang 2317ada57d Update LICENCE. 2021-09-18 16:05:45 +08:00
fengbojiang 6a7724da95 Add lib/ff_subr_epoch.c. 2021-09-18 15:10:42 +08:00
fengbojiang 617ef36b0d FreeBSD13 can simply work. 2021-09-18 14:50:06 +08:00
fengbojiang d9ca4c12cf fix some issues. 2021-09-16 15:30:22 +08:00
fengbojiang 391d4989fc If process_dispatch_ring() has data packet to be processed and it is considered non-idle state. 2021-09-02 12:09:09 +08:00
fengbojiang 215f56e7e8 The CPU usage of packet_dispatcher() is modified to usr. 2021-09-02 12:04:32 +08:00
fengbojiang 8beba0628d fix a plurality of packets may not statistics in ff_traffic.rx_packets and ff_traffic.rx_bytes. 2021-09-02 11:47:13 +08:00
fengbojiang 22ce4aff4f FreeBSD: Upgrade to FreeBSD-releng-13.0 compiled, to be tested. 2021-08-31 19:00:09 +08:00
johnjiang 95ce61a67a
Merge pull request #601 from czs108/path-fix
Docs: Fix the path of `igb_uio.c` and line number
2021-06-30 10:57:24 +08:00
Chenzs108 98895edd38 Docs: Fix the path of `igb_uio.c` and line number 2021-06-23 13:52:13 +01:00
fengbojiang 880c2c64bf fix config.ini. 2021-06-18 11:04:49 +08:00
fengbojiang 503a15e0ee Support set multi virtual IPv4/IPv6 net addrs in `config.ini`, instead of use `ff_ifconfig`.
Close #421.
2021-06-16 19:26:52 +08:00
fengbojiang d4e858cfd0 modify pcap config. 2021-06-16 19:06:45 +08:00
fengbojiang d1e478dd27 Merge branch 'dev' of https://github.com/F-Stack/f-stack into dev 2021-06-15 17:51:55 +08:00
fengbojiang 16a456d6e0 MLX5: modify `if_indextoname` syscall to support F-Stack tools. 2021-06-15 17:48:26 +08:00
fengbojiang cf06e8b0b7 1. add `pci_whitelist` config in `config.ini`.
2. remove old pcap config.
2021-06-15 17:47:20 +08:00
johnjiang a34ed8c31c
Merge pull request #596 from hyperxpro/dev
Fix typo in word `should`.
2021-05-25 19:15:42 +08:00
Aayush Atharva eec4e1723f
Fix typo 2021-05-25 13:28:49 +05:30
fengbojiang 5edfaa424a Upgrade f-stack.conf in Nginx. 2021-03-08 15:43:59 +08:00
Hawker 39f53b9b66 support `IPV6_RECVPKTINFO` 2021-03-06 19:19:03 +08:00
Hawker e5d6f29951 Support IPPROTO_IPV6
f-stack中缺乏对`IPPROTO_IPV6`协议相关选项`IPV6_V6ONLY`的支持;无法在ipv6兼容ipv4场景进行网络通信。调用setsockopt时会出现失败。
2021-03-06 19:19:03 +08:00
jfb8856606 6b8a3e40e0 Fix #576, add the code of igb_uio and enable_kmods. 2021-03-06 19:19:02 +08:00
jfb8856606 449c1f6887 fix compilation problem of example. 2021-03-06 19:19:02 +08:00
jfb8856606 0803ae9997 Remove unnecessary files from DPDK. 2021-03-06 19:19:02 +08:00
jfb8856606 2d9fd38054 DPDK: upgrade to DPDK 20.11.0(LTS). 2021-03-06 19:19:01 +08:00
fengbojiang 8d76b62e73 Support DPDK 20.11.0(LTS). 2021-03-06 19:18:57 +08:00
fengbojiang ba22d55c70 upgrade F-STACK_VERSION to 1.21. 2021-03-06 19:18:57 +08:00
fengbojiang 71d1223396 modify `struct linux_sockaddr` same to `struct sockaddr` in linux. 2021-03-06 19:18:56 +08:00
fengbojiang e846ec3310 update doc. 2021-03-06 19:18:56 +08:00
fengbojiang 92bcc6b4ff Update release note for 1.21. 2021-03-06 19:18:55 +08:00
fengbojiang 0c6bd47016 DPDK: upgrade to DPDK 19.11.6(LTS). 2021-03-06 19:18:54 +08:00
fengbojiang 8d0052bc9a Fix some issues of ff msg. 2021-03-06 19:18:53 +08:00
fengbojiang 9324004395 The `ff_traffic` and `ff_top`'s `-P` argument support bigger than 38. 2021-03-06 19:18:53 +08:00
fengbojiang 73bdce4162 Fix bug of ff_ipc_msg_free in ff tools.
The ff msg shouldn't to free while `ff_ipc_send` success but `ff_ipc_recv` failed (such as F-Stack app are breaking by gdb).
2021-03-06 19:18:53 +08:00
fengbojiang(姜凤波) aa61e4b567 Add `ff_regist_pcblddr_fun` to regist a pcb lddr function in F-Stack.
If There are multiple ips, and F-Stack client application can choose a source ip by yourself, instead always use the first ip.
2021-03-06 19:18:52 +08:00
zengyi1001 a25f323c2b Add IPv6 net addr parameters in config
Co-authored-by: fengbojiang <fengbojiang@tencent.com>
2021-03-06 19:18:52 +08:00
fengbojiang 8bced645ba Fix #560, Wrong msg_flags in struct msghdr after calling ff_recvmsg in a Linux application. 2021-03-06 19:18:52 +08:00
freak82 d901720491 Fix #568, Insufficient condition in ff_rte_frm_extcl function. 2021-03-06 19:18:52 +08:00
Hawker 73cd51a2dc Bug:CLR_FD_BIT is undefined 2021-03-06 19:18:52 +08:00
Jianfeng Tan fa552ee2a0 fix use after free issue in mbuf free
Two kinds of mbuf are used in f-stack: freebsd mbuf and dpdk mbuf.

freebsd mbufs are metadata used in freebsd stack, and their data
pointers (m_data) point to dpdk mbuf's data (buf_addr). And they have
their own chain, like this:

  bsd_mbuf1 -> bsd_mbuf2 -> bsd_mbuf3
      \            \            \
    dpdk_mbuf1 -> dpdk_mbuf2 -> dpdk_mbuf3

Considering the map relationship,

- m_freem() is corresponding to rte_pktmbuf_free(), is to free the whole
  chain of mbufs.
- m_free() is corresponding to rte_pktmbuf_free_seg(), is to free the
  specified mbuf segment.

The current implementation in f-stack uses rte_pktmbuf_free() for
m_free(). This leads to mbufs, which are still in use, be freed
unexpectedly. For example, if the bsd_mbuf1 is trimed into zero length,
bsd will invoke m_free() to free the specified segment, however, the
whole mbuf chain is freed by calling rte_pktmbuf_free().

  #0 rte_pktmbuf_free (m=0x22006fb480)
  #1 in ff_dpdk_pktmbuf_free (m=0x22006fb480)
  #2 in ff_mbuf_ext_free (m=0x7ffff7f82800, arg1=0x22006fb480, arg2=0x0)
  #3 in mb_free_ext (m=0x7ffff7f82800)
  #4 in m_free (m=0x7ffff7f82800)
  #5 in sbcompress (sb=, m=0x7ffff7f82800, n=)
  #6 in sbappendstream_locked (sb=, m=0x7ffff7f82800, flags=0)

The fix is straightforward. Use the correct API for segment free.

Reported-by: Yong-Hao Zou <yonghaoz1994@gmail.com>
Signed-off-by: Jianfeng Tan <henry.tjf@antgroup.com>
2021-03-06 19:18:52 +08:00
Hawker 1d7d040e1e update comments 2021-03-06 19:18:52 +08:00
Hawker e0b370687c update comments 2021-03-06 19:18:52 +08:00
Hawker 7c80353275 update comments 2021-03-06 19:18:52 +08:00