diff options
author | tuexen <tuexen@FreeBSD.org> | 2015-06-20 08:25:27 +0000 |
---|---|---|
committer | tuexen <tuexen@FreeBSD.org> | 2015-06-20 08:25:27 +0000 |
commit | 103d48d60e51144677efde9f37ee95451df279b3 (patch) | |
tree | dd4bc6fee1b5b7ca088e686fafc159ee65aba9d3 /sys/netinet/sctp_pcb.c | |
parent | 4aefd42d20938c97e197e74118a18aaef1b971ee (diff) | |
download | FreeBSD-src-103d48d60e51144677efde9f37ee95451df279b3.zip FreeBSD-src-103d48d60e51144677efde9f37ee95451df279b3.tar.gz |
MFC r284515:
Add FIB support for SCTP.
This fixes https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200379
PR: 200379
Diffstat (limited to 'sys/netinet/sctp_pcb.c')
-rw-r--r-- | sys/netinet/sctp_pcb.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c index 1d79f02..344cdfc 100644 --- a/sys/netinet/sctp_pcb.c +++ b/sys/netinet/sctp_pcb.c @@ -2489,6 +2489,7 @@ sctp_inpcb_alloc(struct socket *so, uint32_t vrf_id) inp->reconfig_supported = (uint8_t) SCTP_BASE_SYSCTL(sctp_reconfig_enable); inp->nrsack_supported = (uint8_t) SCTP_BASE_SYSCTL(sctp_nrsack_enable); inp->pktdrop_supported = (uint8_t) SCTP_BASE_SYSCTL(sctp_pktdrop_enable); + inp->fibnum = so->so_fibnum; /* init the small hash table we use to track asocid <-> tcb */ inp->sctp_asocidhash = SCTP_HASH_INIT(SCTP_STACK_VTAG_HASH_SIZE, &inp->hashasocidmark); if (inp->sctp_asocidhash == NULL) { @@ -3953,7 +3954,9 @@ sctp_add_remote_addr(struct sctp_tcb *stcb, struct sockaddr *newaddr, sin6->sin6_scope_id = 0; } #endif - SCTP_RTALLOC((sctp_route_t *) & net->ro, stcb->asoc.vrf_id); + SCTP_RTALLOC((sctp_route_t *) & net->ro, + stcb->asoc.vrf_id, + stcb->sctp_ep->fibnum); if (SCTP_ROUTE_HAS_VALID_IFN(&net->ro)) { /* Get source address */ |