[netcf-devel] [PATCH 4/4] Remove newly deprecated code.

Laine Stump laine at laine.org
Thu Oct 22 19:25:30 UTC 2009


Oops! Another patch accidentally committed locally as root. Please 
remove the From: <root> line from the top before running "git am".

I really should stop letting myself know the root password; somebody I'm 
bound to really screw things up!

On 10/22/2009 01:38 PM, Laine Stump wrote:
> From: root<root at vlap.laine.org>
>
> This patch removes add_ipv4_state_to_xml_doc() and the utility
> functions it calls (which use ioctl(SIOCGIFADDR)). Their
> functionality was replaced in the previous commit with the new
> add_state_to_xml_doc() (which uses the netlink socket).
> ---
>   src/dutil.c |  133 -----------------------------------------------------------
>   src/dutil.h |   14 ------
>   2 files changed, 0 insertions(+), 147 deletions(-)
>
> diff --git a/src/dutil.c b/src/dutil.c
> index 271d9a1..24c422d 100644
> --- a/src/dutil.c
> +++ b/src/dutil.c
> @@ -509,60 +509,6 @@ int if_is_active(struct netcf *ncf, const char *intf) {
>       return ((ifr.ifr_flags&  IFF_UP) == IFF_UP);
>   }
>
> -unsigned int if_ipv4_address(struct netcf *ncf, const char *intf) {
> -    struct ifreq ifr;
> -
> -    if (!if_is_active(ncf, intf)) {
> -        /* SIOCGIFADDR fails on a device that is down */
> -        return 0;
> -    }
> -    MEMZERO(&ifr, 1);
> -    strncpy(ifr.ifr_name, intf, sizeof(ifr.ifr_name));
> -    ifr.ifr_name[sizeof(ifr.ifr_name) - 1] = '\0';
> -    if (ioctl(ncf->driver->ioctl_fd, SIOCGIFADDR,&ifr))  {
> -        if (errno != EADDRNOTAVAIL) {
> -            report_error(ncf, NETCF_EIOCTL, "Failed to get ipv4 address for %s - %s",
> -                         intf, strerror(errno));
> -        }
> -        return 0;
> -    }
> -
> -    return (((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr.s_addr);
> -}
> -
> -unsigned int if_ipv4_netmask(struct netcf *ncf, const char *intf) {
> -    struct ifreq ifr;
> -
> -    if (!if_is_active(ncf, intf)) {
> -        /* SIOCGIFNETMASK fails on a device that is down */
> -        return 0;
> -    }
> -    MEMZERO(&ifr, 1);
> -    strncpy(ifr.ifr_name, intf, sizeof(ifr.ifr_name));
> -    ifr.ifr_name[sizeof(ifr.ifr_name) - 1] = '\0';
> -    if (ioctl(ncf->driver->ioctl_fd, SIOCGIFNETMASK,&ifr))  {
> -        if (errno != EADDRNOTAVAIL) {
> -            report_error(ncf, NETCF_EIOCTL, "Failed to get ipv4 netmask for %s - %s",
> -                         intf, strerror(errno));
> -        }
> -        return 0;
> -    }
> -
> -    return (((struct sockaddr_in *)&ifr.ifr_netmask)->sin_addr.s_addr);
> -}
> -
> -int if_ipv4_prefix(struct netcf *ncf, const char *intf) {
> -    unsigned int nmv4 = if_ipv4_netmask(ncf, intf);
> -    int prefix = 0;
> -
> -    nmv4 = ntohl(nmv4);
> -    while ((nmv4&  0xFFFFFFFF) != 0) {
> -        nmv4<<= 1;
> -        prefix++;
> -    }
> -    return prefix;
> -}
> -
>   const char *if_type(struct netcf *ncf, const char *intf) {
>       char *path;
>       struct stat stats;
> @@ -656,85 +602,6 @@ int dutil_put_aug(struct netcf *ncf, const char *aug_xml, char **ncf_xml) {
>       return result;
>   }
>
> -/* Given an xml document that follows interface.rng, add the IP
> - * address and prefix under protocol/ip
> - */
> -void add_ipv4_state_to_xml_doc(xmlDocPtr doc, struct netcf *ncf ATTRIBUTE_UNUSED,
> -                          unsigned int ipv4, int prefix) {
> -
> -    xmlNodePtr root = NULL, proto = NULL, ip = NULL, cur;
> -    xmlAttrPtr prop = NULL;
> -    char ip_str[48], prefix_str[16];
> -
> -
> -    root = xmlDocGetRootElement(doc);
> -    ERR_THROW((root == NULL), ncf, EINTERNAL,
> -              "failed to get document root element");
> -
> -    ERR_THROW(!xmlStrEqual(root->name, BAD_CAST "interface"),
> -              ncf, EINTERNAL, "root document is not an interface");
> -
> -    for (cur = root->children; cur != NULL; cur = cur->next) {
> -        if ((cur->type == XML_ELEMENT_NODE)&&
> -            xmlStrEqual(cur->name, BAD_CAST "protocol")) {
> -            xmlChar *family = xmlGetProp(cur, BAD_CAST "family");
> -            if (family != NULL) {
> -                if (xmlStrEqual(family, BAD_CAST "ipv4"))
> -                    proto = cur;
> -                xmlFree(family);
> -                if (proto != NULL) {
> -                    break;
> -                }
> -            }
> -        }
> -    }
> -
> -    if ((ipv4 != 0)&&  (proto == NULL)) {
> -        proto = xmlNewDocNode(doc, NULL, BAD_CAST "protocol", NULL);
> -        ERR_NOMEM(proto == NULL, ncf);
> -
> -        cur = xmlAddChild(root, proto);
> -        ERR_NOMEM(cur == NULL, ncf);
> -        prop = xmlSetProp(proto, BAD_CAST "family", BAD_CAST "ipv4");
> -        ERR_NOMEM(prop == NULL, ncf);
> -
> -    }
> -
> -    if (proto == NULL)
> -        return;
> -
> -    /* remove all existing ip nodes from the protocol node - we only
> -     * want addresses retrieved from the device in the output.
> -     */
> -    cur = proto->children;
> -    while(cur != NULL) {
> -        xmlNodePtr next = cur->next;
> -        if ((cur->type == XML_ELEMENT_NODE)&&
> -            (xmlStrEqual(cur->name, BAD_CAST "ip"))) {
> -            xmlUnlinkNode(cur);
> -            xmlFreeNode(cur);
> -        }
> -        cur = next;
> -    }
> -
> -    if (ipv4 != 0) {
> -        ip = xmlNewDocNode(doc, NULL, BAD_CAST "ip", NULL);
> -        ERR_NOMEM((ip == NULL), ncf);
> -        cur = xmlAddChild(proto, ip);
> -        ERR_NOMEM((cur == NULL), ncf);
> -
> -        inet_ntop(AF_INET, (struct in_addr *)&ipv4, ip_str, sizeof(ip_str));
> -        prop = xmlSetProp(ip, BAD_CAST "address", BAD_CAST ip_str);
> -        ERR_NOMEM((prop == NULL), ncf);
> -        snprintf(prefix_str, sizeof(prefix_str), "%d", prefix);
> -        prop = xmlSetProp(ip, BAD_CAST "prefix", BAD_CAST prefix_str);
> -        ERR_NOMEM((prop == NULL), ncf);
> -    }
> -
> -error:
> -    return;
> -}
> -
>   /* Data that needs to be preserved between calls to the libnl iterator
>    * callback.
>    */
> diff --git a/src/dutil.h b/src/dutil.h
> index f664a05..93dae1a 100644
> --- a/src/dutil.h
> +++ b/src/dutil.h
> @@ -122,17 +122,6 @@ int netlink_close(struct netcf *ncf);
>   /* Check if the interface INTF is up using an ioctl call */
>   int if_is_active(struct netcf *ncf, const char *intf);
>
> -/* Get the current IPv4 address of INTF as an unsigned int using an ioctl call */
> -unsigned int if_ipv4_address(struct netcf *ncf, const char *intf);
> -
> -/* get the current IPv4 netmask of INTF as an unsigned int using an ioctl call */
> -unsigned int if_ipv4_netmask(struct netcf *ncf, const char *intf);
> -
> -/* get the current IPv4 prefix (#bits of netmask) of INTF as an
> - * int using an ioctl call */
> -
> -int if_ipv4_prefix(struct netcf *ncf, const char *intf);
> -
>   /* return the type of the interface - "ethernet" (physical device),
>    * "bridge", "bond", or "vlan"
>    */
> @@ -147,9 +136,6 @@ int dutil_get_aug(struct netcf *ncf, const char *ncf_xml, char **aug_xml);
>   /* Transform the Augeas XML AUG_XML into interface XML NCF_XML */
>   int dutil_put_aug(struct netcf *ncf, const char *aug_xml, char **ncf_xml);
>
> -/* add the given state (currently IP + netmask) to the interface's xml document */
> -void add_ipv4_state_to_xml_doc(xmlDocPtr doc, struct netcf *ncf, unsigned int ipv4, int prefix);
> -
>   /* Add the state of the interface (currently all addresses + netmasks)
>    * to its xml document.
>    */
>    



More information about the netcf-devel mailing list