Commit Graph

257 Commits

Author SHA1 Message Date
yanya 98f1f12dc7 F-stack:fix bug, if ff_veth_softc malloc faild, memory should no be read. 2018-06-11 10:53:38 +08:00
johnjiang c46b4de422
Release-1.12 tag. 2018-06-01 19:52:59 +08:00
logwang df2f08ebcb
Merge pull request #220 from chadwill/master
libfstack: fixbug, bad checksum would lead to memleak of dpdk mbuf
2018-05-30 10:48:02 +08:00
chenwei 26d3eba6b1 Fstack: fixbug, bad checksum would lead to memleak of dpdk mbuf 2018-05-30 10:36:16 +08:00
whl739 6285fb0406 Fix the permission of dpdk's shell files 2018-05-28 22:07:28 +08:00
whl739 e793248e6a Update .gitignore. 2018-05-28 21:46:53 +08:00
whl739 0633ebac40 Fix compling error in the newer version of gcc and openssl.
`RAND_pseudo_bytes` is deprecated in the newer version of openssl.
Use `RAND_bytes` instead.
2018-05-28 21:05:36 +08:00
unknown 8ba865bafa Update redis document. 2018-05-28 17:11:06 +08:00
logwang e850874db3
Merge pull request #214 from chadwill/master
Nginx: fixbug, hijack `getpeername` and `getsockname`.
2018-05-28 12:03:07 +08:00
chenwei 46de49a1b5 Nginx: fixbug, hijack `getpeername` and `getsockname`. 2018-05-27 12:29:26 +08:00
logwang 964cd40470 travis-ci:fix the permission of dpdk's shell files. 2018-05-15 20:43:22 +08:00
logwang ab2ade86dc travis-ci: update the dependences and clean cache. 2018-05-15 20:17:42 +08:00
logwang 76c59264b6 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 2e160f1313 kern_timeout: decrease the cpu usage of timer.
There's a bug of last version, every tick, the timer will traverse all the
entries in callwheel, when lots of connections comming, the callout
process will use lots of cpu resources.

This commit fixes it, every tick, check the bucket which is hashed with current
tick, if there are entries, compare the callout tick, and invoke
callbacks.
2018-05-10 17:53:18 +08:00
logwang 196bdd01f1
Merge pull request #197 from chadwill/master
Nginx: fixbug, support process `NGX_PROCESS_HELPER` .e.g cache, refer to #142
2018-05-04 17:34:46 +08:00
chenwei 57cbfd9c19 Nginx: fixbug, support `NGX_PROCESS_HELPER` .e.g cache, refer to #142 2018-05-04 17:02:02 +08:00
logwang 8238502f09
Merge pull request #194 from ouliuquan/patch-1
Update vnode_if.src
2018-04-27 18:08:14 +08:00
ouliuquan edb59aec69
Update vnode_if.src
Missing end-of-line ; in " IN struct task *task;   ".
2018-04-27 17:42:22 +08:00
logwang 90f6413391
Merge pull request #192 from chadwill/master
Update F-Stack_Nginx_APP_Guide.md
2018-04-26 15:36:42 +08:00
陈威 9b563dfe24
Update F-Stack_Nginx_APP_Guide.md
The context of `schedule_timeout` is `main`.
2018-04-26 14:35:04 +08:00
logwang 6e72bce389
Merge pull request #191 from jbwyatt4/patch-1
More grammar and sentence rewrites
2018-04-23 15:06:14 +08:00
jbwyatt4 e09daaff88
spelling error 2018-04-20 12:25:22 -07:00
jbwyatt4 bf11d8a164
More grammar and sentence rewrites 2018-04-20 10:58:32 -07:00
logwang a4612ce66c
Merge pull request #190 from jbwyatt4/master
Grammar and other fixes
2018-04-20 10:50:10 +08:00
jbwyatt4 457ddce291
Grammar and other fixes 2018-04-19 05:45:35 -07:00
logwang 205092b25b
Merge pull request #189 from chadwill/master
Nginx: fixbug, hijack `__recv_chk`.
2018-04-16 19:47:33 +08:00
chenwei 702a9cad2d Nginx: fixbug, hijack `__recv_chk`.
Nginx maybe call `__recv_chk` with https because of _FORTIFY_SOURCE.
Refer to #179.
See _FORTIFY_SOURCE (since glibc 2.3.4)
2018-04-16 18:52:58 +08:00
logwang 559f532025
Merge pull request #186 from chadwill/master
Nginx: bugfix, shouldnot pollute `socket type`
2018-04-10 19:18:33 +08:00
chenwei f2602fcff6 Nginx: bugfix, shouldnot pollute `socket type` 2018-04-10 17:28:10 +08:00
logwang 302113aba2
Merge pull request #183 from chadwill/master
Nginx: some logs are no longer needed on nginx-fstack.
2018-04-09 16:36:21 +08:00
chenwei 6ef175012c Nginx: some logs are no longer needed on nginx-fstack. 2018-04-09 15:42:21 +08:00
logwang a64ef10d72
Merge pull request #182 from chadwill/master
API: [BugFix] On success, `ff_sendmsg` return the number of chars sent.
2018-04-09 11:55:13 +08:00
chenwei 8ad1f163fa API: [BugFix] On success, `ff_sendmsg` return the number of chars sent. 2018-04-09 11:22:26 +08:00
logwang 575b547703
Merge pull request #171 from chadwill/master
Nginx :  a more friendly hint. Refer to #169.
2018-03-22 15:47:00 +08:00
陈威 778eaa4b45
Nginx : a more friendly hint
If the f-stack primary process hasn't been initialized successful, the nginx master gives a more friendly hint.
2018-03-22 15:41:17 +08:00
logwang 86b1f8131c
Merge pull request #170 from yangqiang71/master
🐛 ai->ai_addr should be (struct sockaddr *)(ai+1)
2018-03-19 11:29:23 +08:00
root d151f2e185 🐛 ai->ai_addr should be (struct sockaddr *)(ai+1) 2018-03-19 10:40:01 +08:00
logwang f1e85c1896
Merge pull request #169 from chadwill/master
Nginx: bugfix, secondary worker should be spawned after primary completing initialization of fstack(dpdk)
2018-03-12 19:46:23 +08:00
chenwei 7703b7e50a Nginx: bugfix, secondary worker should be spawned after primary worker completing initialization of fstack(dpdk)
When starting nginx with mutil-processes, secondary worker may be spawned before primary worker completing initialization of fstack(dpdk), so errors occurred, for one, in kni.
2018-03-12 17:13:02 +08:00
logwang 6b34d16078 Set the default configuration `kern.ncallout`(number of entries in
callwheel and size of timeout() preallocation).
2018-03-01 16:07:35 +08:00
logwang eba4f71434
Merge pull request #166 from chadwill/master
Nginx : bugfix, changing `listening socket type` may lead to errors.
2018-03-01 16:03:28 +08:00
chenwei 65c723a426 Nginx : bugfix, changing `listening socket type` in cycle may lead to errors.
Uses a temporaty variable to hold of potentially changing socket type but
does not modify `listening socket type` in cycle.
2018-03-01 15:39:33 +08:00
logwang 7b05e9bf4e
Merge pull request #161 from chadwill/master
Nginx : directive proxy_kernel_network_stack
2018-02-24 18:03:29 +08:00
chenwei 42f547056e Nginx: revise indent. 2018-02-24 17:08:59 +08:00
chenwei 76e16b226f Nginx : add a creation flag SOCK_FSTACK(create-fstack-socket) for socket()
1. `#define SOCK_FSTACK 0x1000`
2. when we want to create socket by fstack, we code like this :
`s = ngx_socket(domain, type | SOCK_FSTACK , protocol);`
2018-02-24 16:45:10 +08:00
陈威 edbcaf6eef
Update F-Stack_Nginx_APP_Guide.md 2018-02-09 20:09:05 +08:00
陈威 38120bf0aa
Merge pull request #1 from chadwill/develop
Nginx :directive ```proxy_kernel_network_stack```
2018-02-06 01:56:24 -06:00
logwang 80b2d7d52b
Merge pull request #159 from chadwill/master
Nginx :  ngx_configure_listening_sockets and hijack `recvmsg`
2018-02-06 15:22:14 +08:00
chenwei d1d95d5185 Nginx : directive proxy_kernel_network_stack
1. Add a new directive proxy_kernel_network_stack :
    Syntax: 	proxy_kernel_network_stack on | off;
    Default: 	proxy_kernel_network_stack off;
   Context: 	http, stream, mail, server
  This directive is available only when NGX_HAVE_FF_STACK is defined.
  Determines whether proxy should go throught kernel network stack or fstack.
2.Update F-Stack_Nginx_APP_Guide.md
2018-02-05 15:55:20 +08:00
chenwei b60bba339e API : ff_sendmsg, use transient variables to avoid polluting user's data. 2018-02-02 17:58:17 +08:00