History log of /f-stack/lib/ff_veth.c (Results 1 – 21 of 21)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1f5a5310 15-Apr-2022 fengbojiang <[email protected]>

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 scena

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.

show more ...


# 5c84990d 30-Oct-2021 Ibtisam Tariq <[email protected]>

Add support to set interface name of each port in `config.ini`.


# 2317ada5 18-Sep-2021 fengbojiang <[email protected]>

Update LICENCE.


Revision tags: v1.21.1
# 22ce4aff 31-Aug-2021 fengbojiang <[email protected]>

FreeBSD: Upgrade to FreeBSD-releng-13.0 compiled, to be tested.


# 503a15e0 16-Jun-2021 fengbojiang <[email protected]>

Support set multi virtual IPv4/IPv6 net addrs in `config.ini`, instead of use `ff_ifconfig`.

Close #421.


Revision tags: v1.21
# a25f323c 21-Jan-2021 zengyi1001 <[email protected]>

Add IPv6 net addr parameters in config

Co-authored-by: fengbojiang <[email protected]>


# d9017204 15-Jan-2021 freak82 <Pavel Vazharov>

Fix #568, Insufficient condition in ff_rte_frm_extcl function.


# fa552ee2 27-Nov-2020 Jianfeng Tan <[email protected]>

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

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 <[email protected]>
Signed-off-by: Jianfeng Tan <[email protected]>

show more ...


Revision tags: v1.20, v1.13
# f66f9458 09-Jul-2019 HongBo Long <[email protected]>

set freebsd mbuf vlan information when the vlan_strip is enable && get ether_type error when the vlan_strip is disabled


# 49056e3a 09-Jul-2019 HongBo Long <[email protected]>

set freebsd mbuf vlan information when the vlan_strip is enable && get ether_type error when the vlan_strip is disabled


# e36f312d 01-Apr-2019 10077240 <[email protected]>

use 4 spaces instead tab


# 04cef02d 01-Apr-2019 10077240 <[email protected]>

use 4 spaces instead tab


# a5c480ea 01-Apr-2019 10077240 <[email protected]>

modify according to MR.Wang


# 5bf882b4 01-Apr-2019 10077240 <[email protected]>

modify according to MR.Wang


# d817ab20 29-Mar-2019 10077240 <[email protected]>

not use mcopy when transmit from bsd to dpdk


# ef5ab859 29-Mar-2019 10077240 <[email protected]>

not use mcopy when transmit from bsd to dpdk


# 98f1f12d 08-Jun-2018 yanya <[email protected]>

F-stack:fix bug, if ff_veth_softc malloc faild, memory should no be read.


# b0c07b24 08-Jun-2018 yanya <[email protected]>

F-stack:fix bug, if ff_veth_softc malloc faild, memory should no be read.


Revision tags: v1.12, v1.11
# a9e7dcf4 28-Aug-2017 logwang <[email protected]>

Fix ff_rss_check function bug.

1.Close #22.
2.Configure the HW indirection table when initializing port.
3.Use several LSBs of the rss hash result according to reta_size when
calculating queue index.


# 213fa7b3 06-May-2017 logwang <[email protected]>

Support RX/TX offload according to HW's capability

RX: VLAN strip, CRC strip, IP/TCP/UDP checksum.
TX: IP/TCP/UDP checksum, TSO.

Note that TSO has a problem: when enable TSO,
F-Stack is much slower

Support RX/TX offload according to HW's capability

RX: VLAN strip, CRC strip, IP/TCP/UDP checksum.
TX: IP/TCP/UDP checksum, TSO.

Note that TSO has a problem: when enable TSO,
F-Stack is much slower(Temporarily not resolved).
So TSO is disabled by default.
Edit config.ini to enable it.

show more ...


# a9643ea8 21-Apr-2017 logwang <[email protected]>

init