ra_prefix_conf
struct ra_prefix_conf *ra_prefix_conf;
ra_prefix_conf))
ra_prefix_conf))) == NULL)
sizeof(struct ra_prefix_conf));
ra_prefix_conf))
if ((ra_prefix_conf = malloc(sizeof(struct
ra_prefix_conf))) == NULL)
memcpy(ra_prefix_conf, imsg.data, sizeof(struct
ra_prefix_conf));
ra_prefix_conf, entry);
struct ra_prefix_conf *prefix;
get_interface_prefixes(struct ra_iface *ra_iface, struct ra_prefix_conf
struct ra_prefix_conf*
struct ra_prefix_conf *ra_prefix_conf;
SIMPLEQ_FOREACH(ra_prefix_conf, head, entry) {
if (ra_prefix_conf->prefixlen == prefixlen &&
memcmp(&ra_prefix_conf->prefix, prefix, sizeof(*prefix)) ==
return (ra_prefix_conf);
int prefixlen, struct ra_prefix_conf *ra_prefix_conf, int autoconf,
struct ra_prefix_conf *new_ra_prefix_conf;
struct ra_prefix_conf *pc;
if ((new_ra_prefix_conf = calloc(1, sizeof(*ra_prefix_conf))) == NULL)
new_ra_prefix_conf->vltime = ra_prefix_conf->vltime;
new_ra_prefix_conf->pltime = ra_prefix_conf->pltime;
new_ra_prefix_conf->aflag = ra_prefix_conf->aflag;
new_ra_prefix_conf->lflag = ra_prefix_conf->lflag;
struct ra_prefix_conf *ra_prefix_conf;
SIMPLEQ_FOREACH(ra_prefix_conf, &ra_iface->prefixes, entry) {
ndopt_pi->nd_opt_pi_prefix_len = ra_prefix_conf->prefixlen;
if (ra_prefix_conf->lflag)
if (ra_prefix_conf->aflag)
if (ra_prefix_conf->autoconf) {
ra_prefix_conf->pltime, ra_prefix_conf->if_pltime);
ra_prefix_conf->vltime, ra_prefix_conf->if_vltime);
pltime = ra_prefix_conf->pltime;
vltime = ra_prefix_conf->vltime;
ndopt_pi->nd_opt_pi_prefix = ra_prefix_conf->prefix;
struct ra_prefix_conf *find_ra_prefix_conf(struct ra_prefix_conf_head*,
struct in6_addr *, int, struct ra_prefix_conf *,
struct ra_prefix_conf *, struct ifaddrs *);
struct ra_prefix_conf *ra_prefix_conf;
ra_prefix_conf))
ra_prefix_conf))) == NULL)
sizeof(struct ra_prefix_conf));
ra_prefix_conf))
if ((ra_prefix_conf = malloc(sizeof(struct
ra_prefix_conf))) == NULL)
memcpy(ra_prefix_conf, imsg.data,
sizeof(struct ra_prefix_conf));
ra_prefix_conf, entry);
struct ra_prefix_conf *ra_prefix_conf;
while ((ra_prefix_conf = SIMPLEQ_FIRST(&ra_iface->prefixes))
free(ra_prefix_conf);
SIMPLEQ_FOREACH(ra_prefix_conf, &ra_iface_conf->ra_prefix_list,
&ra_prefix_conf->prefix,
ra_prefix_conf->prefixlen, ra_prefix_conf, 0,
struct ra_prefix_conf *conf_get_ra_prefix(struct in6_addr*, int);
struct ra_prefix_conf *
struct ra_prefix_conf *prefix;
ra_prefix_conf = ra_iface_conf->autoprefix;
ra_prefix_conf = NULL;
ra_prefix_conf = conf_get_ra_prefix(&addr, prefixlen);
ra_prefix_conf = NULL;
ra_prefix_conf->vltime = $3;
ra_prefix_conf->pltime = $3;
ra_prefix_conf->lflag = $2;
ra_prefix_conf->aflag = $3;
static struct ra_prefix_conf *ra_prefix_conf;
print_prefix_options(const char *indent, const struct ra_prefix_conf
*ra_prefix_conf)
printf("%svalid lifetime %u\n", indent, ra_prefix_conf->vltime);
printf("%spreferred lifetime %u\n", indent, ra_prefix_conf->pltime);
printf("%son-link %s\n", indent, yesno(ra_prefix_conf->lflag));
yesno(ra_prefix_conf->aflag));
struct ra_prefix_conf *prefix;
void print_prefix_options(const char*, const struct ra_prefix_conf*);
struct ra_prefix_conf *ra_prefix_conf;
SIMPLEQ_FOREACH(ra_prefix_conf, &ra_iface_conf->ra_prefix_list,
ra_prefix_conf, sizeof(*ra_prefix_conf)) == -1)
struct ra_prefix_conf *prefix;
SIMPLEQ_ENTRY(ra_prefix_conf) entry;
struct ra_prefix_conf *autoprefix;
ra_prefix_conf) ra_prefix_list;