Andreas Beckmann
5aa9ad5fdc
MT#55283 fix dkms comment
...
Ref: https://bugs.debian.org/1101804
Change-Id: Ide293f0b6f6f715d8ea58e38fa85586d44b4c996
1 year ago
Andreas Beckmann
cc10df6314
MT#55283 dkms.conf: declare BUILD_EXCLUSIVE_KERNEL_MIN
...
Ref: https://bugs.debian.org/1101804
Change-Id: Idda0701ee08887470917741a96a91ae4baa76f87
1 year ago
Richard Fuchs
094c3d93d2
MT#55283 report correct error
...
Change-Id: I102a52434581569c04f255a3fd09a39599e3fff2
1 year ago
Richard Fuchs
8e1bbc24df
MT#55283 allow stack storage for dummy uring send
...
Change-Id: Iae5067f7e8bd492f10db946160d2c4af54c2fc2b
1 year ago
Richard Fuchs
dd91f0ec11
MT#55283 centralise uring methods
...
Introduce struct to keep uring-specific thread-local method pointers
Change-Id: I7b0d1fd82cf5f3d114e8072553cb74054ac7e133
1 year ago
Richard Fuchs
f090376d9a
MT#55283 move defines
...
to a more appropriate place to remove an otherwise unneeded dependency
Change-Id: If82707e937a9102de1a405a25f7f3f436df878e6
1 year ago
Richard Fuchs
6c19b19069
MT#55283 type safety for uring allocs
...
Change-Id: I1f1e49b986f7a2cd83b898167e0c314b8862bb69
1 year ago
Richard Fuchs
4146d0f60b
MT#55283 convert log info stack to array
...
Change-Id: I585c1e0a4aba4b53aaf1cd1db591a41f7e23939a
1 year ago
Richard Fuchs
bcbe751dec
MT#55283 make bufferpool (mostly) lock-free
...
Change-Id: I9c6803c3b01deacafc20bcca4c6ddd89fd69d3e9
1 year 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
1 year 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
1 year ago
Donat Zenichev
c420a17c3b
MT#62272 moh: add double hold test
...
Test double hold case.
Change-Id: I136eef73f63d0a3814fe220a1fe95f41d6d44d18
1 year 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
1 year 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
1 year 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
1 year ago
Richard Fuchs
26072ed6a1
MT#55283 support CFLAGS in str hash helper
...
Fixes #1919
Change-Id: Ibac4475c96063b69868546e54e27f9f61b7b909b
1 year ago
Richard Fuchs
95f75d690b
MT#55283 use embedded links in bufferpool
...
Avoids repeated calls to allocator
Change-Id: I2b85fef3d0fd976bc9bf8a4b0cb9b29b62318cbf
1 year ago
Richard Fuchs
58054f2c0f
MT#55283 use typed queue for bpool shards
...
Change-Id: Iebe8286a930add93a179cbf0dabc08ea23152f37
1 year 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
1 year 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
1 year 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
1 year 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
1 year 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
1 year 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
1 year ago
Richard Fuchs
5f9e43b3e0
MT#55283 move alignment macros to header file
...
Change-Id: I266cbefe8351f77399bb6e50b2122f9a45249529
1 year 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
1 year ago
Richard Fuchs
73616ae28d
MT#55283 implement munmap
...
Requires reference-counting the VM area
Change-Id: I975527667b2d92e31c55048af3de3bc092474ab3
1 year ago
Richard Fuchs
aa3fb81395
MT#55283 store pointer to table in re_shm
...
Change-Id: I61ff5ebb0115f83100645e53f7a52789c63780c2
1 year ago
Richard Fuchs
fa938c1ec4
MT#55283 rename `table`
...
Avoid shadow local variables
Change-Id: I1abd646eae2c9a1690c41011fa5295718b4b5e1e
1 year ago
Richard Fuchs
18926baf85
MT#55283 store shm in vm_private_area
...
... instead of just the head pointer
Change-Id: I53077b7d43493890ac94585f1247fc4a7b19e2ea
1 year 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
1 year ago
Richard Fuchs
78d7d93acd
MT#55283 fix array indexing
...
Entries can be removed within the loop
Change-Id: I173849591edd36ee3eac50087a5768966af98000
1 year ago
Dennis Yurasov
969dfd9390
MT#55283 Restore sequencer values from stats
...
Closes #1918
Change-Id: If7f3f5aca2cbb94fe10baeaaaaf70f3dfc88ed3e
1 year ago
Richard Fuchs
189de8ed28
MT#55283 check pthread_create return value
...
Change-Id: Iecf0a650bcc6408677282660f0fcd409cd741626
Warned-by: Coverity
1 year ago
Richard Fuchs
af0b157821
MT#55283 fix possible null dererefence
...
... when jitter buffer is in use
Change-Id: I7b4dbbcfd98c643394ec3c049c4d99b97c22bc10
1 year ago
Richard Fuchs
a49b0b690a
MT#55283 add T.38 codec test
...
Change-Id: I5972a4b683526a82b49837eefabd83d52ddacabd
1 year 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
1 year ago
Richard Fuchs
162e982088
MT#55283 fix typo
...
Technically inconsequential because both functions call the same
underlying pthread_rwlock_unlock
Change-Id: I6fddc55f70772592d17f496e5c16edf6ba7a88e5
1 year ago
Richard Fuchs
9a5069f53c
MT#61625 add "transform" tests
...
Change-Id: I6976929522b0098729fd8b317bf7c46e791407ef
1 year ago
Richard Fuchs
7dbcb578ab
MT#61625 add "transform" transcode handler
...
Change-Id: I9b9ef39859f196a9c0ea8a7aee657311a70a5d03
1 year 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
1 year 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
1 year ago
Richard Fuchs
fb84336d1a
MT#61625 add global memory arena
...
Change-Id: I49c9f786d0826c090df348eb7ae600f6887611bd
1 year 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
1 year ago
Richard Fuchs
1b6ad783a8
MT#61625 refactor codec_handlers hash index
...
Change-Id: I52a34cbd6940ab3bd18ebb5d0c024303eb3381fd
1 year ago
Richard Fuchs
8399b36d28
MT#61625 refactor stats chain code
...
Change-Id: Iaf7c59d94e645ab8d8516baa38445868cb818c01
1 year ago
Richard Fuchs
e72f7e4b0f
MT#61625 add ng_client code
...
Change-Id: If216cedc5b2ff81dadf1ec7d1df2b767c9dd3abc
1 year ago
Richard Fuchs
135a95ef02
MT#61625 implement "transform" method
...
Change-Id: I2113b76d97f5cf6cc8927f92b8a178795322a77e
1 year 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
1 year ago
Richard Fuchs
a47d848bee
MT#55283 streamline kernelize function
...
Further separate out logic that relates to ingress from egress
Change-Id: Ifde5bbb5d306b3fdbdbc8cf4d358217b0582f3b6
1 year ago