summaryrefslogtreecommitdiffstats
path: root/net/sctp
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-03-12 01:12:47 -0500
committerDavid S. Miller <davem@davemloft.net>2011-03-12 15:08:48 -0800
commit9d6ec938019c6b16cb9ec96598ebe8f20de435fe (patch)
tree9b850eb7fd48a6e5ffc15f47afd2e3edc93f5290 /net/sctp
parent68a5e3dd0a0056d8b349f9eea3756adda53ec17a (diff)
downloadlinux-stable-9d6ec938019c6b16cb9ec96598ebe8f20de435fe.tar.gz
linux-stable-9d6ec938019c6b16cb9ec96598ebe8f20de435fe.tar.bz2
linux-stable-9d6ec938019c6b16cb9ec96598ebe8f20de435fe.zip
ipv4: Use flowi4 in public route lookup interfaces.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp')
-rw-r--r--net/sctp/protocol.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c
index b6fa2940e30b..31c04568b23c 100644
--- a/net/sctp/protocol.c
+++ b/net/sctp/protocol.c
@@ -468,30 +468,30 @@ static struct dst_entry *sctp_v4_get_dst(struct sctp_association *asoc,
union sctp_addr *saddr)
{
struct rtable *rt;
- struct flowi fl;
+ struct flowi4 fl4;
struct sctp_bind_addr *bp;
struct sctp_sockaddr_entry *laddr;
struct dst_entry *dst = NULL;
union sctp_addr dst_saddr;
- memset(&fl, 0x0, sizeof(struct flowi));
- fl.fl4_dst = daddr->v4.sin_addr.s_addr;
- fl.fl4_dport = daddr->v4.sin_port;
- fl.flowi_proto = IPPROTO_SCTP;
+ memset(&fl4, 0x0, sizeof(struct flowi4));
+ fl4.daddr = daddr->v4.sin_addr.s_addr;
+ fl4.uli.ports.dport = daddr->v4.sin_port;
+ fl4.flowi4_proto = IPPROTO_SCTP;
if (asoc) {
- fl.fl4_tos = RT_CONN_FLAGS(asoc->base.sk);
- fl.flowi_oif = asoc->base.sk->sk_bound_dev_if;
- fl.fl4_sport = htons(asoc->base.bind_addr.port);
+ fl4.flowi4_tos = RT_CONN_FLAGS(asoc->base.sk);
+ fl4.flowi4_oif = asoc->base.sk->sk_bound_dev_if;
+ fl4.uli.ports.sport = htons(asoc->base.bind_addr.port);
}
if (saddr) {
- fl.fl4_src = saddr->v4.sin_addr.s_addr;
- fl.fl4_sport = saddr->v4.sin_port;
+ fl4.saddr = saddr->v4.sin_addr.s_addr;
+ fl4.uli.ports.sport = saddr->v4.sin_port;
}
SCTP_DEBUG_PRINTK("%s: DST:%pI4, SRC:%pI4 - ",
- __func__, &fl.fl4_dst, &fl.fl4_src);
+ __func__, &fl4.daddr, &fl4.saddr);
- rt = ip_route_output_key(&init_net, &fl);
+ rt = ip_route_output_key(&init_net, &fl4);
if (!IS_ERR(rt))
dst = &rt->dst;
@@ -533,9 +533,9 @@ static struct dst_entry *sctp_v4_get_dst(struct sctp_association *asoc,
continue;
if ((laddr->state == SCTP_ADDR_SRC) &&
(AF_INET == laddr->a.sa.sa_family)) {
- fl.fl4_src = laddr->a.v4.sin_addr.s_addr;
- fl.fl4_sport = laddr->a.v4.sin_port;
- rt = ip_route_output_key(&init_net, &fl);
+ fl4.saddr = laddr->a.v4.sin_addr.s_addr;
+ fl4.uli.ports.sport = laddr->a.v4.sin_port;
+ rt = ip_route_output_key(&init_net, &fl4);
if (!IS_ERR(rt)) {
dst = &rt->dst;
goto out_unlock;