gateway
struct sockaddr *gateway, const char *ifname)
af = gateway->sa_family;
setaddr(RTA_GATEWAY, &rtm->rtm_addrs, &addrs, gateway);
resolve_hosts(char **hostname_list, int num_gw, struct gateway **gw_addrsp,
struct gateway *gw_addrs = NULL;
struct gateway *gw;
struct addrinfo *res, *host, *gateway, *addr;
gw_addrs = calloc(num_gw + 1, sizeof (struct gateway));
rc = getaddrinfo(hostname_list[i], NULL, NULL, &gateway);
for (addr = gateway; addr != NULL; addr = addr->ai_next) {
prepare_optbuf(struct gateway *gw_addrs, int num_gw, char **opt_bufpp,
prepare_optbuf6(struct gateway *gw_addrs, int num_gw, char **opt_bufpp,
struct gateway *gw_addrs;
rtcmd(uchar_t type, struct in6_addr *dst, struct in6_addr *gateway,
rta_gateway->sin6_addr = *gateway;
char gateway[INET_ADDRSTRLEN];
(void) inet_ntop(AF_INET, &tag_value[8], gateway,
"%s\t%s\t%s\t%d", dest, mask, gateway, metric);
if (gatewayp->s_addr == table[i].gateway.s_addr)
table[index].gateway.s_addr = gatewayp->s_addr;
table[index].gateway.s_addr = htonl(INADDR_ANY);
return (&table[index].gateway);
struct in_addr gateway;
ipaddr_t src, dst, gateway;
gateway = icmph->icmph_rd_gateway;
ire = ire_ftable_lookup_v4(gateway, 0, 0, IRE_ONLINK, NULL,
(uchar_t *)&gateway, /* gateway addr */
ip_rts_change(RTM_REDIRECT, dst, gateway, IP_HOST_MASK, 0, src,
icmp_send_redirect(mblk_t *mp, ipaddr_t gateway, ip_recv_attr_t *ira)
icmph.icmph_rd_gateway = gateway;
in6_addr_t *src, *dst, *gateway;
gateway = &rd->nd_rd_target;
if (!(IN6_IS_ADDR_LINKLOCAL(gateway) ||
IN6_ARE_ADDR_EQUAL(gateway, dst))) {
if (!IN6_ARE_ADDR_EQUAL(gateway, dst)) {
gateway = dst; /* Add nce for dst */
gateway, ncec_flags, ND_STALE, &nce);
ASSERT(IN6_IS_ADDR_LINKLOCAL(gateway));
gateway, /* gateway addr */
const in6_addr_t *gateway, int type, const ill_t *ill,
if (ire_match_args_v6(ire, addr, mask, gateway, type,
&ire->ire_mask_v6, gateway, type, ill,
ire_delete_host_redirects_v6(const in6_addr_t *gateway, ip_stack_t *ipst)
if (IN6_ARE_ADDR_EQUAL(&gw_addr_v6, gateway))
const in6_addr_t *gateway, int type, const ill_t *ill, zoneid_t zoneid,
ASSERT((!(match_flags & MATCH_IRE_GW)) || gateway != NULL);
const in6_addr_t *gateway, int type, const ill_t *ill,
IN6_ARE_ADDR_EQUAL(&gw_addr_v6, gateway)) &&
ire_gateway_ok_zone_v6(const in6_addr_t *gateway, zoneid_t zoneid, ill_t *ill,
ire = ire_ftable_lookup_impl_v6(gateway, &ipv6_all_zeros,
const in6_addr_t *gateway, int type, const ill_t *ill,
ASSERT((!(flags & MATCH_IRE_GW)) || gateway != NULL);
ire = ire_ftable_lookup_impl_v6(addr, mask, gateway, type, ill, zoneid,
if (gateway != NULL)
margs.ift_gateway_v6 = *gateway;
sin6->sin6_addr = *gateway;
const in6_addr_t *mask, const in6_addr_t *gateway,
margs.ift_gateway = gateway;
ire_del_host_redir(ire_t *ire, char *gateway)
(ire->ire_gateway_addr == *(ipaddr_t *)gateway))
ire_delete_host_redirects(ipaddr_t gateway, ip_stack_t *ipst)
rtfarg.rt_arg = (void *)&gateway;
ire_ftable_lookup_v4(ipaddr_t addr, ipaddr_t mask, ipaddr_t gateway,
ire_match_args(ire_t *ire, ipaddr_t addr, ipaddr_t mask, ipaddr_t gateway,
(ire->ire_gateway_addr == gateway)) &&
ire_gateway_ok_zone_v4(ipaddr_t gateway, zoneid_t zoneid, ill_t *ill,
rdst.rt_sin_addr.s_addr = gateway;
ire_init_v4(ire_t *ire, uchar_t *addr, uchar_t *mask, uchar_t *gateway,
if (gateway != NULL)
bcopy(gateway, &ire->ire_gateway_addr, IP_ADDR_LEN);
ire_create(uchar_t *addr, uchar_t *mask, uchar_t *gateway,
error = ire_init_v4(ire, addr, mask, gateway, type, ill, zoneid, flags,
ipaddr_t gateway, ipaddr_t src_addr, ipaddr_t brd_addr, ipaddr_t author,
sin->sin_addr.s_addr = gateway;
ipaddr_t mask, ipaddr_t gateway, ipaddr_t src_addr, ipaddr_t brd_addr,
if (af == AF_INET && gateway != NULL) {
rt_sin->sin_addr.s_addr = gateway->s_addr;
struct in_addr *mybraddr, struct in_addr *gateway, char *ifname)
u32_t gateway[4];
wqnp->gateway.un.ip4addr = ire->ire_gateway_addr;
wqnp->src_addr.family = wqnp->gateway.family =
wqnp->gateway.un.ip6addr = ire->ire_gateway_addr_v6;
wqnp->src_addr.family = wqnp->gateway.family =
union nvm_iscsi_ipv4_addr gateway; /* 0x8 */
union nvm_iscsi_ipv6_addr gateway; /* 0x20 */
struct in_addr *mybraddr, struct in_addr *gateway, char *ifname);
ibt_ip_addr_t gateway; /* rts returned gateway addr */