]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - net/ipv4/ip_output.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / net / ipv4 / ip_output.c
index 439d2a34ee4411b932eefb3a6fc51383e8db7125..04c7b3ba6b39118ed47c1778f3b10e76fd31e599 100644 (file)
@@ -82,6 +82,7 @@
 #include <linux/tcp.h>
 
 int sysctl_ip_default_ttl __read_mostly = IPDEFTTL;
+EXPORT_SYMBOL(sysctl_ip_default_ttl);
 
 /* Generate a checksum for an outgoing IP datagram. */
 __inline__ void ip_send_check(struct iphdr *iph)
@@ -130,7 +131,7 @@ static inline int ip_select_ttl(struct inet_sock *inet, struct dst_entry *dst)
        int ttl = inet->uc_ttl;
 
        if (ttl < 0)
-               ttl = dst_metric(dst, RTAX_HOPLIMIT);
+               ttl = ip4_dst_hoplimit(dst);
        return ttl;
 }
 
@@ -341,15 +342,13 @@ int ip_queue_xmit(struct sk_buff *skb)
                {
                        struct flowi fl = { .oif = sk->sk_bound_dev_if,
                                            .mark = sk->sk_mark,
-                                           .nl_u = { .ip4_u =
-                                                     { .daddr = daddr,
-                                                       .saddr = inet->inet_saddr,
-                                                       .tos = RT_CONN_FLAGS(sk) } },
+                                           .fl4_dst = daddr,
+                                           .fl4_src = inet->inet_saddr,
+                                           .fl4_tos = RT_CONN_FLAGS(sk),
                                            .proto = sk->sk_protocol,
                                            .flags = inet_sk_flowi_flags(sk),
-                                           .uli_u = { .ports =
-                                                      { .sport = inet->inet_sport,
-                                                        .dport = inet->inet_dport } } };
+                                           .fl_ip_sport = inet->inet_sport,
+                                           .fl_ip_dport = inet->inet_dport };
 
                        /* If this fails, retransmit mechanism of transport layer will
                         * keep trying until route appears or the connection times
@@ -1404,14 +1403,11 @@ void ip_send_reply(struct sock *sk, struct sk_buff *skb, struct ip_reply_arg *ar
 
        {
                struct flowi fl = { .oif = arg->bound_dev_if,
-                                   .nl_u = { .ip4_u =
-                                             { .daddr = daddr,
-                                               .saddr = rt->rt_spec_dst,
-                                               .tos = RT_TOS(ip_hdr(skb)->tos) } },
-                                   /* Not quite clean, but right. */
-                                   .uli_u = { .ports =
-                                              { .sport = tcp_hdr(skb)->dest,
-                                                .dport = tcp_hdr(skb)->source } },
+                                   .fl4_dst = daddr,
+                                   .fl4_src = rt->rt_spec_dst,
+                                   .fl4_tos = RT_TOS(ip_hdr(skb)->tos),
+                                   .fl_ip_sport = tcp_hdr(skb)->dest,
+                                   .fl_ip_dport = tcp_hdr(skb)->source,
                                    .proto = sk->sk_protocol,
                                    .flags = ip_reply_arg_flowi_flags(arg) };
                security_skb_classify_flow(skb, &fl);