On 17.01.25 03:13, Dust Li wrote: >>>> Modular Approach: I've made the ism_loopback an independent kernel >>>> module since dynamic enable/disable functionality is not yet supported >>>> in SMC. Using insmod and rmmod for module management could provide the >>>> flexibility needed in practical scenarios. >> >> With this proposal ism_loopback is just another ism device and SMC-D will >> handle removal just like ism_client.remove(ism_dev) of other ism devices. >> >> But I understand that net/smc/ism_loopback.c today does not provide enable/disable, >> which is a big disadvantage, I agree. The ism layer is prepared for dynamic >> removal by ism_dev_unregister(). In case of this RFC that would only happen >> in case of rmmod ism. Which should be improved. >> One way to do that would be a separate ism_loopback kernel module, like you say. >> Today ism_loopback is only 10k LOC, so I'd be fine with leaving it in the ism module. >> I also think it is a great way for testing any ISM client, so it has benefit for >> anybody using the ism module. >> Another way would be e.g. an 'enable' entry in the sysfs of the loopback device. >> (Once we agree if and how to represent ism devices in genera in sysfs). > This works for me as well. I think it would be better to implement this > within the common ISM layer, rather than duplicating the code in each > device. Similar to how it's done in netdevice. > > Best regards, > Dust Is there a specific example for enable/disable in the netdevice code, you have in mind? Or do you mean in general how netdevice provides a common layer? Yes, everything that is common for all devices should be provided by the network layer.