Commit Graph

31 Commits (a416aa0841c762f80644123d63fce0d4df484c44)

Author SHA1 Message Date
YuYang 257bb980b4 less arp ring 2017-09-25 12:05:30 +08:00
logwang 85aab0a645 Optimize tx. 2017-09-22 17:35:50 +08:00
YuYang 80a6164c5c multiple NIC support
In current implementation, cores and ports are one to one mapped, this
PR allowed user to specify the core list used to handle single port. for
example cores 1,2,3 handle port 0 and cores 4,5,6 handle port 1.

- Add `port_list` config to dpdk section (used to specify the enabled port list)

- Add `lcore_list` config to port section(used to specify the core list mapped to that port)

- Delete `nb_ports` config in dpdk section

- Delete `port_mask` config in dpdk section
2017-09-21 12:33:25 +08:00
logwang df692c6078 Fix null pointer when `numa_on=0`. 2017-09-04 11:42:18 +08:00
ppliu1979 27fdd30224 Fix the wrong operator order in ff_rss_check function. 2017-08-30 18:29:03 +08:00
logwang a9e7dcf4da 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.
2017-08-28 17:12:07 +08:00
Andy 8fecf4dd08 user prosess lr->loop called every 100us when idle 2017-08-24 07:41:07 -04:00
logwang a1720b1d7a Merge pull request #57 from isjy/master
add top tool
2017-08-24 19:12:24 +08:00
Andy e7741141d0 add top tool 2017-08-24 02:17:34 -04:00
logwang 6a812e619b Merge branch 'master' of https://github.com/F-Stack/f-stack 2017-08-23 17:00:59 +08:00
logwang 406002113b Support nginx reload.
close #12.
For more details, see doc/F-Stack_Nginx_APP_Guide.md.
2017-08-23 16:54:32 +08:00
Tonghao Zhang 2408588520 dpdk-if: Change the TX_QUEUE_SIZE to 512.
The ring length of some NIC devices(e.g vmxnet3 ) should be
between 512-4096. We should change the TX_QUEUE_SIZE from 256 to 512
and make sure we can use the f-stack in vmxnet3.

Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
2017-08-23 01:09:32 -07:00
logwang 64abcf71e3 Add configuration item: vlan_strip 2017-08-09 16:52:16 +08:00
logwang a02c88d651 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.
2017-08-08 22:36:49 +08:00
logwang 7e048838a7 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.
2017-08-04 18:04:43 +08:00
logwang c8722d26ac Fix KNI out of memory: a typo leads rte_mbuf leak. 2017-07-04 11:47:44 +08:00
logwang 3132126c98 Merge branch master of https://github.com/F-Stack/f-stack 2017-06-14 15:38:42 +08:00
logwang 144c6bcd95 Add tool: route.
This commit ports FreeBSD `route` to F-Stack, can be used to set the route
table.
2017-06-14 15:25:35 +08:00
logwang d5f5b02c2e Fix multi ports bug: the secondary processes will not start port correctly. 2017-06-13 17:14:49 +08:00
root bed8feab33 fix KNI: Out of memory 2017-06-12 16:12:22 +08:00
logwang df6ad73146 Add tool: ifconfig.
Changes:
    Remove directory `ipc`, and add a new directory `compat`.
    Directory `compat` includes some FreeBSD source files to be compatible
        with Linux.
    Port FreeBSD ifconfig to F-Stack.
2017-06-06 16:52:52 +08:00
logwang 7abd0fb2a9 Add tool: sysctl.
This commit contains an ipc library implemented by dpdk rte_ring and
sysctl tool ported from FreeBSD.

With this commit we can get and set FreeBSD kernel state in runtime.
2017-05-23 23:13:49 +08:00
whl739 cd915f5022 Merge branch 'master' of https://github.com/F-Stack/f-stack 2017-05-17 15:18:42 +08:00
whl739 c15aae717a Fix #9: error variable i in loop. 2017-05-17 14:35:52 +08:00
logwang 1fdd2a6e8b Fix typo. 2017-05-16 16:16:10 +08:00
logwang 5e3a4c7748 Fix #7:arp ring lookup called after create. 2017-05-15 13:16:52 +08:00
logwang 8f57dbbcb5 Fix #4: nb_procs < 0 =====> proc_id < 0 2017-05-15 11:27:44 +08:00
logwang 213fa7b358 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.
2017-05-06 21:52:25 +08:00
logwang f47e38d9dd Fix kni bug.
BUG:
When set config.ini:
[kni]
enable=1
method=reject
tcp_port=80

Packets that not belond to tcp port 80 will not be transmitted to kernel.
2017-05-02 18:05:26 +08:00
logwang 627097dc92 Support VLAN Strip.
In some cases such as AWS EC2, we must strip vlan tag.
Edit the config.ini, set port.vlanstrip = 1.
2017-05-02 18:03:38 +08:00
logwang a9643ea85c init 2017-04-21 18:43:26 +08:00