In prepare of link_vti.c and link_vti6.c merge:

  1) Make @fwmark of __u32 type instead of unsigned int
     in vti to match with rest tunneling code.

  2) Report when unable to translate @link network device
     name to index instead of silently exiting in vti6.

  3) Remove newline separating local/remote attributes
     from the ikey/okey in vti6 to match vti module.

Signed-off-by: Serhey Popovych <serhe.popov...@gmail.com>
---
 ip/link_vti.c  |    2 +-
 ip/link_vti6.c |    6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/ip/link_vti.c b/ip/link_vti.c
index 1439e53..6a088c6 100644
--- a/ip/link_vti.c
+++ b/ip/link_vti.c
@@ -69,7 +69,7 @@ static int vti_parse_opt(struct link_util *lu, int argc, char 
**argv,
        unsigned int saddr = 0;
        unsigned int daddr = 0;
        unsigned int link = 0;
-       unsigned int fwmark = 0;
+       __u32 fwmark = 0;
        int len;
 
        if (!(n->nlmsg_flags & NLM_F_CREATE)) {
diff --git a/ip/link_vti6.c b/ip/link_vti6.c
index 2a86d59..a11f389 100644
--- a/ip/link_vti6.c
+++ b/ip/link_vti6.c
@@ -144,8 +144,11 @@ get_failed:
                } else if (!matches(*argv, "dev")) {
                        NEXT_ARG();
                        link = if_nametoindex(*argv);
-                       if (link == 0)
+                       if (link == 0) {
+                               fprintf(stderr, "Cannot find device \"%s\"\n",
+                                       *argv);
                                exit(-1);
+                       }
                } else if (strcmp(*argv, "fwmark") == 0) {
                        NEXT_ARG();
                        if (get_u32(&fwmark, *argv, 0))
@@ -157,7 +160,6 @@ get_failed:
 
        addattr32(n, 1024, IFLA_VTI_IKEY, ikey);
        addattr32(n, 1024, IFLA_VTI_OKEY, okey);
-
        addattr_l(n, 1024, IFLA_VTI_LOCAL, &saddr, sizeof(saddr));
        addattr_l(n, 1024, IFLA_VTI_REMOTE, &daddr, sizeof(daddr));
        addattr32(n, 1024, IFLA_VTI_FWMARK, fwmark);
-- 
1.7.10.4

Reply via email to