sctp_ifn
struct sctp_ifn *sctp_ifn;
LIST_FOREACH(sctp_ifn, &vrf->ifnlist, next_ifn) {
SCTP_IFN_IS_IFT_LOOP(sctp_ifn)) {
LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
struct sctp_ifn *sctp_ifn;
LIST_FOREACH(sctp_ifn, &vrf->ifnlist, next_ifn) {
if (loopback_scope == 0 && SCTP_IFN_IS_IFT_LOOP(sctp_ifn)) {
LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
struct sctp_ifn *sctp_ifnp;
sctp_asconf_nets_cleanup(struct sctp_tcb *stcb, struct sctp_ifn *ifn)
struct sctp_ifn *sctp_ifnp;
struct sctp_ifn *sctp_ifn;
sctp_ifn = sctp_find_ifn(ifn, ifn_index);
if (sctp_ifn) {
LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
struct sctp_ifn *sctp_ifn;
sctp_ifn = sctp_find_ifn(ifn, ifn_index);
if (sctp_ifn) {
LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
sctp_select_nth_preferred_addr_from_ifn_boundall(struct sctp_ifn *ifn,
sctp_count_num_preferred_boundall(struct sctp_ifn *ifn,
struct sctp_ifn *sctp_ifn, *looked_at = NULL, *emit_ifn;
emit_ifn = looked_at = sctp_ifn = sctp_find_ifn(ifn, ifn_index);
if (sctp_ifn == NULL) {
ifn_index, sctp_ifn->ifn_name);
num_preferred = sctp_count_num_preferred_boundall(sctp_ifn,
num_preferred, sctp_ifn->ifn_name);
sctp_ifa = sctp_select_nth_preferred_addr_from_ifn_boundall(sctp_ifn, inp, stcb, non_asoc_addr_ok, dest_is_loop,
LIST_FOREACH(sctp_ifn, &vrf->ifnlist, next_ifn) {
sctp_ifn->ifn_name);
if (dest_is_loop == 0 && SCTP_IFN_IS_IFT_LOOP(sctp_ifn)) {
if ((sctp_ifn == looked_at) && looked_at) {
num_preferred = sctp_count_num_preferred_boundall(sctp_ifn, inp, stcb, non_asoc_addr_ok,
num_preferred, (void *)sctp_ifn, cur_addr_num);
sifa = sctp_select_nth_preferred_addr_from_ifn_boundall(sctp_ifn, inp, stcb, non_asoc_addr_ok, dest_is_loop,
LIST_FOREACH(sctp_ifn, &vrf->ifnlist, next_ifn) {
if (dest_is_loop == 0 && SCTP_IFN_IS_IFT_LOOP(sctp_ifn)) {
LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
LIST_FOREACH(sctp_ifn, &vrf->ifnlist, next_ifn) {
if (dest_is_loop == 0 && SCTP_IFN_IS_IFT_LOOP(sctp_ifn)) {
LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
struct sctp_ifn *
struct sctp_ifn *sctp_ifnp;
sctp_free_ifn(struct sctp_ifn *sctp_ifnp)
sctp_delete_ifn(struct sctp_ifn *sctp_ifnp)
sctp_add_ifa_to_ifn(struct sctp_ifn *sctp_ifnp, struct sctp_ifa *sctp_ifap)
struct sctp_ifn *sctp_ifnp, *new_sctp_ifnp;
SCTP_MALLOC(new_sctp_ifnp, struct sctp_ifn *,
sizeof(struct sctp_ifn), SCTP_M_IFN);
memset(sctp_ifnp, 0, sizeof(struct sctp_ifn));
struct sctp_ifn *ifn, *nifn;
struct sctp_ifn *sctp_ifn;
LIST_FOREACH(sctp_ifn, &vrf->ifnlist, next_ifn) {
SCTP_IFN_IS_IFT_LOOP(sctp_ifn)) {
LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
struct sctp_ifn *ifn_p; /* back pointer to parent ifn */
LIST_HEAD(sctp_ifnlist, sctp_ifn);
struct sctp_ifn *sctp_find_ifn(void *ifn, uint32_t ifn_index);
LIST_ENTRY(sctp_ifn) next_ifn;
LIST_ENTRY(sctp_ifn) next_bucket;
struct sctp_ifn *sctp_ifn;
LIST_FOREACH(sctp_ifn, &vrf->ifnlist, next_ifn) {
LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
struct sctp_ifn *sctp_ifn;
LIST_FOREACH(sctp_ifn, &vrf->ifnlist, next_ifn) {
if ((loopback_scope == 0) && SCTP_IFN_IS_IFT_LOOP(sctp_ifn)) {
LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
LIST_FOREACH(sctp_ifn, &vrf->ifnlist, next_ifn) {
SCTP_IFN_IS_IFT_LOOP(sctp_ifn)) {
LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
struct sctp_ifn *sctp_ifn;
LIST_FOREACH(sctp_ifn, &vrf->ifnlist, next_ifn) {
LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {
struct sctp_ifn *sctp_ifn;
struct sctp_ifn *sctp_ifn;
LIST_FOREACH(sctp_ifn, &vrf->ifnlist, next_ifn) {
SCTP_IFN_IS_IFT_LOOP(sctp_ifn)) {
LIST_FOREACH(sctp_ifa, &sctp_ifn->ifalist, next_ifa) {