Commit Graph

180 Commits

Author SHA1 Message Date
Hawker 2474e16370
Bugfix: support rte_flow_isolate for multi lcore (#562)
* Bugfix: support rte_flow_isolate

init flow isolate mode only run once
2020-11-25 11:31:04 +08:00
fengbojiang 62653ab1a5 Fix bug of `sysctl` in tools/compat/sysctl.c.
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).
2020-11-21 21:27:55 +08:00
fengbojiang 32ff8fda83 Fix bug of `sysctl` in tools/compat/sysctl.c.
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).
2020-11-21 21:27:55 +08:00
fengbojiang 1b5649a396 Add configuration options `symmetric_rss` to set whether to use symmetric RSS. 2020-08-30 00:55:08 +08:00
fengbojiang f41205e9f3 Add configuration options `symmetric_rss` to set whether to use symmetric RSS. 2020-08-30 00:55:08 +08:00
johnjiang 37a7c72f09 DPDK: upgrade to DPDK 19.11.2(LTS). 2020-06-18 16:55:50 +00:00
johnjiang 4418919fe2 DPDK: upgrade to DPDK 19.11.2(LTS). 2020-06-18 16:55:50 +00:00
johnjiang e27c5f4e3a Merge branch 'dev' into feature-knictl 2020-05-21 10:56:12 +08:00
johnjiang 632c79327e
Merge branch 'dev' into feature-knictl 2020-05-21 10:56:12 +08:00
pengtian 0b1e7c031e #add knictl support 2020-05-14 18:30:34 +08:00
pengtian 47507c1510 #add knictl support 2020-05-14 18:30:34 +08:00
jinhao2 80d23aa1da update indent size 2020-01-08 21:13:12 +08:00
jinhao2 4dfcdbcc8d update indent size 2020-01-08 21:13:12 +08:00
jinhao2 ce40395e0c dump packets by core, instead of by ports;without fopen/fclose while dumping 2020-01-08 12:09:40 +08:00
jinhao2 819aafb684 dump packets by core, instead of by ports;without fopen/fclose while dumping 2020-01-08 12:09:40 +08:00
Jayath Sathyanarayana 316f2a31b4 Merge patch of Configuration param to skip "TX checksum offload", refer #448. 2019-11-04 13:10:27 +08:00
Jayath Sathyanarayana 3a3642c7f7 Merge patch of Configuration param to skip "TX checksum offload", refer #448. 2019-11-04 13:10:27 +08:00
fengbojiang(姜凤波) d39775a93b Fix mac set bug. 2019-09-04 21:37:56 +08:00
fengbojiang(姜凤波) c9b3c75a23 Fix mac set bug. 2019-09-04 21:37:56 +08:00
fengbojiang(姜凤波) 5fbf4a15eb Bonding: supported. but it can't work in multi-processes, to be fix. 2019-09-04 21:17:10 +08:00
fengbojiang(姜凤波) c0f666848d Bonding: supported. but it can't work in multi-processes, to be fix. 2019-09-04 21:17:10 +08:00
fengbojiang(姜凤波) 1e14958312 packet_dispatcher support vlan. 2019-08-06 22:19:12 +08:00
fengbojiang(姜凤波) aa18b738d4 packet_dispatcher support vlan. 2019-08-06 22:19:12 +08:00
fengbojiang(姜凤波) 19dac219c8 Merge branch 'master' into dev
Fix bug of kni while set `vlan_strip=0`.
2019-08-06 22:11:54 +08:00
fengbojiang(姜凤波) 67c27ffe02 Merge branch 'master' into dev
Fix bug of kni while set `vlan_strip=0`.
2019-08-06 22:11:54 +08:00
fengbojiang(姜凤波) a20fd2ae31 Fix bug of kni while set `vlan_strip=0`. 2019-08-06 22:05:27 +08:00
fengbojiang(姜凤波) 3bb4314f74 Fix bug of kni while set `vlan_strip=0`. 2019-08-06 22:05:27 +08:00
fengbojiang(姜凤波) 1068dedc41 Modified vlan code. 2019-07-29 15:29:24 +08:00
fengbojiang(姜凤波) a08b952138 Modified vlan code. 2019-07-29 15:29:24 +08:00
HongBo Long 86d95e99f0 set freebsd mbuf vlan information when the vlan_strip is enable && get ether_type error when the vlan_strip is disabled 2019-07-29 15:27:40 +08:00
HongBo Long f66f945850 set freebsd mbuf vlan information when the vlan_strip is enable && get ether_type error when the vlan_strip is disabled 2019-07-29 15:27:40 +08:00
fengbojiang(姜凤波) c6dae7f8fe Merge branch 'master' into dev
vlan bug fix
2019-07-29 15:08:46 +08:00
fengbojiang(姜凤波) faeec574ca Merge branch 'master' into dev
vlan bug fix
2019-07-29 15:08:46 +08:00
fengbojiang(姜凤波) ab2d620de6 Modified vlan code. 2019-07-29 14:47:11 +08:00
fengbojiang(姜凤波) 00c65d220e Modified vlan code. 2019-07-29 14:47:11 +08:00
johnjiang 185c857ebb Merge pull request #414 from jinhao2/dev
support more than 32 processes; support 52bytes rsskey; compile failed.
2019-07-29 13:58:21 +08:00
johnjiang 2479a83f3c
Merge pull request #414 from jinhao2/dev
support more than 32 processes; support 52bytes rsskey; compile failed.
2019-07-29 13:58:21 +08:00
jin.hao1 fd7b974f08 Update ff_dpdk_if.c
update codes.
2019-07-29 08:43:45 +08:00
jin.hao1 b467d9c428
Update ff_dpdk_if.c
update codes.
2019-07-29 08:43:45 +08:00
jin.hao1 a6e2dd0ebd Update ff_dpdk_if.c
code aligned.
2019-07-29 08:42:28 +08:00
jin.hao1 fa32b23ec3
Update ff_dpdk_if.c
code aligned.
2019-07-29 08:42:28 +08:00
fengbojiang cea0be3c81 Tools: update top. 2019-07-25 22:33:42 +08:00
fengbojiang 0f5432bb05 Tools: update top. 2019-07-25 22:33:42 +08:00
fengbojiang(姜凤波) a8ea1bed90 Tools: All tools can work in parallel now. 2019-07-25 17:19:28 +08:00
fengbojiang(姜凤波) 6194fcd20a Tools: All tools can work in parallel now. 2019-07-25 17:19:28 +08:00
10077240 c005dd8b8e support more than 32 processes; support 52bytes rsskey; compile failed. 2019-07-25 11:27:30 +08:00
10077240 34e766d2b6 support more than 32 processes; support 52bytes rsskey; compile failed. 2019-07-25 11:27:30 +08:00
fengbojiang(姜凤波) 7cb21a2b2b IPv6: support multi-processes, deep copy NDP packet and dispatch. 2019-07-17 17:31:47 +08:00
fengbojiang(姜凤波) 10b909a1b3 IPv6: support multi-processes, deep copy NDP packet and dispatch. 2019-07-17 17:31:47 +08:00
fengbojiang(姜凤波) e499fe2b2a Merge branch 'dev' of https://github.com/F-Stack/f-stack into dev 2019-07-12 20:58:31 +08:00
fengbojiang(姜凤波) 6bbb2125dc Merge branch 'dev' of https://github.com/F-Stack/f-stack into dev 2019-07-12 20:58:31 +08:00
fengbojiang(姜凤波) adfdf56113 IPv6: FreeBSD stack and f-stack support ipv6. 2019-07-12 20:56:01 +08:00
fengbojiang(姜凤波) d7140ab746 IPv6: FreeBSD stack and f-stack support ipv6. 2019-07-12 20:56:01 +08:00
HongBo Long 2a7631a6bc set freebsd mbuf vlan information when the vlan_strip is enable && get ether_type error when the vlan_strip is disabled 2019-07-09 20:02:42 +08:00
HongBo Long 49056e3ae7 set freebsd mbuf vlan information when the vlan_strip is enable && get ether_type error when the vlan_strip is disabled 2019-07-09 20:02:42 +08:00
root 5910503df7 fix the issue that set the incorrect crc_strip flag. 2019-07-05 14:45:00 +08:00
root e4b4439165 fix the issue that set the incorrect crc_strip flag. 2019-07-05 14:45:00 +08:00
fengbojiang(姜凤波) dcc64c7196 remove unused code. 2019-06-27 18:21:45 +08:00
fengbojiang(姜凤波) 4de33dfa9f remove unused code. 2019-06-27 18:21:45 +08:00
fengbojiang(姜凤波) ad241aff99 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(姜凤波) 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(姜凤波) 7f9cfd7ec2 modify RTE_MAX to RTE_ALIGN_CEIL while init mempool. 2019-06-27 12:12:59 +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