Commit Graph

71 Commits

Author SHA1 Message Date
fengbojiang(姜凤波) d7140ab746 IPv6: FreeBSD stack and f-stack support ipv6. 2019-07-12 20:56:01 +08:00
fengbojiang(姜凤波) 4de33dfa9f remove unused code. 2019-06-27 18:21:45 +08:00
fengbojiang(姜凤波) 59bb71f60e Add pkt_tx_delay parameter in config.ini.
It should be default while handling large concurrent requests, otherwise
it will reduce the throughput.
But if there are only a little, you can set it to less than 100, even to
0, to reduce the delay of the connection.
2019-06-27 17:44:19 +08:00
fengbojiang(姜凤波) 16d80a6ddc modify RTE_MAX to RTE_ALIGN_CEIL while init mempool. 2019-06-27 12:12:59 +08:00
jfb8856606 d30ea9060e Reupgrade DPDK to 18.11. 2019-06-25 19:12:58 +08:00
fengbojiang(姜凤波) 173e66311e Merge branch 'master' into dev 2019-06-25 17:15:06 +08:00
logwang 5f73f9b957 Merge branch 'dev' into master 2019-05-21 22:19:57 +08:00
10077240 04cef02d60 use 4 spaces instead tab 2019-04-01 15:42:01 +08:00
10077240 5bf882b459 modify according to MR.Wang 2019-04-01 14:54:36 +08:00
10077240 ef5ab85936 not use mcopy when transmit from bsd to dpdk 2019-03-29 10:42:02 +08:00
johnjiang fba559f45b Merge pull request #355 from jinhao2/master
ff_traffic.tx info should save the sent packets
2019-03-18 11:07:06 +08:00
jin.hao1 49d7ad40cc recommit 2019-03-15 18:07:15 +08:00
jin.hao1 268488030d ff_traffic.tx info should save the sent packets
send_burst()  send several pkts which maybe composed by several mbufs, use rte_pktmbuf_pkt_len() to get actual length.
2019-03-15 16:18:17 +08:00
fengbojiang(姜凤波) e8591dc5c0 F-Stack's kni can work on DPDK 18.11 LTS now. 2019-03-14 17:17:58 +08:00
fengbojiang(姜凤波) ee6c3aa356 modify packet_dispatcher to support response package direct. 2019-03-08 15:12:57 +08:00
fengbojiang(姜凤波) d3f2221c0c Fix the IP/TCP/UDP csum error of txmode offloads, refer #317. 2019-01-18 18:05:18 +08:00
fengbojiang(姜凤波) 5af785ecea Revert "DPDK:upgrade to 18.11.0 LTS."
This reverts commit 8850115bd8.
2019-01-18 17:27:45 +08:00
jfb8856606 28440c506f DPDK:upgrade to 18.11.0 LTS. 2018-12-06 22:17:51 +08:00
root dfbc4ac350 Merge branch 'master' of https://github.com/F-Stack/f-stack 2018-08-20 16:46:28 +08:00
root 5523938c5b add `base_virtaddr` config. 2018-08-20 16:44:33 +08:00
zhanghaisen a8636dd5c0 fix for issue 261 2018-08-20 14:54:18 +08:00
fengbojiang c506e4369e add "idle_sleep" to reduce CPU usage when no pkts incomming. 2018-08-18 01:45:11 +08:00
fengbojiang 5a73eef15f fix a traffic bug 2018-08-17 17:42:21 +08:00
fengbojiang 03df98dea2 add traffic tool. 2018-08-16 20:29:12 +08:00
whl739 7b9d3e8700 F-Stack: disable kni module by default.
Some omissions.
2018-06-21 17:51:57 +08:00
whl739 dc42d452ae F-Stack: disable kni module by default.
This commit adds a macro `FF_KNI` to determine whether to enable kni.
In Makefile, uncomment the `FF_KNI=1`, kni will be compiled into f-stack.
2018-06-21 17:39:17 +08:00
logwang ee889fa71c Merge pull request #228 from boat0/master
make use of numa when setting up rx/tx queues
2018-06-10 22:01:56 +08:00
Xiaozhou Liu c2eceaad4c make use of numa when setting up rx/tx queues 2018-06-10 20:48:48 +08:00
whl739 867abe45fa 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".
2018-06-10 20:41:48 +08:00
chenwei 968058581b Fstack: fixbug, bad checksum would lead to memleak of dpdk mbuf 2018-05-30 10:36:16 +08:00
logwang 2bfe3f2e55 DPDK: upgrade to 17.11.2 LTS.
Changes:
1. This version is downloaded from
https://fast.dpdk.org/rel/dpdk-17.11.2.tar.xz.
2. Adapt the new interface `rte_ring_dequeue_burst`.
3. Change the type of `port_id` from uint8_t to uint16_t.
4. Just link libdpdk.a instead of the other libaries.
5. Install libnuma-dev first.
6. Update the documents.
2018-05-15 17:49:22 +08:00
logwang 39be5a505f ff_kern_timeout: optimize the timecounter.
This timecounter implementation retrieves the current time and reports it
as the equivalent number of counts from a counter incrementing at 'hz'.
2018-01-19 21:03:20 +08:00
logwang 7f4229ea8b Misc: add "extern C" in public header files. 2018-01-02 18:22:40 +08:00
logwang bc0ac4755a Fix bug: incorrect usage of `rte_pktmbuf_clone` when dispatching arp packets.
Since f-stack uses `rte_pktmbuf_clone` to copy mbuf to other lcores when dispatching arp packets, but it doesn't real copy the packet data. The buf_addr of pktmbuf is pointed to the same address.

The arp response packet is generated with the same mbuf from the request
packet, it just swaps the src and dst address, so the copied mbufs will also be changed.

What we need is a deep copy function, and the arp packets are really small, so deep copy will not harm performance too much.

Fix #53 #111 #112.
2017-12-01 17:25:47 +08:00
logwang 49e481768a Use general protocol header length in protocol filter. 2017-11-21 11:20:14 +08:00
logwang 8cfa29232a Fix #100: tcp anomaly when TSO is enabled.
1.Fix the wrong ip header length and tcp header length.
2.Recalculate the pseudo header checksum and set it to tcp header.
2017-11-20 17:07:10 +08:00
whl739 127dd473af 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.
2017-11-14 16:44:32 +08:00
Xu Jiaxuan 4b3bcd46c0 Fix bug: process input packets error if packet fragment
modified:   lib/ff_dpdk_if.c
2017-11-10 13:58:32 +08:00
logwang eb5902d97d 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.
2017-11-09 21:22:13 +08:00
logwang 3b2bd0f641 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.
2017-11-01 17:38:22 +08:00
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