Age | Commit message (Collapse) | Author | Files | Lines |
|
Avoids accumulation of io event messages when the receiver is slow to
read.
Change-Id: I3a713d339a6ac0781c010be1fbad5a7963ab02c6
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
- support eventfd based mq signaling. Based on configuration, vcl
epoll/select can use either condvars or epoll on mq eventfds.
- add vcl support for memfd segments
- vpp explicitly registers cut-through segments with apps/vcl
- if using eventfd, make ldp allow one call to libc_epoll_create. Needed
for the message queue epfd
- update svm_queue_t to allow blocking calls with eventfd signaling.
Change-Id: I064151ac370bbe29bb16c968bf4e3659c8286bea
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: Ie6171c12055cde6915856de340839f5da1b1b1da
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Have vcl poll and wait on the event message queues as opposed to
constantly polling the session fifos. This also adds event signaling to
cut through sessions.
On the downside, because we can't wait on multiple condvars, i.e., when
we have multiple message queues because of cut-through registrations, we
do timed waits.
Change-Id: I29ade95dba449659fe46008bb1af502276a7c5fd
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Configure w/ --enable-dlmalloc, see .../build-data/platforms/vpp.mk
src/vppinfra/dlmalloc.[ch] are slightly modified versions of the
well-known Doug Lea malloc. Main advantage: dlmalloc mspaces have no
inherent size limit.
Change-Id: I19b3f43f3c65bcfb82c1a265a97922d01912446e
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
Change-Id: I3c58367eec2243fe19b75be78a175c5261863e9e
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: Ib88d703bb7d4b170059960b0688352c90c5fcc39
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: Idcba72fd84128547718dd32858e8c728925a6b1d
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: I82e5239239ea24bdc97b1d59946ca0bba739f248
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
VPP-1302: VCL does not provide local and peer addresses
Change-Id: I7ff12e57799796dfeb030b181b4c24da07dc12eb
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
- Consolidate async code.
- Add macros for spinlocks to improve readability.
Change-Id: I2e0fd2b82ea76987aaf298a183d816c7d2ee0867
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: I417357b00c43b27872aa3f681335bdc1ef574eca
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: If3827828062a46f1cce43642535333f677f06e62
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
*** CID 183003: Program hangs (LOCK)
/src/vcl/vppcom.c: 2988 in vppcom_session_accept()
Change-Id: I123b73198d305fb0226516942caa410d3647a6bc
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: Ic59355683b581945d10a2df97d9b2deae87a998e
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
Change-Id: Ie2e8f4ec3a7ec1018e5f9ca6f28f8cb18beaa814
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
- added vce_get_event_handler()
- added check for event before blocking on mutex in vppcom_session_accept()
Change-Id: I8e19ea5fcbaa40279cb28152b9923ca8f1328670
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
- simplified event handling and unregister
- removed fixed need to bit flip event hash key
- added spinlock for client_session_fifo (was using sessions_lockp)
- removed redundant vars
Change-Id: I3c7645da660fb5560efdc4e9347e105df9650a16
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
Change-Id: I9de8dd822494abe1b8701a72a9b8bede34dea8dc
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: I5f0f3b07a7aa3f243c3d44a9a15cf0670dbb2d46
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
- provides async handling of events such as accept/connect
Change-Id: Id95947237ef16629371b3c99822059d423e2f918
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
Change-Id: Iaef2fe4b8c6b57d54ef6309423c9a0acba8a2f89
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: I089dd3855fc21b26a125ee392c7548d44b5732b8
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
- server_[tx|rx]_fifo renamed to [tx|rx]_fifo
- is_cut_thru etc no longer required, vpp session layer works it out
- logic to flip tx/rx fifos in vppcom no longer required
- allocation of memory in vppcom no longer required (if(0) at moment for testing)
- clean up of some uneeded vars
- fixstyle
Change-Id: I266561a6e4b08edb875c98582b22616c295d5a81
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
- Configure vpp api prefix using VCL_API_PREFIX
environment variable.
- Prepend api prefix to vpp api filename when
connecting to vpp.
- Fix stale vcl_cfg ptr after heap allocation.
- Cleanup misleading warning messages wrt.
reading the vcl config file.
Change-Id: I908c9b567ff4f6f0c21ae43a4627a1a3202a3290
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: I5daff79a31f2db33ed55edd54ce043a61f6c6209
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
Change-Id: I6d91c8051de786fb8781cd0750ea9c350036b306
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: I7834e676c23a697a12a6e06111c68450ba787fc9
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
- use valloc as a 'central' segment baseva manager
- use per segment manager segment pools and use rwlocks to guard them
- add session test that exercises segment creation
- embed segment manager properties into application since they're shared
- fix rw locks
Change-Id: I761164c147275d9e8a926f1eda395e090d231f9a
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: Idc3e8f4ee69d8871534a94d4f485e695fac81756
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
- update segment manager and session api to work with both flavors of
ssvm segments
- added generic ssvm slave/master init and del functions
- cleanup/refactor tcp_echo
- fixed uses of svm fifo pool as vector
Change-Id: Ieee8b163faa407da6e77e657a2322de213a9d2a0
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: I8303859ef65552f64c94525c9b1112ec9a1a88d0
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
Change-Id: I625b219fe6ffd21f87a163244569a4075cd432a4
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: Ica8470aaf581e69a74fe4f0fc0296ff3fb6f87d3
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
Change-Id: I288ecd7f39422ed900a5c6fbaf9c939ab5c06880
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
- Refactor LDP to be stateless.
- Use upper bit of fd to identify
tag as VCL session.
- Clean up debug output.
- Add VCOM config env vars for
app name and sid bit.
- Add VCL get/set attributes
- Add VCL poll implementation.
Change-Id: I4603ae88254c460a024fdb79fe91c6d1ef9bc7b9
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: I61557f9ad9ca2a033ba01bd25a7a8cd4d5ce092e
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
Change-Id: I972b7d264e612ab04eb4671253f3654a76578e1c
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
- separate client/server code for both memory and socket apis
- separate memory api code from generic vlib api code
- move unix_shared_memory_fifo to svm and rename to svm_fifo_t
- overall declutter
Change-Id: I90cdd98ff74d0787d58825b914b0f1eafcfa4dc2
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
- WIP: taking a LARGE patch and breaking into smaller chunks
- large LDP/VCL refactor in progress. This minimizes rebase.
- LARGE patch removed clib_warning()s erroneously
- VPPCOM_DEBUG checks duplicated deliberately as clib_warning()
usage will be refactored.
Change-Id: I5905ed074187fe22c9f1320fd07ffcaab3a0f63c
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
- Fix broken unit test code.
- Check for NULL ptr in vppcom_session_attr()
VPPCOM_ATTR_GET_*_ADDR endpoint parameters.
Change-Id: I01169edce098ee855a9cba08893c2b08c93ea6c3
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: I39d21d15677f57e10b69b8842f2cbca277abddf0
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: I174ba43380e97104f6721af647c699922e996f5a
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: Ibe3e6cea0ea2fc700ef0a284c8ea5fe5d5476514
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: If988b8ad33465819d0e5ab9ef92ffd69b3c7851c
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: I5afd840c07714fc457bb37f8f40e1fcc0bd11314
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Change-Id: I753e94ed4630ad32b7c496cad3a3ba88a5cbd1f6
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
- Refactor debug output to include vpp handle associated
with session id where appropriate.
- Fix vcom_connect return value on error.
- Refactor vcom_socket_epoll_pwait().
- Fix sock_test_server/client connect failure handling.
Change-Id: I2649596aa4b8a77d9bd876409a76810cb2785797
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Change-Id: I810cbcd13f73c0376c6be64ce2d11404bdd1755f
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
- Refactor session disconnect/close state
transitions. Only remove session state
when app calls close(). Add HUP/reset
feedback by returning ECONNRESET.
- Update debug messages.
- Use VCL_LOCK_AND_GET_SESSION macro more
extensively
Change-Id: I23d372834b901a6726e6d6c1061df73ad967882f
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|