From 42a4461854ab308ebcebb99df7085e1e896f8fa5 Mon Sep 17 00:00:00 2001
From: Timothy Redaelli <tredaelli@redhat.com>
Date: Fri, 10 Feb 2017 12:51:09 +0100
Subject: [PATCH] macsec: show usage even if the module is not available
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1367071
Upstream Status: iproute2.git commit 688f9aa
commit 688f9aa4f24ffac148f6b4127602f10a7837d4ba
Author: Sabrina Dubroca <sd@queasysnail.net>
Date: Tue Aug 16 16:26:56 2016 +0200
macsec: show usage even if the module is not available
Currently, the `ip macsec` command tries to initialize a genl context
even when we just want to see the help for the command, which doesn't
require to talk to the kernel at all.
Delay genl initialization, which can fail if the module isn't loaded,
until the point where we will actually need it.
Fixes: b26fc590ce62 ("ip: add MACsec support")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
---
ip/ipmacsec.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/ip/ipmacsec.c b/ip/ipmacsec.c
index f05b27a..127fa1e 100644
--- a/ip/ipmacsec.c
+++ b/ip/ipmacsec.c
@@ -986,15 +986,15 @@ static int do_show(int argc, char **argv)
int do_ipmacsec(int argc, char **argv)
{
- if (genl_init_handle(&genl_rth, MACSEC_GENL_NAME, &genl_family))
- exit(1);
-
if (argc < 1)
ipmacsec_usage();
if (matches(*argv, "help") == 0)
ipmacsec_usage();
+ if (genl_init_handle(&genl_rth, MACSEC_GENL_NAME, &genl_family))
+ exit(1);
+
if (matches(*argv, "show") == 0)
return do_show(argc-1, argv+1);
--
1.8.3.1