Lines Matching refs:hwaddr
536 struct in_addr *addrp, unsigned char *hwaddr, int hw_len,
540 a particular hwaddr/clientid/hostname in our configuration.
548 /* hash hwaddr */
550 j += hwaddr[i] + (hwaddr[i] << 8) + (hwaddr[i] << 16);
560 /* pick a seed based on hwaddr then iterate until we find a free address. */
653 int config_has_mac(struct dhcp_config *config, unsigned char *hwaddr, int len, int type)
657 for (conf_addr = config->hwaddr; conf_addr; conf_addr = conf_addr->next)
661 memcmp(conf_addr->hwaddr, hwaddr, len) == 0)
670 unsigned char *hwaddr, int hw_len,
696 if (config_has_mac(config, hwaddr, hw_len, hw_type) &&
710 for (conf_addr = config->hwaddr; conf_addr; conf_addr = conf_addr->next)
714 (new = memcmp_masked(conf_addr->hwaddr, hwaddr, hw_len, conf_addr->wildcard_mask)) > count)
730 unsigned char hwaddr[ETHER_ADDR_LEN];
753 free(config->hwaddr);
775 if (!*ip || parse_hex(buff, hwaddr, ETHER_ADDR_LEN, NULL, NULL) != ETHER_ADDR_LEN)
828 struct hwaddr_config *conf_addr = config->hwaddr;
834 memcmp(conf_addr->hwaddr, hwaddr, ETHER_ADDR_LEN) == 0)
843 config->hwaddr = NULL;
862 if (!config->hwaddr)
863 config->hwaddr = whine_malloc(sizeof(struct hwaddr_config));
864 if (config->hwaddr)
866 memcpy(config->hwaddr->hwaddr, hwaddr, ETHER_ADDR_LEN);
867 config->hwaddr->hwaddr_len = ETHER_ADDR_LEN;
868 config->hwaddr->hwaddr_type = ARPHRD_ETHER;
869 config->hwaddr->wildcard_mask = 0;
870 config->hwaddr->next = NULL;