Lines Matching refs:addrs
92 struct mptcp_subflow_addrs addrs; member
120 struct mptcp_subflow_addrs addrs; member
433 } addrs; in do_getsockopt_subflow_addrs() local
435 memset(&addrs, 0, sizeof(addrs)); in do_getsockopt_subflow_addrs()
439 addrs.d.size_subflow_data = sizeof(struct mptcp_subflow_data); in do_getsockopt_subflow_addrs()
440 addrs.d.size_user = sizeof(struct mptcp_subflow_addrs); in do_getsockopt_subflow_addrs()
441 olen = sizeof(addrs); in do_getsockopt_subflow_addrs()
443 ret = getsockopt(fd, SOL_MPTCP, MPTCP_SUBFLOW_ADDRS, &addrs, &olen); in do_getsockopt_subflow_addrs()
447 assert(olen <= sizeof(addrs)); in do_getsockopt_subflow_addrs()
448 assert(addrs.d.size_kernel > 0); in do_getsockopt_subflow_addrs()
449 assert(addrs.d.size_user == in do_getsockopt_subflow_addrs()
450 MIN(addrs.d.size_kernel, sizeof(struct mptcp_subflow_addrs))); in do_getsockopt_subflow_addrs()
451 assert(addrs.d.num_subflows == 1); in do_getsockopt_subflow_addrs()
455 assert(olen == addrs.d.size_user); in do_getsockopt_subflow_addrs()
471 assert(memcmp(&local, &addrs.addr[0].ss_local, sizeof(local)) == 0); in do_getsockopt_subflow_addrs()
472 assert(memcmp(&remote, &addrs.addr[0].ss_remote, sizeof(remote)) == 0); in do_getsockopt_subflow_addrs()
473 s->addrs = addrs.addr[0]; in do_getsockopt_subflow_addrs()
475 memset(&addrs, 0, sizeof(addrs)); in do_getsockopt_subflow_addrs()
477 addrs.d.size_subflow_data = sizeof(struct mptcp_subflow_data); in do_getsockopt_subflow_addrs()
478 addrs.d.size_user = sizeof(sa_family_t); in do_getsockopt_subflow_addrs()
479 olen = sizeof(addrs.d) + sizeof(sa_family_t); in do_getsockopt_subflow_addrs()
481 ret = getsockopt(fd, SOL_MPTCP, MPTCP_SUBFLOW_ADDRS, &addrs, &olen); in do_getsockopt_subflow_addrs()
483 assert(olen == sizeof(addrs.d) + sizeof(sa_family_t)); in do_getsockopt_subflow_addrs()
485 assert(addrs.addr[0].sa_family == pf); in do_getsockopt_subflow_addrs()
486 assert(addrs.addr[0].sa_family == local.ss_family); in do_getsockopt_subflow_addrs()
488 assert(memcmp(&local, &addrs.addr[0].ss_local, sizeof(local)) != 0); in do_getsockopt_subflow_addrs()
489 assert(memcmp(&remote, &addrs.addr[0].ss_remote, sizeof(remote)) != 0); in do_getsockopt_subflow_addrs()
545 assert(!memcmp(&sfinfo->addrs, &s->addrs, sizeof(struct mptcp_subflow_addrs))); in do_getsockopt_mptcp_full_info()