Re: [PATCH v3 3/4] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c

From: Oliver Hartkopp
Date: Tue May 17 2022 - 10:35:22 EST




On 17.05.22 15:43, Max Staudt wrote:
On Tue, 17 May 2022 15:35:03 +0200
Oliver Hartkopp <socketcan@xxxxxxxxxxxx> wrote:

Oh, I didn't want to introduce two new kernel modules but to have
can_dev in different 'feature levels'.

Which I agree is a nice idea, as long as heisenbugs can be avoided :)

(as for the separate modules vs. feature levels of can-dev - sorry, my
two paragraphs were each referring to a different idea. I mixed them
into one single email...)


Maybe the can-skb and rx-offload parts could be a *visible* sub-option
of can-dev in Kconfig, which is normally optional, but immediately
force-selected once a CAN HW driver is selected?

I think it should be even more simple.

When you enter the current Kconfig page of "CAN Device Drivers" every selection of vcan/vxcan/slcan should directly select CAN_DEV_SW.

The rest could stay the same, e.g. selecting CAN_DEV "Platform CAN drivers with Netlink support" which then enables CAN_CALC_BITTIMING and CAN_LEDS to be selectable. Which also makes sure the old .config files still apply.

And finally the selection of flexcan, ti_hecc and
mcp251xfd automatically selects CAN_DEV_RX_OFFLOAD.

Then only some more Makefile magic has to be done to build can-dev.ko accordingly.

Best regards,
Oliver





But e.g. the people that are running Linux instances in a cloud only
using vcan and vxcan would not need to carry the entire
infrastructure of CAN hardware support and rx-offload.

Out of curiosity, do you have an example use case for this vcan cloud
setup? I can't dream one up...



Max