Re: [PATCH v2 1/2] can: add support for filtering own messages only
From: Erik Flodin <hidden>
Date: 2021-05-17 18:09:23
On Mon, 17 May 2021 at 09:36, Oliver Hartkopp [off-list ref] wrote:
On 16.05.21 22:02, Erik Flodin wrote:quoted
quoted
You mainly want to throttle the outgoing traffic, to make sure that e.g. a specific CAN ID is not sent 'back-to'back' and might lead to a DoS situation on the wire?!?Yes, so after a frame has been sent, I want to leave the bus idle long enough to give another device on the bus that has something in its TX queue an opportunity to send.quoted
Do you know about the Linux CAN queuing disciplines that might provide the solution to your question?Yes, I came across that when I started my journey in CAN-land, but unfortunately the kernel I have to use doesn't have support for traffic control. That's when I started using RECV_OWN_MSGS which worked until I added filters and here we are now :) If I get the chance to update the kernel (which would have to happen before my proposed patch could be used anyway) I should perhaps try to get tc support instead. That would simplify my application at least.:-D In any case it seems you need to change some kernel code. The CAN frame ematch rule is from 2012: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=f057bbb6f9ed0fb61ea11105c9ef0ed5ac1a354d Is your kernel older than 2012? o_O Or was TC just not enabled?
TC wasn't enabled. // Erik