[PATCH v2] ubusd: convert tx_queue to linked list

Arnout Vandecappelle arnout at mind.be
Mon Mar 29 08:32:15 BST 2021


 Hi Felix,

On 25/03/2021 23:56, Felix Fietkau wrote:
[snip]

> The data structure changes that I pointed out are not a blocker for me.
> I do want to see at least a per-client message limit (in order to not
> regress on accidental DoS).

 I posted a v3 with exactly that at around the time you sent this mail.

> A global one would be nice too, but is not a must-have.

 That one wouldn't be too hard to add, it's just that I'm not entirely sure
about global variable access in the ubusd code. Is multithreading possible there?


> I do agree with your proposal regarding lookup method rework,
> and wire format changes are acceptable too, as long as the libubus API
> doesn't change.

 I also took a look at that, but it was just a bit too daunting for me. Code
wise it can't be too hard, but I don't understand enough about the wire format
and which parts in the code it affects to have confidence in not breaking
something somewhere else.

 Regards,
 Arnout

> 
> The wire format change should probably be something generic like adding
> support for having a single ubus message contain an array of data blobs
> (and having libubus call data_cb() for each element of that array).
> That way its use is not limited to lookups, it could also be used by
> other ubus clients for sending multiple messages with less overhead.
> The changes for this could probably be very simple without any major
> refactoring.



More information about the openwrt-devel mailing list