static void rtnl_rttable_initialize(void) { int i; rtnl_rttable_init = 1; for (i = 0; i < 256; i++) { if (rtnl_rttable_hash[i]) rtnl_rttable_hash[i]->id = i; } rtnl_hash_initialize(CONFDIR "/rt_tables", rtnl_rttable_hash, 256); }
static void rtnl_rttable_initialize(void) { struct dirent *de; DIR *d; int i; rtnl_rttable_init = 1; for (i = 0; i < 256; i++) { if (rtnl_rttable_hash[i]) rtnl_rttable_hash[i]->id = i; } rtnl_hash_initialize(CONFDIR "/rt_tables", rtnl_rttable_hash, 256); d = opendir(CONFDIR "/rt_tables.d"); if (!d) return; while ((de = readdir(d)) != NULL) { char path[PATH_MAX]; size_t len; if (*de->d_name == '.') continue; /* only consider filenames ending in '.conf' */ len = strlen(de->d_name); if (len <= 5) continue; if (strcmp(de->d_name + len - 5, ".conf")) continue; snprintf(path, sizeof(path), CONFDIR "/rt_tables.d/%s", de->d_name); rtnl_hash_initialize(path, rtnl_rttable_hash, 256); } closedir(d); }
static void rtnl_group_initialize(void) { rtnl_group_init = 1; rtnl_hash_initialize("/etc/iproute2/group", rtnl_group_hash, 256); }
static void rtnl_rttable_initialize(void) { rtnl_rttable_init = 1; rtnl_hash_initialize("/etc/iproute2/rt_tables", rtnl_rttable_hash, 256); }
static void rtnl_group_initialize(void) { rtnl_group_init = 1; rtnl_hash_initialize(CONFDIR "/group", rtnl_group_hash, 256); }