Commit graph

21 commits

Author SHA1 Message Date
hackerman-kl
ce42b7c1da milan-avb: msrp: mark listener stream-info dirty on TA/TF registrar change 2026-04-27 10:56:44 +00:00
hackerman-kl
995def4927 milan-avb: msrp: log notify_* at info level by default 2026-04-27 10:56:44 +00:00
hackerman-kl
df62776308 milan-avb: mrp: set vector lva bit on outgoing LeaveAll frames 2026-04-27 10:56:44 +00:00
hackerman-kl
b126943143 milan-avb: msrp: state logging, Milan listener_observed and log refinements 2026-04-27 10:56:44 +00:00
hackerman-kl
2d476cab79 milan-avb: msrp: gate listener Ready on talker registrar 2026-04-27 10:56:44 +00:00
hackerman-kl
080d4b6f09 milan-avb: msrp: capture listener rx param 2026-04-27 10:56:44 +00:00
hackerman-kl
5b06b5457a milan-avb: msrp/acmp: talker failed can be handled now 2026-04-27 10:56:44 +00:00
hackerman-kl
f5e97f0f6b milan-avb: adjust the msrp/adp and acmp state machine to communicate talker discovery and srp reserveration 2026-04-27 10:56:44 +00:00
hackerman-kl
219adaa456 milan-avb: adjusting the msrp-domain to work accordingly to the milan specification 2026-04-27 10:56:44 +00:00
hackerman-kl
2746898e9a milan-avb: rework mrp join/begin:
* join/begin mrp protocol for attributes of mvrp and msrp within stream_activate.
 * Creation of the attribute done on stream creation during es_buidler
2026-04-27 10:56:44 +00:00
Christian F.K. Schaller
1d0c51f057 module-avb: fix MRP NEW messages never being transmitted
AVB_MRP_SEND_NEW was defined as 0, making it indistinguishable from
"no pending send" in the MSRP and MVRP event handlers which check
`if (!pending_send)`. This meant that when an attribute was first
declared (applicant state VN or AN), the NEW message was silently
dropped instead of being transmitted on the network.

Fix by shifting all AVB_MRP_SEND_* values to start at 1, so that 0
unambiguously means "no send pending". Update the MSRP and MVRP
encoders to subtract 1 when encoding to the IEEE 802.1Q wire format
(which uses 0-based event values).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 07:43:19 +00:00
Christian F.K. Schaller
ef8f820d4a module-avb: fix potential NULL pointer dereference in MSRP/MVRP notify
The msrp_notify() and mvrp_notify() functions call dispatch table
notify callbacks without checking for NULL. In MSRP, the
TALKER_FAILED attribute type has a NULL notify callback, which would
crash if a talker-failed attribute received a registrar state change
notification (e.g. RX_NEW triggering NOTIFY_NEW).

Add NULL checks before calling the dispatch notify callbacks, matching
the defensive pattern used in the encode path.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 07:43:19 +00:00
hackerman-kl
03428f3380 module-avb: mrp: add human readable m*rp states 2025-11-21 08:24:44 +00:00
Barnabás Pőcze
934ab3036e treewide: use SPDX tags to specify copyright information
SPDX tags make the licensing information easy to understand and clear,
and they are machine parseable.

See https://spdx.dev for more information.
2023-02-16 10:54:48 +00:00
Wim Taymans
9bfb23f3f8 avb: don't include ethernet header in in packets
Move vlan_id and prio to the stream.
2022-07-12 12:27:22 +02:00
Wim Taymans
f043922b24 avb: implement maap
Implement the maap state machine.
Use maap for the destination address of talker streams.
2022-07-12 12:27:22 +02:00
Wim Taymans
e0d6b2bb4f avb: implement streams
Add in input/output stream, setup the talker/listeners.
Implement IEC61883 audio packets, send and receive data.
Implement talker encoding.

With this, audio can be sent and received from MOTU M64.
2022-07-12 12:27:22 +02:00
Wim Taymans
2344ad7869 avb: fix compilation 2022-07-12 12:27:22 +02:00
Wim Taymans
c07e16c728 avb: use separate sockets per mac/type 2022-07-12 12:27:22 +02:00
Wim Taymans
9a26df3478 avb: improve state machine
Emit per attribute callbacks.
Notify events immediately.
2022-07-12 12:27:22 +02:00
Wim Taymans
773bd610aa avb: avbtp -> avb 2022-07-12 12:27:22 +02:00
Renamed from src/modules/module-avbtp/msrp.c (Browse further)