diff options
author | rrs <rrs@FreeBSD.org> | 2007-06-14 22:59:04 +0000 |
---|---|---|
committer | rrs <rrs@FreeBSD.org> | 2007-06-14 22:59:04 +0000 |
commit | 5db775aaced05bbda585e596739fe8150a74d68d (patch) | |
tree | 54d00675be01f15ab0ef5ba5c19c020edee43762 /sys/netinet/sctp_pcb.h | |
parent | 491996f8103df505e60bc52e817f90a4bccba59e (diff) | |
download | FreeBSD-src-5db775aaced05bbda585e596739fe8150a74d68d.zip FreeBSD-src-5db775aaced05bbda585e596739fe8150a74d68d.tar.gz |
- Fix so ifn's are properly deleted when the ref count goes to 0.
- Fix so VRF's will clean themselves up when no references are around.
- Allow sctp_ifa to be passed into inpcb_bind, addr_mgmt_ep_sa to bypass
normal validation checks.
- turn auto-asconf off for subset bound sockets
- Moves all logging to use KTR. This gets rid of most
of the logging #ifdef's with a few exceptions reducing
the number of config options for SCTP.
Diffstat (limited to 'sys/netinet/sctp_pcb.h')
-rw-r--r-- | sys/netinet/sctp_pcb.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/netinet/sctp_pcb.h b/sys/netinet/sctp_pcb.h index f232199..638def0 100644 --- a/sys/netinet/sctp_pcb.h +++ b/sys/netinet/sctp_pcb.h @@ -65,6 +65,7 @@ struct sctp_vrf { uint32_t tbl_id_v6; /* default v6 table id */ uint32_t total_ifa_count; u_long vrf_addr_hashmark; + uint32_t refcount; }; struct sctp_ifn { @@ -422,8 +423,8 @@ struct sctp_ifn * sctp_find_ifn(void *ifn, uint32_t ifn_index); struct sctp_vrf *sctp_allocate_vrf(int vrfid); - struct sctp_vrf *sctp_find_vrf(uint32_t vrfid); +void sctp_free_vrf(struct sctp_vrf *vrf); struct sctp_ifa * sctp_add_addr_to_vrf(uint32_t vrfid, @@ -448,8 +449,9 @@ struct sctp_nets *sctp_findnet(struct sctp_tcb *, struct sockaddr *); struct sctp_inpcb *sctp_pcb_findep(struct sockaddr *, int, int, uint32_t); -int sctp_inpcb_bind(struct socket *, struct sockaddr *, struct thread *); - +int +sctp_inpcb_bind(struct socket *, struct sockaddr *, struct sctp_ifa *, + struct thread *); struct sctp_tcb * sctp_findassociation_addr(struct mbuf *, int, int, |