diff --git a/gtests/net/packetdrill/run_packet.c b/gtests/net/packetdrill/run_packet.c index 819587d9273d02aee86109e0df9a8e80fce8303a..b4d4a43bf020d77fd751e5ac7b6ddcce3b81c122 100644 --- a/gtests/net/packetdrill/run_packet.c +++ b/gtests/net/packetdrill/run_packet.c @@ -2697,13 +2697,8 @@ static int do_inbound_script_packet( } if (live_packet->ipv6 != NULL) { - uint32_t null_ip[4] = {0x00, 0x00, 0x00, 0x00}; -#if defined(linux) - if (memcmp(&(live_packet->ipv6->src_ip.__in6_u.__u6_addr32), &null_ip, sizeof(uint32_t) * 4) == 0) { -#elif defined(__FreeBSD__) || defined(OpenBSD) || defined(NetBSD) - if (memcmp(&(live_packet->ipv6->src_ip.__u6_addr.__u6_addr32), &null_ip, sizeof(uint32_t) * 4) == 0) { -#endif - + if (IN6_IS_ADDR_UNSPECIFIED(&live_packet->ipv6->src_ip)) { + DEBUGP("live_packet->ipv6->src_ip.s_addr == 0\n"); state->socket_under_test = setup_new_child_socket(state, packet); struct tuple live_inbound; socket_get_inbound(&state->socket_under_test->live, &live_inbound); diff --git a/gtests/net/packetdrill/run_system_call.c b/gtests/net/packetdrill/run_system_call.c index 492abf05310c81765388f260aaa4ac0543e85fec..c786b08af5d1ca41be47e8ff8345978e655007e0 100644 --- a/gtests/net/packetdrill/run_system_call.c +++ b/gtests/net/packetdrill/run_system_call.c @@ -1842,7 +1842,7 @@ static int run_syscall_connect(struct state *state, socket->script.remote.port = 0; socket->script.local.port = 0; socket->live.remote.ip = state->config->live_remote_ip; - socket->live.remote.port = htons(state->config->live_connect_port); + socket->live.remote.port = htons(state->config->live_connect_port); DEBUGP("success: setting socket to state %d\n", socket->state); return STATUS_OK; } @@ -2925,7 +2925,7 @@ static int check_sctp_default_prinfo(struct expression *expression, return STATUS_ERR; if (check_u32_expr(expr->pr_value, info->pr_value, "sctp_default_prinfo.pr_value", error)) - return STATUS_ERR; + return STATUS_ERR; } else { return STATUS_ERR; } @@ -2985,7 +2985,7 @@ static int check_sctp_assoc_ids(struct sctp_assoc_ids_expr *expr, struct sctp_assoc_ids *sctp_assoc_ids, char **error) { int list_len = 0, i = 0; - struct expression *assoc_id; + struct expression *assoc_id; struct expression_list *ids; if (check_u32_expr(expr->gaids_number_of_ids, sctp_assoc_ids->gaids_number_of_ids, @@ -2995,7 +2995,7 @@ static int check_sctp_assoc_ids(struct sctp_assoc_ids_expr *expr, ids = expr->gaids_assoc_id->value.list; list_len = expression_list_length(ids); if (list_len != sctp_assoc_ids->gaids_number_of_ids) { - asprintf(error, "live gaids_number_if_ids unequal to length if expected gaids_assoc_id. actual %u, expected %d", + asprintf(error, "live gaids_number_if_ids unequal to length if expected gaids_assoc_id. actual %u, expected %d", sctp_assoc_ids->gaids_number_of_ids, list_len); return STATUS_ERR; } @@ -3297,7 +3297,7 @@ static int syscall_getsockopt(struct state *state, struct syscall_spec *syscall, case EXPR_SCTP_AUTHCHUNKS: { int len = expression_list_length(val_expression->value.sctp_authchunks->gauth_chunks->value.list); live_optval = malloc(sizeof(sctp_assoc_t) + sizeof(u32) + (sizeof(u8) * len)); - live_optlen = sizeof(sctp_assoc_t) + sizeof(u32) + (sizeof(u8) * len); + live_optlen = sizeof(sctp_assoc_t) + sizeof(u32) + (sizeof(u8) * len); if (get_sctp_assoc_t(val_expression->value.sctp_authchunks->gauth_assoc_id, &((struct sctp_authchunks *)live_optval)->gauth_assoc_id, error)) { @@ -3387,7 +3387,7 @@ static int syscall_getsockopt(struct state *state, struct syscall_spec *syscall, case EXPR_SCTP_HMACALGO: result = check_sctp_hamcalgo(val_expression->value.sctp_hmacalgo, live_optval, error); break; -#endif +#endif #ifdef SCTP_SS_VALUE case EXPR_SCTP_STREAM_VALUE: result = check_sctp_stream_value(val_expression->value.sctp_stream_value, live_optval, error); @@ -3843,8 +3843,8 @@ static int syscall_setsockopt(struct state *state, struct syscall_spec *syscall, &default_prinfo.pr_assoc_id, error)) { return STATUS_ERR; } - optval = &default_prinfo; - break; + optval = &default_prinfo; + break; #endif #ifdef SCTP_PRIMARY_ADDR case EXPR_SCTP_SETPRIM: @@ -3856,7 +3856,7 @@ static int syscall_setsockopt(struct state *state, struct syscall_spec *syscall, &setprim.ssp_addr, live_fd)) { return STATUS_ERR; } - optval = &setprim; + optval = &setprim; break; #endif #ifdef SCTP_ADAPTATION_LAYER @@ -3886,7 +3886,7 @@ static int syscall_setsockopt(struct state *state, struct syscall_spec *syscall, if (get_u8(val_expression->value.sctp_authchunk->sauth_chunk, &authchunk.sauth_chunk, error)) { return STATUS_ERR; - } + } optval = &authchunk; break; #endif @@ -4014,11 +4014,12 @@ static int syscall_setsockopt(struct state *state, struct syscall_spec *syscall, return STATUS_ERR; } - for (i = 0; i < len; i++) { - struct expression *expr; - expr = get_arg(list, i, error); - get_u16(expr, &(reset_streams->srs_stream_list[i]), error); - } + for (i = 0; i < len; i++) { + struct expression *expr; + + expr = get_arg(list, i, error); + get_u16(expr, &(reset_streams->srs_stream_list[i]), error); + } optval = &reset_streams; break; @@ -4623,7 +4624,7 @@ static int get_sockaddr_from_list(struct expression *expr, size_t *addr_size, st addr_size = 0; *addrs = NULL; return STATUS_ERR; - } + } } #endif @@ -4860,7 +4861,7 @@ static int syscall_sctp_sendv(struct state *state, struct syscall_spec *syscall, return STATUS_OK; error_out: if (iov != NULL) - iovec_free(iov, script_iovec_list_len); + iovec_free(iov, script_iovec_list_len); free(addrs); return STATUS_ERR; #else @@ -5731,7 +5732,7 @@ static int syscall_sctp_peeloff(struct state *state, struct syscall_spec *syscal return STATUS_ERR; //check connection Type and set assoc_id if one-to-many style socket - + begin_syscall(state, syscall); result = sctp_peeloff(live_fd, assoc_id); diff --git a/gtests/net/packetdrill/tests/bsd/sctp/sctp_reconfig/sctp_add_streams.pkt b/gtests/net/packetdrill/tests/bsd/sctp/sctp_reconfig/sctp_add_streams.pkt index f075989e393f96bc17f22f64d5f23f0d90d85873..1f7a50af99366ce8936f34a439d1b17b17d79f48 100644 --- a/gtests/net/packetdrill/tests/bsd/sctp/sctp_reconfig/sctp_add_streams.pkt +++ b/gtests/net/packetdrill/tests/bsd/sctp/sctp_reconfig/sctp_add_streams.pkt @@ -12,17 +12,6 @@ +0.1 < sctp: COOKIE_ACK[flgs=0] +0.0 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 -+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS, {spp_assoc_id=3, - spp_address={sa_family=AF_INET, - sin_port=htons(8080), - sin_addr=inet_addr("192.0.2.1")}, - spp_hbinterval=0, - spp_pathmaxrxt=8, - spp_pathmtu=1468, - spp_flags=SPP_HB_DISABLE, - spp_ipv6_flowlabel=0, - spp_dscp=0}, 152) = 0 - +0 setsockopt(3, IPPROTO_SCTP, SCTP_ENABLE_STREAM_RESET, {assoc_id=0, assoc_value=SCTP_ENABLE_RESET_STREAM_REQ}, 8) = 0 +0 setsockopt(3, IPPROTO_SCTP, SCTP_ADD_STREAMS, {sas_instrms=20, diff --git a/gtests/net/packetdrill/tests/bsd/sctp/sctp_reconfig/sctp_reset_assoc.pkt b/gtests/net/packetdrill/tests/bsd/sctp/sctp_reconfig/sctp_reset_assoc.pkt index 00c759f340f3b1c3ba47d9fa1405c69486311e88..e5081031c5f958664afc9b60c7e594d931f4a321 100644 --- a/gtests/net/packetdrill/tests/bsd/sctp/sctp_reconfig/sctp_reset_assoc.pkt +++ b/gtests/net/packetdrill/tests/bsd/sctp/sctp_reconfig/sctp_reset_assoc.pkt @@ -11,18 +11,6 @@ +0.0 > sctp: COOKIE_ECHO[flgs=0, len=4, val=...] +0.1 < sctp: COOKIE_ACK[flgs=0] +0.0 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 -//sendmsg(sd, msghdr, flags) - -+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS, {spp_assoc_id=3, - spp_address={sa_family=AF_INET, - sin_port=htons(8080), - sin_addr=inet_addr("192.0.2.1")}, - spp_hbinterval=0, - spp_pathmaxrxt=8, - spp_pathmtu=1468, - spp_flags=SPP_HB_DISABLE, - spp_ipv6_flowlabel=0, - spp_dscp=0}, 152) = 0 +0 setsockopt(3, IPPROTO_SCTP, SCTP_ENABLE_STREAM_RESET, {assoc_id=0, assoc_value=SCTP_ENABLE_RESET_ASSOC_REQ}, 8) = 0 diff --git a/gtests/net/packetdrill/tests/bsd/sctp/sctp_reconfig/sctp_reset_streams.pkt b/gtests/net/packetdrill/tests/bsd/sctp/sctp_reconfig/sctp_reset_streams.pkt index 90731a2c963070917685f50a977349feff4528d8..1e6e1969ac3939a4179facc91b64da9e24d439c1 100644 --- a/gtests/net/packetdrill/tests/bsd/sctp/sctp_reconfig/sctp_reset_streams.pkt +++ b/gtests/net/packetdrill/tests/bsd/sctp/sctp_reconfig/sctp_reset_streams.pkt @@ -11,18 +11,6 @@ +0.0 > sctp: COOKIE_ECHO[flgs=0, len=4, val=...] +0.1 < sctp: COOKIE_ACK[flgs=0] +0.0 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 -//sendmsg(sd, msghdr, flags) - -+0.0 setsockopt(3, IPPROTO_SCTP, SCTP_PEER_ADDR_PARAMS, {spp_assoc_id=3, - spp_address={sa_family=AF_INET, - sin_port=htons(8080), - sin_addr=inet_addr("192.0.2.1")}, - spp_hbinterval=0, - spp_pathmaxrxt=8, - spp_pathmtu=1468, - spp_flags=SPP_HB_DISABLE, - spp_ipv6_flowlabel=0, - spp_dscp=0}, 152) = 0 +0 setsockopt(3, IPPROTO_SCTP, SCTP_ENABLE_STREAM_RESET, {assoc_id=0, assoc_value=SCTP_ENABLE_RESET_STREAM_REQ}, 8) = 0