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