Re: [RFC PATCH net-next v5 04/11] net/smc: implement some unsupported operations of loopback-ism

From: Gerd Bayer
Date: Wed Apr 03 2024 - 12:25:32 EST


On Sun, 2024-03-24 at 21:55 +0800, Wen Gu wrote:
> This implements some operations that loopback-ism does not support
> currently:
> - vlan operations, since there is no strong use-case for it.
> - signal_event operations, since there is no event to be processed
> by the loopback-ism device.

Hi Wen,

I wonder if the these operations that are not supported by loopback-ism
should rather be marked "optional" in the struct smcd_ops, and the
calling code should call these only when they are implemented.

Of course this would mean more changes to net/smc/smc_core.c - but
loopback-ism could omit these "boiler-plate" functions.

>  
> +static int smc_lo_add_vlan_id(struct smcd_dev *smcd, u64 vlan_id)
> +{
> + return -EOPNOTSUPP;
> +}
> +
> +static int smc_lo_del_vlan_id(struct smcd_dev *smcd, u64 vlan_id)
> +{
> + return -EOPNOTSUPP;
> +}
> +
> +static int smc_lo_set_vlan_required(struct smcd_dev *smcd)
> +{
> + return -EOPNOTSUPP;
> +}
> +
> +static int smc_lo_reset_vlan_required(struct smcd_dev *smcd)
> +{
> + return -EOPNOTSUPP;
> +}
> +
> +static int smc_lo_signal_event(struct smcd_dev *dev, struct smcd_gid
> *rgid,
> +        u32 trigger_irq, u32 event_code, u64
> info)
> +{
> + return 0;
> +}
> +

Just a pattern that I saw elsewhere in the kernel...

Thanks,
Gerd