Home | History | Annotate | Download | only in netinet

Lines Matching defs:ro

2509 			      sctp_route_t *ro,
2528 ifn = SCTP_GET_IFN_VOID_FROM_ROUTE(ro);
2529 ifn_index = SCTP_GET_IF_INDEX_FROM_ROUTE(ro);
2646 sctp_route_t *ro,
2669 ifn = SCTP_GET_IFN_VOID_FROM_ROUTE(ro);
2670 ifn_index = SCTP_GET_IF_INDEX_FROM_ROUTE(ro);
2849 sctp_route_t *ro
2859 memcpy(&sin6, &ro->ro_dst, sizeof(struct sockaddr_in6));
2929 if (sctp_v6src_match_nexthop(&sifa->address.sin6, ro)
2939 if (sctp_v4src_match_nexthop(sifa, ro) == 0) {
3038 sctp_route_t *ro,
3073 ifn = SCTP_GET_IFN_VOID_FROM_ROUTE(ro);
3074 ifn_index = SCTP_GET_IF_INDEX_FROM_ROUTE(ro);
3117 dest_is_priv, cur_addr_num, fam, ro);
3170 dest_is_priv, cur_addr_num, fam, ro);
3180 SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT2, &net->ro._l_addr.sa);
3395 sctp_route_t *ro,
3403 struct sockaddr_in *to = (struct sockaddr_in *)&ro->ro_dst;
3406 struct sockaddr_in6 *to6 = (struct sockaddr_in6 *)&ro->ro_dst;
3471 if (ro->ro_rt == NULL) {
3475 SCTP_RTALLOC(ro, vrf_id);
3477 if (ro->ro_rt == NULL) {
3480 fam = ro->ro_dst.sa_family;
3505 SCTP_ROUTE_IS_REAL_LOOP(ro)) {
3525 SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT2, (struct sockaddr *)&ro->ro_dst);
3531 answer = sctp_choose_boundall(inp, stcb, net, ro, vrf_id,
3541 answer = sctp_choose_boundspecific_stcb(inp, stcb, ro,
3546 answer = sctp_choose_boundspecific_inp(inp, ro, vrf_id,
4045 SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT1, &net->ro._l_addr.sa);
4069 if (net->ro._s_addr) {
4070 sctp_free_ifa(net->ro._s_addr);
4071 net->ro._s_addr = NULL;
4136 sctp_route_t *ro = NULL;
4283 ro = &iproute;
4286 memcpy(&ro->ro_dst, to, to->sa_len);
4288 memcpy(&ro->ro_dst, to, sizeof(struct sockaddr_in));
4291 ro = (sctp_route_t *)&net->ro;
4298 if (net->ro._s_addr && (net->ro._s_addr->localifa_flags & (SCTP_BEING_DELETED|SCTP_ADDR_IFA_UNUSEABLE))) {
4299 sctp_free_ifa(net->ro._s_addr);
4300 net->ro._s_addr = NULL;
4302 if (ro->ro_rt) {
4303 RTFREE(ro->ro_rt);
4304 ro->ro_rt = NULL;
4309 net->ro._s_addr = sctp_source_address_selection(inp,stcb,
4310 ro, net, 0,
4314 if (net->ro._s_addr == NULL) {
4322 ip->ip_src = net->ro._s_addr->address.sin.sin_addr;
4327 _lsrc = sctp_source_address_selection(inp, stcb, ro,
4341 SCTP_RTALLOC(ro, vrf_id);
4385 if (ro->ro_rt == NULL) {
4396 if (ro != &iproute) {
4397 memcpy(&iproute, ro, sizeof(*ro));
4404 (void *)ro->ro_rt);
4457 SCTP_IP_OUTPUT(ret, o_pak, ro, stcb, vrf_id);
4476 RO_RTFREE(ro);
4478 if (ro->ro_rt) {
4479 RTFREE(ro->ro_rt);
4480 ro->ro_rt = NULL;
4485 if ((ro->ro_rt != NULL) &&
4486 (net->ro._s_addr)) {
4488 mtu = SCTP_GATHER_MTU_FROM_ROUTE(net->ro._s_addr, &net->ro._l_addr.sa, ro->ro_rt);
4496 } else if (ro->ro_rt == NULL) {
4498 if (net->ro._s_addr &&
4500 sctp_free_ifa(net->ro._s_addr);
4501 net->ro._s_addr = NULL;
4604 ro = (sctp_route_t *)&ip6route;
4606 memcpy(&ro->ro_dst, sin6, sin6->sin6_len);
4608 memcpy(&ro->ro_dst, sin6, sizeof(struct sockaddr_in6));
4611 ro = (sctp_route_t *)&net->ro;
4660 if (net->ro._s_addr && (net->ro._s_addr->localifa_flags & (SCTP_BEING_DELETED|SCTP_ADDR_IFA_UNUSEABLE))) {
4661 sctp_free_ifa(net->ro._s_addr);
4662 net->ro._s_addr = NULL;
4664 if (ro->ro_rt) {
4665 RTFREE(ro->ro_rt);
4666 ro->ro_rt = NULL;
4671 sin6 = (struct sockaddr_in6 *)&net->ro._l_addr;
4690 net->ro._s_addr = sctp_source_address_selection(inp,
4692 ro,
4705 if (net->ro._s_addr == NULL) {
4713 lsa6->sin6_addr = net->ro._s_addr->address.sin6.sin6_addr;
4716 sin6 = (struct sockaddr_in6 *)&ro->ro_dst;
4737 _lsrc = sctp_source_address_selection(inp, stcb, ro,
4751 SCTP_RTALLOC(ro, vrf_id);
4763 if (ro->ro_rt == NULL) {
4828 * that our ro pointer is now filled
4830 ip6h->ip6_hlim = SCTP_GET_HLIM(inp, ro);
4832 ifp = SCTP_GET_IFN_VOID_FROM_ROUTE(ro);
4847 sin6 = (struct sockaddr_in6 *)&net->ro._l_addr;
4914 SCTP_IP6_OUTPUT(ret, o_pak, (struct route_in6 *)ro, &ifp, stcb, vrf_id);
4916 SCTP_IP6_OUTPUT(ret, o_pak, (struct route_in6 *)ro, NULL, stcb, vrf_id);
4941 RO_RTFREE(ro);
4943 if (ro->ro_rt) {
4944 RTFREE(ro->ro_rt);
4945 ro->ro_rt = NULL;
4950 if (ro->ro_rt == NULL) {
4952 if (net->ro._s_addr &&
4954 sctp_free_ifa(net->ro._s_addr);
4955 net->ro._s_addr = NULL;
4959 if ((ro->ro_rt != NULL) &&
4960 (net->ro._s_addr)) {
4962 mtu = SCTP_GATHER_MTU_FROM_ROUTE(net->ro._s_addr, &net->ro._l_addr.sa, ro->ro_rt);
5092 if (net->ro._l_addr.sa.sa_family == AF_INET6) {
5097 if (IN6_IS_ADDR_LINKLOCAL(&net->ro._l_addr.sin6.sin6_addr))
5323 (struct sockaddr *)&net->ro._l_addr,
5710 sa = (struct sockaddr *)&net->ro._l_addr;
5793 sa = (struct sockaddr *)&net->ro._l_addr;
6126 if (lnet->ro._l_addr.sin6.sin6_family == AF_INET6) {
6127 if (IN6_IS_ADDR_LINKLOCAL(&lnet->ro._l_addr.sin6.sin6_addr)) {
6138 to = (struct sockaddr *)&net->ro._l_addr;
6153 net->ro._s_addr = sctp_source_address_selection(inp,
6154 stcb, (sctp_route_t *)&net->ro,
6156 if (net->ro._s_addr == NULL)
6162 stc.laddress[0] = net->ro._s_addr->address.sin.sin_addr.s_addr;
6183 net->ro._s_addr = sctp_source_address_selection(inp,
6184 stcb, (sctp_route_t *)&net->ro,
6186 if (net->ro._s_addr == NULL)
6191 memcpy(&stc.laddress, &net->ro._s_addr->address.sin6.sin6_addr,
8081 switch (net->ro._l_addr.sa.sa_family) {
8440 if ((net->ro.ro_rt) && (net->ro.ro_rt->rt_ifp)) {
8447 ifp = net->ro.ro_rt->rt_ifp;
8457 switch (((struct sockaddr *)&net->ro._l_addr)->sa_family) {
8618 (struct sockaddr *)&net->ro._l_addr,
8676 switch (net->ro._l_addr.sa.sa_family) {
8887 (struct sockaddr *)&net->ro._l_addr,
8951 switch (net->ro._l_addr.sa.sa_family) {
9018 switch (((struct sockaddr *)&net->ro._l_addr)->sa_family) {
9232 (struct sockaddr *)&net->ro._l_addr,
9954 (struct sockaddr *)&chk->whoTo->ro._l_addr, m,
10025 switch (net->ro._l_addr.sa.sa_family) {
10225 (struct sockaddr *)&net->ro._l_addr, m,
11393 (struct sockaddr *)&net->ro._l_addr,
11433 (struct sockaddr *)&net->ro._l_addr,
11476 sctp_route_t ro;
11684 bzero(&ro, sizeof(sctp_route_t));
11686 ro._l_addr.sa.sa_family = AF_INET;
11749 SCTP_IP_OUTPUT(ret, o_pak, &ro, NULL, vrf_id);
11751 if (ro.ro_rt) {
11752 RTFREE(ro.ro_rt);
11753 ro.ro_rt = NULL;
11875 switch (net->ro._l_addr.sa.sa_family) {
11927 hb->heartbeat.hb_info.addr_family = net->ro._l_addr.sa.sa_family;
11929 hb->heartbeat.hb_info.addr_len = net->ro._l_addr.sa.sa_len;
11931 switch (net->ro._l_addr.sa.sa_family) {
11963 switch (net->ro._l_addr.sa.sa_family) {
11967 &net->ro._l_addr.sin.sin_addr,
11968 sizeof(net->ro._l_addr.sin.sin_addr));
11974 &net->ro._l_addr.sin6.sin6_addr,
11975 sizeof(net->ro._l_addr.sin6.sin6_addr));
11981 &net->ro._l_addr.sconn.sconn_addr,
11982 sizeof(net->ro._l_addr.sconn.sconn_addr));
13472 * value. It defaulted to 1500 (constant) but the ro
14545 sctp_v6src_match_nexthop(struct sockaddr_in6 *src6, sctp_route_t *ro)
14551 if (ro == NULL || ro->ro_rt == NULL || src6->sin6_family != AF_INET6)
14584 SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT2, ro->ro_rt->rt_gateway);
14586 ro->ro_rt->rt_gateway)) {
14597 sctp_v4src_match_nexthop(struct sctp_ifa *sifa, sctp_route_t *ro)
14604 if (ro == NULL || ro->ro_rt == NULL ||
14616 sin = (struct sockaddr_in *)ro->ro_rt->rt_gateway;
14619 SCTPDBG_ADDR(SCTP_DEBUG_OUTPUT2, ro->ro_rt->rt_gateway);
14630 sctp_v6src_match_nexthop(struct sockaddr_in6 *src6, sctp_route_t *ro)
14635 sctp_v4src_match_nexthop(struct sctp_ifa *sifa, sctp_route_t *ro)