After upgrading the kernel, the slave interface name is changed,
Systemd cannot use the original configuration to create bond interface,
thereby losing the connection with the host.

Adding log for ENODEV will make it easier to find out such problem lies.

Signed-off-by: Jianlin Lv <jianlin...@arm.com>
---
 drivers/net/bonding/bond_options.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/bonding/bond_options.c 
b/drivers/net/bonding/bond_options.c
index 77d7c38bd435..c9d3604ae129 100644
--- a/drivers/net/bonding/bond_options.c
+++ b/drivers/net/bonding/bond_options.c
@@ -640,6 +640,15 @@ static void bond_opt_error_interpret(struct bonding *bond,
                netdev_err(bond->dev, "option %s: unable to set because the 
bond device is up\n",
                           opt->name);
                break;
+       case -ENODEV:
+               if (val && val->string) {
+                       p = strchr(val->string, '\n');
+                       if (p)
+                               *p = '\0';
+                       netdev_err(bond->dev, "option %s: interface %s does not 
exist!\n",
+                                  opt->name, val->string);
+               }
+               break;
        default:
                break;
        }
-- 
2.25.1

Reply via email to