summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_pcb.c
diff options
context:
space:
mode:
authortuexen <tuexen@FreeBSD.org>2011-08-14 20:55:32 +0000
committertuexen <tuexen@FreeBSD.org>2011-08-14 20:55:32 +0000
commit2a294422d7cbc769259a70bfdc56ef00645605a2 (patch)
tree0cf6d630bf1b965d8d20ba9c0f82eaf1aec7b1f1 /sys/netinet/sctp_pcb.c
parentf05ee4368a00ea0456bb093923ed94e412c7a7a3 (diff)
downloadFreeBSD-src-2a294422d7cbc769259a70bfdc56ef00645605a2.zip
FreeBSD-src-2a294422d7cbc769259a70bfdc56ef00645605a2.tar.gz
Add support for the spp_dscp field in the SCTP_PEER_ADDR_PARAMS
socket option. Backwards compatibility is provided by still supporting the spp_ipv4_tos field. Approved by: re@ MFC after: 2 months.
Diffstat (limited to 'sys/netinet/sctp_pcb.c')
-rw-r--r--sys/netinet/sctp_pcb.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c
index 728fa7c..912e348 100644
--- a/sys/netinet/sctp_pcb.c
+++ b/sys/netinet/sctp_pcb.c
@@ -4009,20 +4009,13 @@ sctp_add_remote_addr(struct sctp_tcb *stcb, struct sockaddr *newaddr,
stcb->asoc.numnets++;
*(&net->ref_count) = 1;
net->cwr_window_tsn = net->last_cwr_tsn = stcb->asoc.sending_seq - 1;
- net->tos_flowlabel = 0;
if (SCTP_BASE_SYSCTL(sctp_udp_tunneling_for_client_enable)) {
net->port = htons(SCTP_BASE_SYSCTL(sctp_udp_tunneling_port));
} else {
net->port = 0;
}
-#ifdef INET
- if (newaddr->sa_family == AF_INET)
- net->tos_flowlabel = stcb->asoc.default_tos;
-#endif
-#ifdef INET6
- if (newaddr->sa_family == AF_INET6)
- net->tos_flowlabel = stcb->asoc.default_flowlabel;
-#endif
+ net->dscp = stcb->asoc.default_dscp;
+ net->flowlabel = stcb->asoc.default_flowlabel;
if (sctp_is_feature_on(stcb->sctp_ep, SCTP_PCB_FLAGS_DONOT_HEARTBEAT)) {
net->dest_state |= SCTP_ADDR_NOHB;
} else {
OpenPOWER on IntegriCloud