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