aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp/bind_addr.c
diff options
context:
space:
mode:
authorVlad Yasevich <vladislav.yasevich@hp.com>2007-12-20 17:12:24 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 17:59:24 -0500
commitf57d96b2e92d209ab3991bba9a44e0d6ef7614a8 (patch)
treebfd82e031bd1842d0efc60beb893947d9ee95ccc /net/sctp/bind_addr.c
parenta08de64d074b36a56ee3bb985cd171281db78e96 (diff)
[SCTP]: Change use_as_src into a full address state
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp/bind_addr.c')
-rw-r--r--net/sctp/bind_addr.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/net/sctp/bind_addr.c b/net/sctp/bind_addr.c
index 6a7d01091f0c..432661174789 100644
--- a/net/sctp/bind_addr.c
+++ b/net/sctp/bind_addr.c
@@ -171,7 +171,7 @@ void sctp_bind_addr_free(struct sctp_bind_addr *bp)
171 171
172/* Add an address to the bind address list in the SCTP_bind_addr structure. */ 172/* Add an address to the bind address list in the SCTP_bind_addr structure. */
173int sctp_add_bind_addr(struct sctp_bind_addr *bp, union sctp_addr *new, 173int sctp_add_bind_addr(struct sctp_bind_addr *bp, union sctp_addr *new,
174 __u8 use_as_src, gfp_t gfp) 174 __u8 addr_state, gfp_t gfp)
175{ 175{
176 struct sctp_sockaddr_entry *addr; 176 struct sctp_sockaddr_entry *addr;
177 177
@@ -188,7 +188,7 @@ int sctp_add_bind_addr(struct sctp_bind_addr *bp, union sctp_addr *new,
188 if (!addr->a.v4.sin_port) 188 if (!addr->a.v4.sin_port)
189 addr->a.v4.sin_port = htons(bp->port); 189 addr->a.v4.sin_port = htons(bp->port);
190 190
191 addr->use_as_src = use_as_src; 191 addr->state = addr_state;
192 addr->valid = 1; 192 addr->valid = 1;
193 193
194 INIT_LIST_HEAD(&addr->list); 194 INIT_LIST_HEAD(&addr->list);
@@ -312,7 +312,7 @@ int sctp_raw_to_bind_addrs(struct sctp_bind_addr *bp, __u8 *raw_addr_list,
312 } 312 }
313 313
314 af->from_addr_param(&addr, rawaddr, htons(port), 0); 314 af->from_addr_param(&addr, rawaddr, htons(port), 0);
315 retval = sctp_add_bind_addr(bp, &addr, 1, gfp); 315 retval = sctp_add_bind_addr(bp, &addr, SCTP_ADDR_SRC, gfp);
316 if (retval) { 316 if (retval) {
317 /* Can't finish building the list, clean up. */ 317 /* Can't finish building the list, clean up. */
318 sctp_bind_addr_clean(bp); 318 sctp_bind_addr_clean(bp);
@@ -411,7 +411,8 @@ static int sctp_copy_one_addr(struct sctp_bind_addr *dest,
411 (((AF_INET6 == addr->sa.sa_family) && 411 (((AF_INET6 == addr->sa.sa_family) &&
412 (flags & SCTP_ADDR6_ALLOWED) && 412 (flags & SCTP_ADDR6_ALLOWED) &&
413 (flags & SCTP_ADDR6_PEERSUPP)))) 413 (flags & SCTP_ADDR6_PEERSUPP))))
414 error = sctp_add_bind_addr(dest, addr, 1, gfp); 414 error = sctp_add_bind_addr(dest, addr, SCTP_ADDR_SRC,
415 gfp);
415 } 416 }
416 417
417 return error; 418 return error;