RTAX_GATEWAY
case RTAX_GATEWAY:
case RTAX_GATEWAY:
(hdr->rtm_addrs & (1 << RTAX_GATEWAY)) == 0 ||
getaddr(RTAX_GATEWAY, *argv, nrflags);
case RTAX_GATEWAY:
NEXTADDR(RTA_GATEWAY, so[RTAX_GATEWAY]);
if (sp[RTAX_GATEWAY] && (rtm->rtm_flags & RTF_GATEWAY))
(void)printf(" gateway: %s\n", routename(sp[RTAX_GATEWAY]));
getaddr(RTAX_GATEWAY, *++argv, nrflags);
struct sockaddr *gw = get_addr(so, rtm_addrs, RTAX_GATEWAY);
#define INFO_GATE(I) ((I)->rti_info[RTAX_GATEWAY])
info.rti_info[RTAX_GATEWAY] = (struct sockaddr *)&nd->mygateway;
(struct sockaddr_dl *)info->rti_info[RTAX_GATEWAY];
.rti_info[RTAX_GATEWAY] = gateway,
const struct sockaddr *gw = info->rti_info[RTAX_GATEWAY];
gateway = info->rti_info[RTAX_GATEWAY];
gw = info->rti_info[RTAX_GATEWAY];
if (info->rti_info[RTAX_GATEWAY] == NULL) {
info_gw = info->rti_info[RTAX_GATEWAY];
(info->rti_info[RTAX_GATEWAY] == NULL)) {
info->rti_info[RTAX_GATEWAY] != NULL) ||
const struct sockaddr *gw = info->rti_info[RTAX_GATEWAY];
gateway = info->rti_info[RTAX_GATEWAY];
struct gw_filter_data gwd = { .gw = info->rti_info[RTAX_GATEWAY] };
info.rti_info[RTAX_GATEWAY] = (struct sockaddr *)&null_sdl;
if (info.rti_info[RTAX_GATEWAY] == NULL) {
struct sockaddr_dl *sdl = (struct sockaddr_dl *)info->rti_info[RTAX_GATEWAY];
struct sockaddr *gw = info->rti_info[RTAX_GATEWAY];
info->rti_info[RTAX_GATEWAY] = sa;
info->rti_info[RTAX_GATEWAY] = sa;
if (info->rti_info[RTAX_GATEWAY] != NULL)
if (info->rti_info[RTAX_GATEWAY] != NULL)
info.rti_info[RTAX_GATEWAY] = &nh->gw_sa;
info.rti_info[RTAX_GATEWAY] = ifma->ifma_lladdr;
info.rti_info[RTAX_GATEWAY] = &nh->gw_sa;
info.rti_info[RTAX_GATEWAY] =
info->rti_info[RTAX_GATEWAY] = &saun->sa;
if (info->rti_info[RTAX_GATEWAY] != NULL &&
info->rti_info[RTAX_GATEWAY]->sa_family != AF_LINK) {
nh = rib_lookup(fibnum, info->rti_info[RTAX_GATEWAY], NHR_NONE, 0);
nh = select_nhop(rt_get_raw_nhop(rc->rc_rt), info->rti_info[RTAX_GATEWAY]);
nh = select_nhop(rt_get_raw_nhop(rc->rc_rt), info->rti_info[RTAX_GATEWAY]);
info->rti_info[RTAX_GATEWAY] = &nh->gw_sa;
[RTAX_GATEWAY] = (struct sockaddr *)&sdl,
[RTAX_GATEWAY] = (struct sockaddr *)&sdl,
info.rti_info[RTAX_GATEWAY] = (struct sockaddr *)&gateway;
rtinfo.rti_info[RTAX_GATEWAY] = (struct sockaddr *)&gw;
[RTAX_GATEWAY] = (struct sockaddr *)&sdl,
&info->rti_info[RTAX_GATEWAY],
info.rti_info[RTAX_GATEWAY] = (struct sockaddr *)&ifctx->gw;
info.rti_info[RTAX_GATEWAY] = (struct sockaddr *)&ifctx->gw;
protrusion = p_sockaddr("gateway", addr[RTAX_GATEWAY], NULL, RTF_HOST,
if (sa[RTAX_DST] && sa[RTAX_GATEWAY]) {
p_sockaddr(arg->prompt, sa[RTAX_GATEWAY], NULL, 20);
sa[RTAX_DST] && sa[RTAX_GATEWAY] &&
ncpaddr_setsa(&gw, sa[RTAX_GATEWAY]);
if (sa[RTAX_GATEWAY]->sa_family == AF_INET ||
sa[RTAX_GATEWAY]->sa_family == AF_INET6 ||
sa[RTAX_GATEWAY]->sa_family == AF_LINK) {
sa[RTAX_GATEWAY]->sa_family);
sa[RTAX_GATEWAY] && rtm->rtm_index == bundle->iface->index) {
rt_Update(bundle, sa[RTAX_DST], sa[RTAX_GATEWAY], sa[RTAX_NETMASK],
if (!rta[RTAX_DST] || !rta[RTAX_GATEWAY]) {
if (rt_del(rta[RTAX_DST], rta[RTAX_GATEWAY],
if ((gw = rti_info[RTAX_GATEWAY]) == NULL ||
return (((struct sockaddr_dl *)rti_info[RTAX_GATEWAY])->sdl_index);