]> git.proxmox.com Git - mirror_kronosnet.git/commitdiff
[nozzle] cleanup and document nozzle_get_mtu
authorFabio M. Di Nitto <fdinitto@redhat.com>
Thu, 16 Nov 2017 16:40:20 +0000 (17:40 +0100)
committerFabio M. Di Nitto <fdinitto@redhat.com>
Tue, 18 Dec 2018 04:55:08 +0000 (05:55 +0100)
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
libnozzle/libnozzle.c
libnozzle/libnozzle.h

index 909b036154de7e59c71a6633cc40df56e17c76bf..bba6a2e6cecdb3d31c4f0440ab4dd9914ee179b3 100644 (file)
@@ -276,18 +276,21 @@ static void _close_cfg(void)
 
 static int _get_mtu(const nozzle_t nozzle)
 {
-       int err;
+       int err = 0, savederrno = 0;
 
        memset(&nozzle->ifr, 0, sizeof(struct ifreq));
        strncpy(nozzle->ifname, nozzle->nozzlename, IFNAMSIZ);
 
        err = ioctl(lib_cfg.sockfd, SIOCGIFMTU, &nozzle->ifr);
-       if (err)
+       if (err) {
+               savederrno = errno;
                goto out_clean;
+       }
 
        err = nozzle->ifr.ifr_mtu;
 
 out_clean:
+       errno = savederrno;
        return err;
 }
 
@@ -620,9 +623,18 @@ out_clean:
 
 int nozzle_get_mtu(const nozzle_t nozzle)
 {
-       int err;
+       int err = 0, savederrno = 0;
 
-       pthread_mutex_lock(&lib_mutex);
+       if (!nozzle) {
+               errno = EINVAL;
+               return -1;
+       }
+
+       savederrno = pthread_mutex_lock(&lib_mutex);
+       if (savederrno) {
+               errno = savederrno;
+               return -1;
+       }
 
        if (!_check(nozzle)) {
                errno = EINVAL;
@@ -631,10 +643,11 @@ int nozzle_get_mtu(const nozzle_t nozzle)
        }
 
        err = _get_mtu(nozzle);
+       savederrno = errno;
 
 out_clean:
        pthread_mutex_unlock(&lib_mutex);
-
+       savederrno = errno;
        return err;
 }
 
index 4e8270771b27974a17abb7a0a7a9ddd88ba9acf6..b391e452db3012466a78d56c1869514e08efe1ff 100644 (file)
@@ -194,6 +194,17 @@ int nozzle_del_ip(nozzle_t nozzle, const char *ip_addr, const char *prefix, char
 
 int nozzle_get_ips(const nozzle_t nozzle, char **ip_addr_list, int *entries);
 
+/**
+ * nozzle_get_mtu
+ * @brief retrive mtu on a given nozzle interface
+ *
+ * nozzle - pointer to the nozzle struct
+ *
+ * @return
+ * MTU on success
+ * -1 on error and errno is set.
+ */
+
 int nozzle_get_mtu(const nozzle_t nozzle);
 int nozzle_set_mtu(nozzle_t nozzle, const int mtu);
 int nozzle_reset_mtu(nozzle_t nozzle);