diff options
Diffstat (limited to 'net/ipv6/route.c')
-rw-r--r-- | net/ipv6/route.c | 49 |
1 files changed, 1 insertions, 48 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index f54e3a101098..5dc6ca6b6686 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
@@ -1160,7 +1160,6 @@ void ip6_update_pmtu(struct sk_buff *skb, struct net *net, __be32 mtu, | |||
1160 | memset(&fl6, 0, sizeof(fl6)); | 1160 | memset(&fl6, 0, sizeof(fl6)); |
1161 | fl6.flowi6_oif = oif; | 1161 | fl6.flowi6_oif = oif; |
1162 | fl6.flowi6_mark = mark; | 1162 | fl6.flowi6_mark = mark; |
1163 | fl6.flowi6_flags = 0; | ||
1164 | fl6.daddr = iph->daddr; | 1163 | fl6.daddr = iph->daddr; |
1165 | fl6.saddr = iph->saddr; | 1164 | fl6.saddr = iph->saddr; |
1166 | fl6.flowlabel = ip6_flowinfo(iph); | 1165 | fl6.flowlabel = ip6_flowinfo(iph); |
@@ -1259,7 +1258,6 @@ void ip6_redirect(struct sk_buff *skb, struct net *net, int oif, u32 mark) | |||
1259 | memset(&fl6, 0, sizeof(fl6)); | 1258 | memset(&fl6, 0, sizeof(fl6)); |
1260 | fl6.flowi6_oif = oif; | 1259 | fl6.flowi6_oif = oif; |
1261 | fl6.flowi6_mark = mark; | 1260 | fl6.flowi6_mark = mark; |
1262 | fl6.flowi6_flags = 0; | ||
1263 | fl6.daddr = iph->daddr; | 1261 | fl6.daddr = iph->daddr; |
1264 | fl6.saddr = iph->saddr; | 1262 | fl6.saddr = iph->saddr; |
1265 | fl6.flowlabel = ip6_flowinfo(iph); | 1263 | fl6.flowlabel = ip6_flowinfo(iph); |
@@ -1281,7 +1279,6 @@ void ip6_redirect_no_header(struct sk_buff *skb, struct net *net, int oif, | |||
1281 | memset(&fl6, 0, sizeof(fl6)); | 1279 | memset(&fl6, 0, sizeof(fl6)); |
1282 | fl6.flowi6_oif = oif; | 1280 | fl6.flowi6_oif = oif; |
1283 | fl6.flowi6_mark = mark; | 1281 | fl6.flowi6_mark = mark; |
1284 | fl6.flowi6_flags = 0; | ||
1285 | fl6.daddr = msg->dest; | 1282 | fl6.daddr = msg->dest; |
1286 | fl6.saddr = iph->daddr; | 1283 | fl6.saddr = iph->daddr; |
1287 | 1284 | ||
@@ -2828,56 +2825,12 @@ static int ip6_route_dev_notify(struct notifier_block *this, | |||
2828 | 2825 | ||
2829 | #ifdef CONFIG_PROC_FS | 2826 | #ifdef CONFIG_PROC_FS |
2830 | 2827 | ||
2831 | struct rt6_proc_arg | ||
2832 | { | ||
2833 | char *buffer; | ||
2834 | int offset; | ||
2835 | int length; | ||
2836 | int skip; | ||
2837 | int len; | ||
2838 | }; | ||
2839 | |||
2840 | static int rt6_info_route(struct rt6_info *rt, void *p_arg) | ||
2841 | { | ||
2842 | struct seq_file *m = p_arg; | ||
2843 | |||
2844 | seq_printf(m, "%pi6 %02x ", &rt->rt6i_dst.addr, rt->rt6i_dst.plen); | ||
2845 | |||
2846 | #ifdef CONFIG_IPV6_SUBTREES | ||
2847 | seq_printf(m, "%pi6 %02x ", &rt->rt6i_src.addr, rt->rt6i_src.plen); | ||
2848 | #else | ||
2849 | seq_puts(m, "00000000000000000000000000000000 00 "); | ||
2850 | #endif | ||
2851 | if (rt->rt6i_flags & RTF_GATEWAY) { | ||
2852 | seq_printf(m, "%pi6", &rt->rt6i_gateway); | ||
2853 | } else { | ||
2854 | seq_puts(m, "00000000000000000000000000000000"); | ||
2855 | } | ||
2856 | seq_printf(m, " %08x %08x %08x %08x %8s\n", | ||
2857 | rt->rt6i_metric, atomic_read(&rt->dst.__refcnt), | ||
2858 | rt->dst.__use, rt->rt6i_flags, | ||
2859 | rt->dst.dev ? rt->dst.dev->name : ""); | ||
2860 | return 0; | ||
2861 | } | ||
2862 | |||
2863 | static int ipv6_route_show(struct seq_file *m, void *v) | ||
2864 | { | ||
2865 | struct net *net = (struct net *)m->private; | ||
2866 | fib6_clean_all_ro(net, rt6_info_route, 0, m); | ||
2867 | return 0; | ||
2868 | } | ||
2869 | |||
2870 | static int ipv6_route_open(struct inode *inode, struct file *file) | ||
2871 | { | ||
2872 | return single_open_net(inode, file, ipv6_route_show); | ||
2873 | } | ||
2874 | |||
2875 | static const struct file_operations ipv6_route_proc_fops = { | 2828 | static const struct file_operations ipv6_route_proc_fops = { |
2876 | .owner = THIS_MODULE, | 2829 | .owner = THIS_MODULE, |
2877 | .open = ipv6_route_open, | 2830 | .open = ipv6_route_open, |
2878 | .read = seq_read, | 2831 | .read = seq_read, |
2879 | .llseek = seq_lseek, | 2832 | .llseek = seq_lseek, |
2880 | .release = single_release_net, | 2833 | .release = seq_release_net, |
2881 | }; | 2834 | }; |
2882 | 2835 | ||
2883 | static int rt6_stats_seq_show(struct seq_file *seq, void *v) | 2836 | static int rt6_stats_seq_show(struct seq_file *seq, void *v) |