components/iftop/patches/06.addrs_dlpi.c.patch
author Mike Sullivan <Mike.Sullivan@Oracle.COM>
Mon, 11 Mar 2013 10:38:09 -0700
branchs11-update
changeset 2520 ceec631e74d1
parent 306 9da68c8821e3
permissions -rw-r--r--
Close of build 10.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
306
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
     1
--- addrs_dlpi.c.orig	Tue Feb 10 13:55:04 2009
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
     2
+++ addrs_dlpi.c	Fri Jan 16 12:42:53 2009
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
     3
@@ -24,11 +24,8 @@
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
     4
 #include <sys/sockio.h>
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
     5
 #include <sys/ioctl.h>
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
     6
 #include <sys/socket.h>
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
     7
-#include <sys/dlpi.h>
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
     8
 #include <net/if.h>
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
     9
 
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    10
-#include "dlcommon.h"
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    11
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    12
 extern char *split_dname(char *device, int *unitp);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    13
 extern char *strncpy2(char *dest, char *src, int n);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    14
 extern char *strncat2(char *dest, char *src, int n);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    15
@@ -56,123 +53,8 @@
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    16
   int got_ip_addr = 0;
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    17
 
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    18
   int fd;
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    19
-  long buf[MAXDLBUF];		/* long aligned */
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    20
-  union DL_primitives *dlp;
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    21
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    22
-  char *cp;
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    23
-  int unit_num = 0;
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    24
-  int sap = 0;
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    25
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    26
-  char *devname = NULL;
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    27
-  char *devname2 = NULL;
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    28
-  char fulldevpath[256];
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    29
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    30
   struct ifreq ifr = {};
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    31
 
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    32
-  /* -- */
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    33
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    34
-  memset(if_hw_addr, 0, 6);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    35
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    36
-  // we want to be able to process either a fully qualified /dev/ge0
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    37
-  // type interface definition, or just ge0.
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    38
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    39
-  if (strncmp(interface, "/dev/", strlen("/dev/")) == 0) {
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    40
-    devname = interface + strlen("/dev/");
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    41
-  } else {
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    42
-    devname = interface;
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    43
-  }
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    44
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    45
-  strncpy2(fulldevpath, "/dev/", sizeof(fulldevpath)-1);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    46
-  cp = strncat2(fulldevpath, interface, sizeof(fulldevpath));
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    47
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    48
-  if (strlen(cp) != 0) {
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    49
-    fprintf(stderr, "device name buffer overflow %s\n", fulldevpath);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    50
-    return -1;
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    51
-  }
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    52
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    53
-  fprintf(stderr,"interface: %s\n", devname);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    54
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    55
-  // on Solaris, even though we are wanting to talk to ethernet device
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    56
-  // ge0, we have to open /dev/ge, then bind to unit 0.  Dupe our
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    57
-  // full path, then identify and cut off the unit number
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    58
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    59
-  devname2 = strdup(fulldevpath);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    60
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    61
-  cp = split_dname(devname2, &unit_num);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    62
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    63
-  if (cp == NULL) {
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    64
-    free(devname2);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    65
-    goto get_ip_address;
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    66
-  } else {
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    67
-    *cp = '\0';			/* null terminate devname2 right before numeric extension */
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    68
-  }
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    69
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    70
-  // devname2 should now be something akin to /dev/ge.  Try to open
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    71
-  // it, and if it fails, fall back to the full /dev/ge0.
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    72
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    73
-  if ((fd = open(devname2, O_RDWR)) < 0) {
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    74
-    if (errno != ENOENT) {
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    75
-      fprintf(stderr, "Couldn't open %s\n", devname2);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    76
-      free(devname2);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    77
-      goto get_ip_address;
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    78
-    } else {
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    79
-      if ((fd = open(fulldevpath, O_RDWR)) < 0) {
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    80
-	fprintf(stderr, "Couldn't open %s\n", fulldevpath);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    81
-	free(devname2);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    82
-	goto get_ip_address;
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    83
-      }
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    84
-    }
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    85
-  }
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    86
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    87
-  free(devname2);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    88
-  devname2 = NULL;
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    89
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    90
-  /* Use the dlcommon functions to get access to the DLPI information for this
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    91
-   * interface.  All of these functions exit() out on failure
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    92
-   */
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    93
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    94
-  dlp = (union DL_primitives*) buf;
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    95
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    96
-  /*
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    97
-   * DLPI attach to our low-level device
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    98
-   */
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
    99
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   100
-  dlattachreq(fd, unit_num);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   101
-  dlokack(fd, buf);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   102
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   103
-  /*
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   104
-   * DLPI bind
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   105
-   */
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   106
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   107
-  dlbindreq(fd, sap, 0, DL_CLDLS, 0, 0);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   108
-  dlbindack(fd, buf);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   109
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   110
-  /*
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   111
-   * DLPI DL_INFO_REQ
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   112
-   */
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   113
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   114
-  dlinforeq(fd);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   115
-  dlinfoack(fd, buf);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   116
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   117
-  /* 
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   118
-     printdlprim(dlp);  // uncomment this to dump out info from DLPI
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   119
-  */
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   120
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   121
-  if (dlp->info_ack.dl_addr_length + dlp->info_ack.dl_sap_length == 6) {
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   122
-    memcpy(if_hw_addr, 
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   123
-	   OFFADDR(dlp, dlp->info_ack.dl_addr_offset),
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   124
-	   dlp->info_ack.dl_addr_length);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   125
-    got_hw_addr = 1;
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   126
-  } else {
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   127
-    fprintf(stderr, "Error, bad length for hardware interface %s -- %d\n", 
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   128
-	    interface,
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   129
-	    dlp->info_ack.dl_addr_length);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   130
-  }
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   131
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   132
-  close(fd);
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   133
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   134
- get_ip_address:
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   135
-
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   136
   /* Get the IP address of the interface */
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   137
 
9da68c8821e3 7055089 move iftop/pv to userland
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
diff changeset
   138
 #ifdef SIOCGIFADDR