From 75351ffae0c3e9280446f05882c4c2512397e080 Mon Sep 17 00:00:00 2001 From: Rafael Zalamena Date: Thu, 10 Jan 2019 17:20:09 -0200 Subject: [PATCH] bfdd: remove unused OS specific functions We are using zebra to learn about the network interfaces and no longer need to use OS specific system calls to get it. Signed-off-by: Rafael Zalamena --- bfdd/bfd.h | 17 -------------- bfdd/bsd.c | 64 ---------------------------------------------------- bfdd/linux.c | 58 ----------------------------------------------- 3 files changed, 139 deletions(-) diff --git a/bfdd/bfd.h b/bfdd/bfd.h index 24d5632b36..a3e5ad1447 100644 --- a/bfdd/bfd.h +++ b/bfdd/bfd.h @@ -513,7 +513,6 @@ struct bfd_session *ptm_bfd_sess_new(struct bfd_peer_cfg *bpc); int ptm_bfd_ses_del(struct bfd_peer_cfg *bpc); void ptm_bfd_ses_dn(struct bfd_session *bfd, uint8_t diag); void ptm_bfd_ses_up(struct bfd_session *bfd); -void fetch_portname_from_ifindex(int ifindex, char *ifname, size_t ifnamelen); void ptm_bfd_echo_stop(struct bfd_session *bfd, int polling); void ptm_bfd_echo_start(struct bfd_session *bfd); void ptm_bfd_xmt_TO(struct bfd_session *bfd, int fbit); @@ -585,20 +584,4 @@ void bfdd_zclient_stop(void); int ptm_bfd_notify(struct bfd_session *bs); - -/* - * OS compatibility functions. - */ -#if defined(BFD_LINUX) || defined(BFD_BSD) -int ptm_bfd_fetch_ifindex(const char *ifname); -void ptm_bfd_fetch_local_mac(const char *ifname, uint8_t *mac); -void fetch_portname_from_ifindex(int ifindex, char *ifname, size_t ifnamelen); -#endif /* BFD_LINUX || BFD_BSD */ - -#ifdef BFD_BSD -ssize_t bsd_echo_sock_read(int sd, uint8_t *buf, ssize_t *buflen, - struct sockaddr_storage *ss, socklen_t *sslen, - uint8_t *ttl, uint32_t *id); -#endif /* BFD_BSD */ - #endif /* _BFD_H_ */ diff --git a/bfdd/bsd.c b/bfdd/bsd.c index e0fb340e30..923fbd909e 100644 --- a/bfdd/bsd.c +++ b/bfdd/bsd.c @@ -35,70 +35,6 @@ /* * Definitions. */ -int ptm_bfd_fetch_ifindex(const char *ifname) -{ - return if_nametoindex(ifname); -} - -void ptm_bfd_fetch_local_mac(const char *ifname, uint8_t *mac) -{ - struct ifaddrs *ifap, *ifa; - struct if_data *ifi; - struct sockaddr_dl *sdl; - size_t maclen; - - /* Always clean the target, zeroed macs mean failure. */ - memset(mac, 0, ETHERNET_ADDRESS_LENGTH); - - if (getifaddrs(&ifap) != 0) - return; - - for (ifa = ifap; ifa != NULL; ifa = ifa->ifa_next) { - /* Find interface with that name. */ - if (strcmp(ifa->ifa_name, ifname) != 0) - continue; - /* Skip non link addresses. We want the MAC address. */ - if (ifa->ifa_addr->sa_family != AF_LINK) - continue; - - sdl = (struct sockaddr_dl *)ifa->ifa_addr; - ifi = (struct if_data *)ifa->ifa_data; - /* Skip non ethernet related data. */ - if (ifi->ifi_type != IFT_ETHER) - continue; - - if (sdl->sdl_alen != ETHERNET_ADDRESS_LENGTH) - log_warning("%s:%d mac address length %d (expected %d)", - __func__, __LINE__, sdl->sdl_alen, - ETHERNET_ADDRESS_LENGTH); - - maclen = (sdl->sdl_alen > ETHERNET_ADDRESS_LENGTH) - ? ETHERNET_ADDRESS_LENGTH - : sdl->sdl_alen; - memcpy(mac, LLADDR(sdl), maclen); - break; - } - - freeifaddrs(ifap); -} - - -/* Was _fetch_portname_from_ifindex() */ -void fetch_portname_from_ifindex(int ifindex, char *ifname, size_t ifnamelen) -{ - char ifname_tmp[IF_NAMESIZE]; - - /* Set ifname to empty to signalize failures. */ - memset(ifname, 0, ifnamelen); - - if (if_indextoname(ifindex, ifname_tmp) == NULL) - return; - - if (strlcpy(ifname, ifname_tmp, ifnamelen) > ifnamelen) - log_warning("%s:%d interface name truncated", __func__, - __LINE__); -} - int bp_bind_dev(int sd, const char *dev) { /* diff --git a/bfdd/linux.c b/bfdd/linux.c index e260851ddb..3a76b459d7 100644 --- a/bfdd/linux.c +++ b/bfdd/linux.c @@ -29,64 +29,6 @@ /* * Definitions. */ -int ptm_bfd_fetch_ifindex(const char *ifname) -{ - struct ifreq ifr; - - if (strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)) - > sizeof(ifr.ifr_name)) - log_error("interface-to-index: name truncated ('%s' -> '%s')", - ifr.ifr_name, ifname); - - if (ioctl(bglobal.bg_shop, SIOCGIFINDEX, &ifr) == -1) { - log_error("interface-to-index: %s translation failed: %s", - ifname, strerror(errno)); - return -1; - } - - return ifr.ifr_ifindex; -} - -void ptm_bfd_fetch_local_mac(const char *ifname, uint8_t *mac) -{ - struct ifreq ifr; - - if (strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)) - > sizeof(ifr.ifr_name)) - log_error("interface-mac: name truncated ('%s' -> '%s')", - ifr.ifr_name, ifname); - - if (ioctl(bglobal.bg_shop, SIOCGIFHWADDR, &ifr) == -1) { - log_error("interface-mac: %s MAC retrieval failed: %s", ifname, - strerror(errno)); - return; - } - - memcpy(mac, ifr.ifr_hwaddr.sa_data, ETHERNET_ADDRESS_LENGTH); -} - - -/* Was _fetch_portname_from_ifindex() */ -void fetch_portname_from_ifindex(int ifindex, char *ifname, size_t ifnamelen) -{ - struct ifreq ifr; - - ifname[0] = 0; - - memset(&ifr, 0, sizeof(ifr)); - ifr.ifr_ifindex = ifindex; - - if (ioctl(bglobal.bg_shop, SIOCGIFNAME, &ifr) == -1) { - log_error("index-to-interface: index %d failure: %s", ifindex, - strerror(errno)); - return; - } - - if (strlcpy(ifname, ifr.ifr_name, ifnamelen) >= ifnamelen) - log_debug("index-to-interface: name truncated '%s' -> '%s'", - ifr.ifr_name, ifname); -} - int bp_bind_dev(int sd __attribute__((__unused__)), const char *dev __attribute__((__unused__))) { -- 2.39.5