History log of /f-stack/lib/ff_api.h (Results 1 – 25 of 26)
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 ...


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

Update LICENCE.


Revision tags: v1.21.1
# 71d12233 29-Jan-2021 fengbojiang <[email protected]>

modify `struct linux_sockaddr` same to `struct sockaddr` in linux.


Revision tags: v1.21
# aa61e4b5 22-Jan-2021 fengbojiang(姜凤波) <[email protected]>

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.


# 8d21adc4 02-Sep-2020 fengbojiang <[email protected]>

User APP can use AF_INET6/PF_INET6 directly whether call ff socket or linux API, such as inet_ntoa/inet_aton.


Revision tags: v1.20, v1.13
# 9e60a85f 15-Jul-2019 root <[email protected]>

Fix define PF_INET6_LINUX


# d7140ab7 12-Jul-2019 fengbojiang(姜凤波) <[email protected]>

IPv6: FreeBSD stack and f-stack support ipv6.


# d9e0c21a 25-Jun-2019 fengbojiang(姜凤波) <[email protected]>

Add dispatch API reference.


# 8218e37d 25-Jun-2019 fengbojiang(姜凤波) <[email protected]>

Add dispatch API reference.


# ee6c3aa3 08-Mar-2019 fengbojiang(姜凤波) <[email protected]>

modify packet_dispatcher to support response package direct.


# c6062183 08-Mar-2019 fengbojiang(姜凤波) <[email protected]>

modify packet_dispatcher to support response package direct.


# dbbea7ca 10-Jun-2018 whl739 <[email protected]>

Misc: some updates.

1.add interface `ff_dup` and `ff_dup2`.
2.add interface `ff_ioctl_freebsd`/`ff_getsockopt_freebsd`/`ff_setsockopt_freebsd` for tools.
3.initial parameter `proc-type` can be NULL,

Misc: some updates.

1.add interface `ff_dup` and `ff_dup2`.
2.add interface `ff_ioctl_freebsd`/`ff_getsockopt_freebsd`/`ff_setsockopt_freebsd` for tools.
3.initial parameter `proc-type` can be NULL, default "auto".

show more ...


# 867abe45 10-Jun-2018 whl739 <[email protected]>

Misc: some updates.

1.add interface `ff_dup` and `ff_dup2`.
2.add interface `ff_ioctl_freebsd`/`ff_getsockopt_freebsd`/`ff_setsockopt_freebsd` for tools.
3.initial parameter `proc-type` can be NULL,

Misc: some updates.

1.add interface `ff_dup` and `ff_dup2`.
2.add interface `ff_ioctl_freebsd`/`ff_getsockopt_freebsd`/`ff_setsockopt_freebsd` for tools.
3.initial parameter `proc-type` can be NULL, default "auto".

show more ...


Revision tags: v1.12
# 23742d21 27-Dec-2017 logwang <[email protected]>

Remove the unusable api `ff_socketpair`.

Since F-Stack doesn't support AF_UNIX. ff_socketpair couldn't work and
should be removed.


# 8740605f 27-Dec-2017 logwang <[email protected]>

Remove the unusable api `ff_socketpair`.

Since F-Stack doesn't support AF_UNIX. ff_socketpair couldn't work and
should be removed.


# 3ce9eefd 08-Dec-2017 chenwei <[email protected]>

Nginx: support kernel network stack, so we can do what fstack can't do,
e.g. unix socket, ipc (with APP on kernel network stack), packet from kernel network stack.
1. Add a new directive kernel_netw

Nginx: support kernel network stack, so we can do what fstack can't do,
e.g. unix socket, ipc (with APP on kernel network stack), packet from kernel network stack.
1. Add a new directive kernel_network_stack :
Syntax: kernel_network_stack on | off;
Default: kernel_network_stack off;
Context: http, server
This directive is available only when NGX_HAVE_FF_STACK is defined.
Determines whether server should run on kernel network stack or fstack.
2. Use a simpler and more effective solution to discriminate fstack fd(file descriptor, only socket for now) from kernel fd.

show more ...


# 70bb2888 08-Dec-2017 chenwei <[email protected]>

Nginx: support kernel network stack, so we can do what fstack can't do,
e.g. unix socket, ipc (with APP on kernel network stack), packet from kernel network stack.
1. Add a new directive kernel_netw

Nginx: support kernel network stack, so we can do what fstack can't do,
e.g. unix socket, ipc (with APP on kernel network stack), packet from kernel network stack.
1. Add a new directive kernel_network_stack :
Syntax: kernel_network_stack on | off;
Default: kernel_network_stack off;
Context: http, server
This directive is available only when NGX_HAVE_FF_STACK is defined.
Determines whether server should run on kernel network stack or fstack.
2. Use a simpler and more effective solution to discriminate fstack fd(file descriptor, only socket for now) from kernel fd.

show more ...


Revision tags: v1.11
# b37139ca 14-Nov-2017 whl739 <[email protected]>

Add tool: ipfw.

ipfw -- interface for firewall, packet scheduler, NAT and so on.

It is comprised of several components: the kernel firewall filter rule processor and its integrated packet accountin

Add tool: ipfw.

ipfw -- interface for firewall, packet scheduler, NAT and so on.

It is comprised of several components: the kernel firewall filter rule processor and its integrated packet accounting facility, the logging facility, NAT, a forward facility, a bridge facility, and an ipstealth facility.
Note that the `dummynet` traffic shaper is not merged.

show more ...


# 127dd473 14-Nov-2017 whl739 <[email protected]>

Add tool: ipfw.

ipfw -- interface for firewall, packet scheduler, NAT and so on.

It is comprised of several components: the kernel firewall filter rule processor and its integrated packet accountin

Add tool: ipfw.

ipfw -- interface for firewall, packet scheduler, NAT and so on.

It is comprised of several components: the kernel firewall filter rule processor and its integrated packet accounting facility, the logging facility, NAT, a forward facility, a bridge facility, and an ipstealth facility.
Note that the `dummynet` traffic shaper is not merged.

show more ...


# eb5902d9 09-Nov-2017 logwang <[email protected]>

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

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.

show more ...


# 3b2bd0f6 01-Nov-2017 logwang <[email protected]>

Add tool: ngctl.

ngctl -- netgraph control utility.
The ngctl utility creates a new netgraph node of type socket which can be used to issue netgraph commands.


# a02c88d6 08-Aug-2017 logwang <[email protected]>

Simplify startup arguments and add ff_fdisused.

Changes:
1.Simplify f-stack startup arguments:"--conf, --proc-type, --proc-id".
2.add a function `ff_fdisused` to check if fd is used in f-stack.


# 7e048838 04-Aug-2017 logwang <[email protected]>

Add API: ff_gettimeofday.

Since f-stack run with polling mode, nginx will call gettimeofday every loop, and cost a lot.
With this commit, f-stack will update current timespec periodically in
ff_hard

Add API: ff_gettimeofday.

Since f-stack run with polling mode, nginx will call gettimeofday every loop, and cost a lot.
With this commit, f-stack will update current timespec periodically in
ff_hardclock_job. And ff_gettimeofday will get this value.
In nginx, hijack gettimeofday to call ff_gettimeofday.

show more ...


# 144c6bcd 14-Jun-2017 logwang <[email protected]>

Add tool: route.

This commit ports FreeBSD `route` to F-Stack, can be used to set the route
table.


# 1a78ce8e 13-Jun-2017 Ron <[email protected]>

epoll optimization, add ff_kevent_do_each


12