Andreas Beckmann
5aa9ad5fdc
MT#55283 fix dkms comment
Ref: https://bugs.debian.org/1101804
Change-Id: Ide293f0b6f6f715d8ea58e38fa85586d44b4c996
9 months ago
Andreas Beckmann
cc10df6314
MT#55283 dkms.conf: declare BUILD_EXCLUSIVE_KERNEL_MIN
Ref: https://bugs.debian.org/1101804
Change-Id: Idda0701ee08887470917741a96a91ae4baa76f87
9 months ago
Richard Fuchs
094c3d93d2
MT#55283 report correct error
Change-Id: I102a52434581569c04f255a3fd09a39599e3fff2
9 months ago
Richard Fuchs
8e1bbc24df
MT#55283 allow stack storage for dummy uring send
Change-Id: Iae5067f7e8bd492f10db946160d2c4af54c2fc2b
9 months ago
Richard Fuchs
dd91f0ec11
MT#55283 centralise uring methods
Introduce struct to keep uring-specific thread-local method pointers
Change-Id: I7b0d1fd82cf5f3d114e8072553cb74054ac7e133
9 months ago
Richard Fuchs
f090376d9a
MT#55283 move defines
to a more appropriate place to remove an otherwise unneeded dependency
Change-Id: If82707e937a9102de1a405a25f7f3f436df878e6
9 months ago
Richard Fuchs
6c19b19069
MT#55283 type safety for uring allocs
Change-Id: I1f1e49b986f7a2cd83b898167e0c314b8862bb69
9 months ago
Richard Fuchs
4146d0f60b
MT#55283 convert log info stack to array
Change-Id: I585c1e0a4aba4b53aaf1cd1db591a41f7e23939a
9 months ago
Richard Fuchs
bcbe751dec
MT#55283 make bufferpool (mostly) lock-free
Change-Id: I9c6803c3b01deacafc20bcca4c6ddd89fd69d3e9
10 months ago
Donat Zenichev
746c68de45
MT#62272 moh: document new config option `moh-prevent-double-hold`
Add a documentation to describe a usage
of `moh-prevent-double-hold`.
Change-Id: I2df2900c2934b15837fd8b12fc639ba746b153fa
9 months ago
Donat Zenichev
37afe18840
MT#62272 auto-daemon-tests-moh: allocate different ports for sockets
For each new MoH test take a new pair of ports.
Change-Id: I980707da44764d629ee323f95b2c5c133b7febfb
9 months ago
Donat Zenichev
c420a17c3b
MT#62272 moh: add double hold test
Test double hold case.
Change-Id: I136eef73f63d0a3814fe220a1fe95f41d6d44d18
9 months ago
Donat Zenichev
57e095eb43
MT#62272 auto-daemon-tests-moh: use text config
Instead of start-up options just use the text
file for configuring things, easier and simpler to keep.
Additionally: introduced config options:
- `moh-attr-name = rtpengine-hold`
- `moh-prevent-double-hold = false`
Fix tests accordingly.
Change-Id: I128b531af6a21623105e5933f8b0b572fdc5620a
9 months ago
Donat Zenichev
254dee8ae9
MT#62272 moh: consider `moh-attr-name` as generic
To be able to keep on passing it through,
to let all other further rtpengine instances see it.
Change-Id: Ia0b6d90b9e54ab09a7a99bd95228b9bddd4e466b
9 months ago
Donat Zenichev
9a3c54a523
MT#62272 Introduce `moh-prevent-double-hold` config option
Protects against double MoH played,
e.g. when inadvertently two rtpengine instances try to trigger MoH.
This gives a clue to the current rtpengine instance,
that another one already started MoH for this call.
By default is set to false.
Change-Id: I7cc36a177b0ce1bdb64ff8b42bf31f13fb1e4c91
9 months ago
Richard Fuchs
26072ed6a1
MT#55283 support CFLAGS in str hash helper
Fixes #1919
Change-Id: Ibac4475c96063b69868546e54e27f9f61b7b909b
9 months ago
Richard Fuchs
95f75d690b
MT#55283 use embedded links in bufferpool
Avoids repeated calls to allocator
Change-Id: I2b85fef3d0fd976bc9bf8a4b0cb9b29b62318cbf
10 months ago
Richard Fuchs
58054f2c0f
MT#55283 use typed queue for bpool shards
Change-Id: Iebe8286a930add93a179cbf0dabc08ea23152f37
10 months ago
Richard Fuchs
0551c2549a
MT#55283 obsolete bufferpool shard array
Remove the sorted pointer array and the associated lock. We can now
directly look up the shard associated with a particular memory block and
so this isn't needed any more.
Change-Id: I6b2972c3b8837cdabdf92cf957c69dc2d559a06c
10 months ago
Richard Fuchs
d43575dc06
MT#55283 look up bufferpool shard from metadata
Use the pointer we stored as metadata to quickly look up the respective
shard.
Change-Id: I01c39d9dbe229bb9bd98d90efb95adfe076e426d
10 months ago
Richard Fuchs
69e634f94a
MT#55283 store metadata head pointer
Put a pointer to the shard itself in the beginning of the buffer. This
facilitates quick lookup.
Change-Id: I0109d77e56afac3189775dd708970288f175dfe6
10 months ago
Richard Fuchs
f7fbe490b0
MT#55283 request aligned addresses from mmap
Or rather, request double the amount, then use the contained aligned
block.
Change-Id: Iaf1da4b3df243a1d4391fc2ff46eba1fec3d738c
10 months ago
Richard Fuchs
9bd5670f89
MT#55283 use fixed allocation size
Allocate all bufferpool shards of the same size, regardless of
underlying allocator. This way increase memory usage a bit, but we're
already quite heavy on that, so no big deal.
Change-Id: Icbe09cd2f9b33bc58ab1efe7de293dea00236fec
10 months ago
Richard Fuchs
1a837e6ab1
MT#55283 add `empty` pointer
With this we can reserve some head room to store our own metadata.
Change-Id: I525c2df7db85ce22c0a4a9810e4c75fdd7731c0c
10 months ago
Richard Fuchs
5f9e43b3e0
MT#55283 move alignment macros to header file
Change-Id: I266cbefe8351f77399bb6e50b2122f9a45249529
10 months ago
Richard Fuchs
1a98502a1b
MT#55283 used aligned memory for bufferpool
Use allocators that return memory blocks aligned to the requested size,
instead of generic malloc. This makes it easier to play tricks with the
memory blocks.
Change-Id: Iad4b1127c76e48c2e9b4ad8489118d4883a24f6a
10 months ago
Richard Fuchs
73616ae28d
MT#55283 implement munmap
Requires reference-counting the VM area
Change-Id: I975527667b2d92e31c55048af3de3bc092474ab3
10 months ago
Richard Fuchs
aa3fb81395
MT#55283 store pointer to table in re_shm
Change-Id: I61ff5ebb0115f83100645e53f7a52789c63780c2
10 months ago
Richard Fuchs
fa938c1ec4
MT#55283 rename `table`
Avoid shadow local variables
Change-Id: I1abd646eae2c9a1690c41011fa5295718b4b5e1e
10 months ago
Richard Fuchs
18926baf85
MT#55283 store shm in vm_private_area
... instead of just the head pointer
Change-Id: I53077b7d43493890ac94585f1247fc4a7b19e2ea
10 months ago
Richard Fuchs
54de3e12c6
MT#55283 use vmalloc instead of alloc_pages
We don't need contiguous physical pages, we only need contiguous virtual
memory. This allows for larger allocation sizes.
Change-Id: I915fdb42c3fd2387aaf08d2f16d0528435038dc6
10 months ago
Richard Fuchs
78d7d93acd
MT#55283 fix array indexing
Entries can be removed within the loop
Change-Id: I173849591edd36ee3eac50087a5768966af98000
10 months ago
Dennis Yurasov
969dfd9390
MT#55283 Restore sequencer values from stats
Closes #1918
Change-Id: If7f3f5aca2cbb94fe10baeaaaaf70f3dfc88ed3e
10 months ago
Richard Fuchs
189de8ed28
MT#55283 check pthread_create return value
Change-Id: Iecf0a650bcc6408677282660f0fcd409cd741626
Warned-by: Coverity
10 months ago
Richard Fuchs
af0b157821
MT#55283 fix possible null dererefence
... when jitter buffer is in use
Change-Id: I7b4dbbcfd98c643394ec3c049c4d99b97c22bc10
10 months ago
Richard Fuchs
a49b0b690a
MT#55283 add T.38 codec test
Change-Id: I5972a4b683526a82b49837eefabd83d52ddacabd
10 months ago
Richard Fuchs
ef7aa06801
MT#55283 shorten lock duration
We can do the freeing safely after having removed the shard from the
list.
Change-Id: I15d7ec71b0c44b916571c420b07c715ad2feaf50
10 months ago
Richard Fuchs
162e982088
MT#55283 fix typo
Technically inconsequential because both functions call the same
underlying pthread_rwlock_unlock
Change-Id: I6fddc55f70772592d17f496e5c16edf6ba7a88e5
10 months ago
Richard Fuchs
9a5069f53c
MT#61625 add "transform" tests
Change-Id: I6976929522b0098729fd8b317bf7c46e791407ef
10 months ago
Richard Fuchs
7dbcb578ab
MT#61625 add "transform" transcode handler
Change-Id: I9b9ef39859f196a9c0ea8a7aee657311a70a5d03
10 months ago
Richard Fuchs
6b5fac9dc7
MT#61625 add "transcode-config"
Adds a new config section that allows adjusting behaviour for certain
transcoding scenarios. This only adds the initial support for the config
option.
Change-Id: Ia3d43061adc540fab054e5c99ab804dc1ff53b84
10 months ago
Richard Fuchs
ab3113bff7
MT#61625 support "blackhole" codec handler
Special codec handler to support not forwarding (nor any processing
whatsoever) of particular payload types at all. Support this in the
kernel module as well.
Change-Id: If10227affa54307e1e9b448eadd0bf2bfc5774ba
10 months ago
Richard Fuchs
fb84336d1a
MT#61625 add global memory arena
Change-Id: I49c9f786d0826c090df348eb7ae600f6887611bd
11 months ago
Richard Fuchs
13d9923374
MT#61625 introduce codec_pipeline_index
Serves as a lookup index into a hash table. Use a union in the existing
struct so that we don't have to do any word replacements.
Change-Id: I15f33982ae929e6ed7c1264f7d11a2dca8e03741
11 months ago
Richard Fuchs
1b6ad783a8
MT#61625 refactor codec_handlers hash index
Change-Id: I52a34cbd6940ab3bd18ebb5d0c024303eb3381fd
11 months ago
Richard Fuchs
8399b36d28
MT#61625 refactor stats chain code
Change-Id: Iaf7c59d94e645ab8d8516baa38445868cb818c01
10 months ago
Richard Fuchs
e72f7e4b0f
MT#61625 add ng_client code
Change-Id: If216cedc5b2ff81dadf1ec7d1df2b767c9dd3abc
11 months ago
Richard Fuchs
135a95ef02
MT#61625 implement "transform" method
Change-Id: I2113b76d97f5cf6cc8927f92b8a178795322a77e
11 months ago
Richard Fuchs
ee707993f4
MT#61625 restrict decision to codec handler
Only use the codec handler's "kernelize" flag to determine whether a
particular payload type can be handled by the kernel or not. It's
supposed to be a reliable indicator, making checking the other flags
unnecessary.
Change-Id: I5fe58eded55ea973ed555e4376ee8200f112d162
10 months ago
Richard Fuchs
a47d848bee
MT#55283 streamline kernelize function
Further separate out logic that relates to ingress from egress
Change-Id: Ifde5bbb5d306b3fdbdbc8cf4d358217b0582f3b6
10 months ago