ifinfo
interface_status(struct interface_info *ifinfo)
char *ifname = ifinfo->name;
int ifsock = ifinfo->rfdesc;
if (ifinfo->noifmedia)
ifinfo->noifmedia = 1;
ifinfo->noifmedia = 1;
static int interface_status(struct interface_info *ifinfo);
struct ifinfomsg *ifinfo;
ifinfo = nlmsg_copy_next_header(hdr, nw, struct ifinfomsg);
ifinfo->ifi_family = bsd_to_linux_domain(ifinfo->ifi_family);
switch (ifinfo->ifi_type) {
ifinfo->ifi_type = LINUX_ARPHRD_ETHER;
ifinfo->ifi_flags = rtnl_if_flags_to_linux(ifinfo->ifi_flags);
static SYSCTL_NODE(_net_inet_igmp, OID_AUTO, ifinfo,
static SYSCTL_NODE(_net_inet6_mld, OID_AUTO, ifinfo,
struct ifinfomsg *ifinfo;
ifinfo = nlmsg_reserve_object(nw, struct ifinfomsg);
ifinfo->ifi_family = AF_UNSPEC;
ifinfo->__ifi_pad = 0;
ifinfo->ifi_type = if_gettype(ifp);
ifinfo->ifi_index = if_getindex(ifp);
ifinfo->ifi_flags = ifp_flags_to_netlink(ifp);
ifinfo->ifi_change = if_flags_mask;
ifinfo->ifi_flags |= IFF_LOWER_UP;
static void ifinfo(char *, int, char **);
ifinfo(arg, argc, argv);
struct ifinfo *ifi;
TAILQ_HEAD(, ifinfo) ifl = TAILQ_HEAD_INITIALIZER(ifl);
struct ifinfo *ifi_s;
ifi_s = (struct ifinfo *)cp.cp_val;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
rm_ifinfo(struct ifinfo *ifi)
struct ifinfo *
getconfig(struct ifinfo *ifi)
extern struct ifinfo *getconfig(struct ifinfo *);
extern int rm_ifinfo(struct ifinfo *);
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *
struct ifinfo *ifi;
update_ifinfo_nd_flags(struct ifinfo *ifi)
struct ifinfo *
struct ifinfo *ifi = NULL;
struct ifinfo *update_ifinfo(struct ifilist_head_t *, int);
int update_ifinfo_nd_flags(struct ifinfo *);
struct ifinfo *update_persist_ifinfo(struct ifilist_head_t *,
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *
struct ifinfo *ifi;
ra_output(struct ifinfo *ifi)
static void set_short_delay(struct ifinfo *);
struct ifinfo *ifi;
ifi = (struct ifinfo *)arg;
struct ifinfo *ifi;
ifi = (struct ifinfo *)arg;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
struct ifinfo *ifi;
set_short_delay(struct ifinfo *ifi)
struct ifinfo *rai_ifinfo;
TAILQ_ENTRY(ifinfo) ifi_next;
extern TAILQ_HEAD(ifilist_head_t, ifinfo) ifilist;
void ra_output(struct ifinfo *);
struct ifinfo *if_indextoifinfo(int);
struct ifinfo *ifi;
cap_probe_defrouters(cap_channel_t *cap, struct ifinfo *ifinfo)
nvlist_add_number(nvl, "ifindex", ifinfo->sdl->sdl_index);
nvlist_add_number(nvl, "linkid", ifinfo->linkid);
return (probe_defrouters(ifinfo->sdl->sdl_index, ifinfo->linkid));
cap_rssend(cap_channel_t *cap, struct ifinfo *ifinfo)
nvlist_add_number(nvl, "ifindex", ifinfo->sdl->sdl_index);
nvlist_add_number(nvl, "linkid", ifinfo->linkid);
nvlist_add_binary(nvl, "data", ifinfo->rs_data, ifinfo->rs_datalen);
error = rssend(ifinfo->sdl->sdl_index, ifinfo->linkid, ifinfo->rs_data,
ifinfo->rs_datalen);
ifinfo->probes++;
ifinfo->ifname, strerror(errno));
struct ifinfo *ifi;
interface_status(struct ifinfo *ifinfo)
char *ifname = ifinfo->ifname;
if (!ifinfo->mediareqok)
ifinfo->mediareqok = 0;
struct ifinfo *ifi;
struct ifinfo *ifi = NULL;
ra_opt_handler(struct ifinfo *ifi)
ra_opt_rdnss_dispatch(struct ifinfo *ifi, struct rainfo *rai,
static int ra_opt_rdnss_dispatch(struct ifinfo *, struct rainfo *,
static int make_packet(struct ifinfo *);
struct ifinfo *ifi;
struct ifinfo *ifi;
find_rainfo(struct ifinfo *ifi, struct sockaddr_in6 *sin6)
struct ifinfo *
struct ifinfo *ifi;
make_packet(struct ifinfo *ifi)
struct ifinfo *ifi;
rtsol_timer_update(struct ifinfo *ifi)
extern TAILQ_HEAD(ifinfo_head_t, ifinfo) ifinfo_head;
struct ifinfo *find_ifinfo(int);
struct rainfo *find_rainfo(struct ifinfo *, struct sockaddr_in6 *);
void rtsol_timer_update(struct ifinfo *);
extern int ra_opt_handler(struct ifinfo *);
extern int interface_status(struct ifinfo *);
extern int cap_probe_defrouters(struct cap_channel *, struct ifinfo *);
extern int cap_rssend(struct cap_channel *, struct ifinfo *);
struct ifinfo *rai_ifinfo;
TAILQ_ENTRY(ifinfo) ifi_next; /* pointer to the next interface */