|
@@ -2923,7 +2923,7 @@ static __be16 sctp_process_asconf_param(struct sctp_association *asoc,
|
|
|
asconf_param->param_hdr.type != SCTP_PARAM_SET_PRIMARY)
|
|
|
return SCTP_ERROR_UNKNOWN_PARAM;
|
|
|
|
|
|
- switch (addr_param->v4.param_hdr.type) {
|
|
|
+ switch (addr_param->p.type) {
|
|
|
case SCTP_PARAM_IPV6_ADDRESS:
|
|
|
if (!asoc->peer.ipv6_address)
|
|
|
return SCTP_ERROR_DNS_FAILED;
|
|
@@ -2936,7 +2936,7 @@ static __be16 sctp_process_asconf_param(struct sctp_association *asoc,
|
|
|
return SCTP_ERROR_DNS_FAILED;
|
|
|
}
|
|
|
|
|
|
- af = sctp_get_af_specific(param_type2af(addr_param->v4.param_hdr.type));
|
|
|
+ af = sctp_get_af_specific(param_type2af(addr_param->p.type));
|
|
|
if (unlikely(!af))
|
|
|
return SCTP_ERROR_DNS_FAILED;
|
|
|
|
|
@@ -3100,7 +3100,7 @@ struct sctp_chunk *sctp_process_asconf(struct sctp_association *asoc,
|
|
|
/* Skip the address parameter and store a pointer to the first
|
|
|
* asconf parameter.
|
|
|
*/
|
|
|
- length = ntohs(addr_param->v4.param_hdr.length);
|
|
|
+ length = ntohs(addr_param->p.length);
|
|
|
asconf_param = (sctp_addip_param_t *)((void *)addr_param + length);
|
|
|
chunk_len -= length;
|
|
|
|
|
@@ -3177,7 +3177,7 @@ static void sctp_asconf_param_success(struct sctp_association *asoc,
|
|
|
((void *)asconf_param + sizeof(sctp_addip_param_t));
|
|
|
|
|
|
/* We have checked the packet before, so we do not check again. */
|
|
|
- af = sctp_get_af_specific(param_type2af(addr_param->v4.param_hdr.type));
|
|
|
+ af = sctp_get_af_specific(param_type2af(addr_param->p.type));
|
|
|
af->from_addr_param(&addr, addr_param, htons(bp->port), 0);
|
|
|
|
|
|
switch (asconf_param->param_hdr.type) {
|
|
@@ -3304,7 +3304,7 @@ int sctp_process_asconf_ack(struct sctp_association *asoc,
|
|
|
/* Skip the address parameter in the last asconf sent and store a
|
|
|
* pointer to the first asconf parameter.
|
|
|
*/
|
|
|
- length = ntohs(addr_param->v4.param_hdr.length);
|
|
|
+ length = ntohs(addr_param->p.length);
|
|
|
asconf_param = (sctp_addip_param_t *)((void *)addr_param + length);
|
|
|
asconf_len -= length;
|
|
|
|