Lines Matching refs:ro

2454     sctp_route_t * ro,
2473 ifn = SCTP_GET_IFN_VOID_FROM_ROUTE(ro);
2474 ifn_index = SCTP_GET_IF_INDEX_FROM_ROUTE(ro);
2586 sctp_route_t * ro,
2609 ifn = SCTP_GET_IFN_VOID_FROM_ROUTE(ro);
2610 ifn_index = SCTP_GET_IF_INDEX_FROM_ROUTE(ro);
2780 sctp_route_t * ro
2790 memcpy(&sin6, &ro->ro_dst, sizeof(struct sockaddr_in6));
2852 if (sctp_v6src_match_nexthop(&sifa->address.sin6, ro)
2862 if (sctp_v4src_match_nexthop(sifa, ro) == 0) {
2954 sctp_route_t * ro,
2991 ifn = SCTP_GET_IFN_VOID_FROM_ROUTE(ro);
2992 ifn_index = SCTP_GET_IF_INDEX_FROM_ROUTE(ro);
3035 dest_is_priv, cur_addr_num, fam, ro);
3088 dest_is_priv, cur_addr_num, fam, ro);
3098 SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT2, &net->ro._l_addr.sa);
3309 sctp_route_t * ro,
3318 struct sockaddr_in *to = (struct sockaddr_in *)&ro->ro_dst;
3322 struct sockaddr_in6 *to6 = (struct sockaddr_in6 *)&ro->ro_dst;
3388 if (ro->ro_rt == NULL) {
3392 SCTP_RTALLOC(ro, vrf_id);
3394 if (ro->ro_rt == NULL) {
3397 fam = ro->ro_dst.sa_family;
3419 SCTP_ROUTE_IS_REAL_LOOP(ro)) {
3438 SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT2, (struct sockaddr *)&ro->ro_dst);
3444 answer = sctp_choose_boundall(inp, stcb, net, ro, vrf_id,
3454 answer = sctp_choose_boundspecific_stcb(inp, stcb, ro,
3459 answer = sctp_choose_boundspecific_inp(inp, ro, vrf_id,
3932 SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT1, &net->ro._l_addr.sa);
3956 if (net->ro._s_addr) {
3957 sctp_free_ifa(net->ro._s_addr);
3958 net->ro._s_addr = NULL;
4019 sctp_route_t *ro = NULL;
4124 ro = &iproute;
4126 memcpy(&ro->ro_dst, to, to->sa_len);
4128 ro = (sctp_route_t *) & net->ro;
4135 if (net->ro._s_addr && (net->ro._s_addr->localifa_flags & (SCTP_BEING_DELETED | SCTP_ADDR_IFA_UNUSEABLE))) {
4136 sctp_free_ifa(net->ro._s_addr);
4137 net->ro._s_addr = NULL;
4139 if (ro->ro_rt) {
4140 RTFREE(ro->ro_rt);
4141 ro->ro_rt = NULL;
4146 net->ro._s_addr = sctp_source_address_selection(inp, stcb,
4147 ro, net, 0,
4151 if (net->ro._s_addr == NULL) {
4159 ip->ip_src = net->ro._s_addr->address.sin.sin_addr;
4164 _lsrc = sctp_source_address_selection(inp, stcb, ro,
4178 SCTP_RTALLOC(ro, vrf_id);
4214 if (ro->ro_rt == NULL) {
4225 if (ro != &iproute) {
4226 memcpy(&iproute, ro, sizeof(*ro));
4233 (void *)ro->ro_rt);
4272 SCTP_IP_OUTPUT(ret, o_pak, ro, stcb, vrf_id);
4290 RO_RTFREE(ro);
4296 if ((ro->ro_rt != NULL) &&
4297 (net->ro._s_addr)) {
4300 mtu = SCTP_GATHER_MTU_FROM_ROUTE(net->ro._s_addr, &net->ro._l_addr.sa, ro->ro_rt);
4308 } else if (ro->ro_rt == NULL) {
4310 if (net->ro._s_addr &&
4312 sctp_free_ifa(net->ro._s_addr);
4313 net->ro._s_addr = NULL;
4394 ro = (sctp_route_t *) & ip6route;
4395 memcpy(&ro->ro_dst, sin6, sin6->sin6_len);
4397 ro = (sctp_route_t *) & net->ro;
4440 if (net->ro._s_addr && (net->ro._s_addr->localifa_flags & (SCTP_BEING_DELETED | SCTP_ADDR_IFA_UNUSEABLE))) {
4441 sctp_free_ifa(net->ro._s_addr);
4442 net->ro._s_addr = NULL;
4444 if (ro->ro_rt) {
4445 RTFREE(ro->ro_rt);
4446 ro->ro_rt = NULL;
4450 sin6 = (struct sockaddr_in6 *)&net->ro._l_addr;
4457 net->ro._s_addr = sctp_source_address_selection(inp,
4459 ro,
4466 if (net->ro._s_addr == NULL) {
4474 lsa6->sin6_addr = net->ro._s_addr->address.sin6.sin6_addr;
4476 sin6 = (struct sockaddr_in6 *)&ro->ro_dst;
4485 _lsrc = sctp_source_address_selection(inp, stcb, ro,
4499 SCTP_RTALLOC(ro, vrf_id);
4505 if (ro->ro_rt == NULL) {
4559 * chance that our ro pointer is now filled
4561 ip6h->ip6_hlim = SCTP_GET_HLIM(inp, ro);
4562 ifp = SCTP_GET_IFN_VOID_FROM_ROUTE(ro);
4576 sin6 = (struct sockaddr_in6 *)&net->ro._l_addr;
4621 SCTP_IP6_OUTPUT(ret, o_pak, (struct route_in6 *)ro, &ifp, stcb, vrf_id);
4644 RO_RTFREE(ro);
4650 if (ro->ro_rt == NULL) {
4652 if (net->ro._s_addr &&
4654 sctp_free_ifa(net->ro._s_addr);
4655 net->ro._s_addr = NULL;
4659 if ((ro->ro_rt != NULL) &&
4660 (net->ro._s_addr)) {
4663 mtu = SCTP_GATHER_MTU_FROM_ROUTE(net->ro._s_addr, &net->ro._l_addr.sa, ro->ro_rt);
4729 if (net->ro._l_addr.sa.sa_family == AF_INET6) {
4734 if (IN6_IS_ADDR_LINKLOCAL(&net->ro._l_addr.sin6.sin6_addr))
4971 (struct sockaddr *)&net->ro._l_addr,
5360 sa = (struct sockaddr *)&net->ro._l_addr;
5443 sa = (struct sockaddr *)&net->ro._l_addr;
5732 if (lnet->ro._l_addr.sin6.sin6_family == AF_INET6) {
5733 if (IN6_IS_ADDR_LINKLOCAL(&lnet->ro._l_addr.sin6.sin6_addr)) {
5744 to = (struct sockaddr *)&net->ro._l_addr;
5759 net->ro._s_addr = sctp_source_address_selection(inp,
5760 stcb, (sctp_route_t *) & net->ro,
5762 if (net->ro._s_addr == NULL)
5768 stc.laddress[0] = net->ro._s_addr->address.sin.sin_addr.s_addr;
5789 net->ro._s_addr = sctp_source_address_selection(inp,
5790 stcb, (sctp_route_t *) & net->ro,
5792 if (net->ro._s_addr == NULL)
5797 memcpy(&stc.laddress, &net->ro._s_addr->address.sin6.sin6_addr,
7657 switch (net->ro._l_addr.sa.sa_family) {
8007 if ((net->ro.ro_rt) && (net->ro.ro_rt->rt_ifp)) {
8014 ifp = net->ro.ro_rt->rt_ifp;
8023 switch (((struct sockaddr *)&net->ro._l_addr)->sa_family) {
8177 (struct sockaddr *)&net->ro._l_addr,
8233 switch (net->ro._l_addr.sa.sa_family) {
8450 (struct sockaddr *)&net->ro._l_addr,
8512 switch (net->ro._l_addr.sa.sa_family) {
8574 switch (((struct sockaddr *)&net->ro._l_addr)->sa_family) {
8790 (struct sockaddr *)&net->ro._l_addr,
9499 (struct sockaddr *)&chk->whoTo->ro._l_addr, m,
9568 switch (net->ro._l_addr.sa.sa_family) {
9766 (struct sockaddr *)&net->ro._l_addr, m,
10907 (struct sockaddr *)&net->ro._l_addr,
10945 (struct sockaddr *)&net->ro._l_addr,
11248 switch (net->ro._l_addr.sa.sa_family) {
11295 hb->heartbeat.hb_info.addr_family = net->ro._l_addr.sa.sa_family;
11296 hb->heartbeat.hb_info.addr_len = net->ro._l_addr.sa.sa_len;
11308 switch (net->ro._l_addr.sa.sa_family) {
11312 &net->ro._l_addr.sin.sin_addr,
11313 sizeof(net->ro._l_addr.sin.sin_addr));
11319 &net->ro._l_addr.sin6.sin6_addr,
11320 sizeof(net->ro._l_addr.sin6.sin6_addr));
12515 * value. It defaulted to 1500 (constant) but the ro
13474 sctp_v6src_match_nexthop(struct sockaddr_in6 *src6, sctp_route_t * ro)
13480 if (ro == NULL || ro->ro_rt == NULL || src6->sin6_family != AF_INET6)
13510 SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT2, ro->ro_rt->rt_gateway);
13512 ro->ro_rt->rt_gateway)) {
13524 sctp_v4src_match_nexthop(struct sctp_ifa *sifa, sctp_route_t * ro)
13531 if (ro == NULL || ro->ro_rt == NULL ||
13543 sin = (struct sockaddr_in *)ro->ro_rt->rt_gateway;
13546 SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT2, ro->ro_rt->rt_gateway);