net-next: remove useless union keyword
remove useless union keyword in rtable, rt6_info and dn_route. Since there is only one member in a union, the union keyword isn't useful. Signed-off-by: Changli Gao <xiaosuo@gmail.com> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
592fcb9dfa
commit
d8d1f30b95
@@ -90,10 +90,10 @@ __ip_vs_get_out_rt(struct ip_vs_conn *cp, u32 rtos)
|
||||
&dest->addr.ip);
|
||||
return NULL;
|
||||
}
|
||||
__ip_vs_dst_set(dest, rtos, dst_clone(&rt->u.dst));
|
||||
__ip_vs_dst_set(dest, rtos, dst_clone(&rt->dst));
|
||||
IP_VS_DBG(10, "new dst %pI4, refcnt=%d, rtos=%X\n",
|
||||
&dest->addr.ip,
|
||||
atomic_read(&rt->u.dst.__refcnt), rtos);
|
||||
atomic_read(&rt->dst.__refcnt), rtos);
|
||||
}
|
||||
spin_unlock(&dest->dst_lock);
|
||||
} else {
|
||||
@@ -148,10 +148,10 @@ __ip_vs_get_out_rt_v6(struct ip_vs_conn *cp)
|
||||
&dest->addr.in6);
|
||||
return NULL;
|
||||
}
|
||||
__ip_vs_dst_set(dest, 0, dst_clone(&rt->u.dst));
|
||||
__ip_vs_dst_set(dest, 0, dst_clone(&rt->dst));
|
||||
IP_VS_DBG(10, "new dst %pI6, refcnt=%d\n",
|
||||
&dest->addr.in6,
|
||||
atomic_read(&rt->u.dst.__refcnt));
|
||||
atomic_read(&rt->dst.__refcnt));
|
||||
}
|
||||
spin_unlock(&dest->dst_lock);
|
||||
} else {
|
||||
@@ -198,7 +198,7 @@ do { \
|
||||
(skb)->ipvs_property = 1; \
|
||||
skb_forward_csum(skb); \
|
||||
NF_HOOK(pf, NF_INET_LOCAL_OUT, (skb), NULL, \
|
||||
(rt)->u.dst.dev, dst_output); \
|
||||
(rt)->dst.dev, dst_output); \
|
||||
} while (0)
|
||||
|
||||
|
||||
@@ -245,7 +245,7 @@ ip_vs_bypass_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
}
|
||||
|
||||
/* MTU checking */
|
||||
mtu = dst_mtu(&rt->u.dst);
|
||||
mtu = dst_mtu(&rt->dst);
|
||||
if ((skb->len > mtu) && (iph->frag_off & htons(IP_DF))) {
|
||||
ip_rt_put(rt);
|
||||
icmp_send(skb, ICMP_DEST_UNREACH,ICMP_FRAG_NEEDED, htonl(mtu));
|
||||
@@ -265,7 +265,7 @@ ip_vs_bypass_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
|
||||
/* drop old route */
|
||||
skb_dst_drop(skb);
|
||||
skb_dst_set(skb, &rt->u.dst);
|
||||
skb_dst_set(skb, &rt->dst);
|
||||
|
||||
/* Another hack: avoid icmp_send in ip_fragment */
|
||||
skb->local_df = 1;
|
||||
@@ -309,9 +309,9 @@ ip_vs_bypass_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
}
|
||||
|
||||
/* MTU checking */
|
||||
mtu = dst_mtu(&rt->u.dst);
|
||||
mtu = dst_mtu(&rt->dst);
|
||||
if (skb->len > mtu) {
|
||||
dst_release(&rt->u.dst);
|
||||
dst_release(&rt->dst);
|
||||
icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu);
|
||||
IP_VS_DBG_RL("%s(): frag needed\n", __func__);
|
||||
goto tx_error;
|
||||
@@ -323,13 +323,13 @@ ip_vs_bypass_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
*/
|
||||
skb = skb_share_check(skb, GFP_ATOMIC);
|
||||
if (unlikely(skb == NULL)) {
|
||||
dst_release(&rt->u.dst);
|
||||
dst_release(&rt->dst);
|
||||
return NF_STOLEN;
|
||||
}
|
||||
|
||||
/* drop old route */
|
||||
skb_dst_drop(skb);
|
||||
skb_dst_set(skb, &rt->u.dst);
|
||||
skb_dst_set(skb, &rt->dst);
|
||||
|
||||
/* Another hack: avoid icmp_send in ip_fragment */
|
||||
skb->local_df = 1;
|
||||
@@ -376,7 +376,7 @@ ip_vs_nat_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
goto tx_error_icmp;
|
||||
|
||||
/* MTU checking */
|
||||
mtu = dst_mtu(&rt->u.dst);
|
||||
mtu = dst_mtu(&rt->dst);
|
||||
if ((skb->len > mtu) && (iph->frag_off & htons(IP_DF))) {
|
||||
ip_rt_put(rt);
|
||||
icmp_send(skb, ICMP_DEST_UNREACH,ICMP_FRAG_NEEDED, htonl(mtu));
|
||||
@@ -388,12 +388,12 @@ ip_vs_nat_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
if (!skb_make_writable(skb, sizeof(struct iphdr)))
|
||||
goto tx_error_put;
|
||||
|
||||
if (skb_cow(skb, rt->u.dst.dev->hard_header_len))
|
||||
if (skb_cow(skb, rt->dst.dev->hard_header_len))
|
||||
goto tx_error_put;
|
||||
|
||||
/* drop old route */
|
||||
skb_dst_drop(skb);
|
||||
skb_dst_set(skb, &rt->u.dst);
|
||||
skb_dst_set(skb, &rt->dst);
|
||||
|
||||
/* mangle the packet */
|
||||
if (pp->dnat_handler && !pp->dnat_handler(skb, pp, cp))
|
||||
@@ -452,9 +452,9 @@ ip_vs_nat_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
goto tx_error_icmp;
|
||||
|
||||
/* MTU checking */
|
||||
mtu = dst_mtu(&rt->u.dst);
|
||||
mtu = dst_mtu(&rt->dst);
|
||||
if (skb->len > mtu) {
|
||||
dst_release(&rt->u.dst);
|
||||
dst_release(&rt->dst);
|
||||
icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu);
|
||||
IP_VS_DBG_RL_PKT(0, pp, skb, 0,
|
||||
"ip_vs_nat_xmit_v6(): frag needed for");
|
||||
@@ -465,12 +465,12 @@ ip_vs_nat_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
if (!skb_make_writable(skb, sizeof(struct ipv6hdr)))
|
||||
goto tx_error_put;
|
||||
|
||||
if (skb_cow(skb, rt->u.dst.dev->hard_header_len))
|
||||
if (skb_cow(skb, rt->dst.dev->hard_header_len))
|
||||
goto tx_error_put;
|
||||
|
||||
/* drop old route */
|
||||
skb_dst_drop(skb);
|
||||
skb_dst_set(skb, &rt->u.dst);
|
||||
skb_dst_set(skb, &rt->dst);
|
||||
|
||||
/* mangle the packet */
|
||||
if (pp->dnat_handler && !pp->dnat_handler(skb, pp, cp))
|
||||
@@ -498,7 +498,7 @@ tx_error:
|
||||
kfree_skb(skb);
|
||||
return NF_STOLEN;
|
||||
tx_error_put:
|
||||
dst_release(&rt->u.dst);
|
||||
dst_release(&rt->dst);
|
||||
goto tx_error;
|
||||
}
|
||||
#endif
|
||||
@@ -549,9 +549,9 @@ ip_vs_tunnel_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
if (!(rt = __ip_vs_get_out_rt(cp, RT_TOS(tos))))
|
||||
goto tx_error_icmp;
|
||||
|
||||
tdev = rt->u.dst.dev;
|
||||
tdev = rt->dst.dev;
|
||||
|
||||
mtu = dst_mtu(&rt->u.dst) - sizeof(struct iphdr);
|
||||
mtu = dst_mtu(&rt->dst) - sizeof(struct iphdr);
|
||||
if (mtu < 68) {
|
||||
ip_rt_put(rt);
|
||||
IP_VS_DBG_RL("%s(): mtu less than 68\n", __func__);
|
||||
@@ -601,7 +601,7 @@ ip_vs_tunnel_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
|
||||
/* drop old route */
|
||||
skb_dst_drop(skb);
|
||||
skb_dst_set(skb, &rt->u.dst);
|
||||
skb_dst_set(skb, &rt->dst);
|
||||
|
||||
/*
|
||||
* Push down and install the IPIP header.
|
||||
@@ -615,7 +615,7 @@ ip_vs_tunnel_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
iph->daddr = rt->rt_dst;
|
||||
iph->saddr = rt->rt_src;
|
||||
iph->ttl = old_iph->ttl;
|
||||
ip_select_ident(iph, &rt->u.dst, NULL);
|
||||
ip_select_ident(iph, &rt->dst, NULL);
|
||||
|
||||
/* Another hack: avoid icmp_send in ip_fragment */
|
||||
skb->local_df = 1;
|
||||
@@ -660,12 +660,12 @@ ip_vs_tunnel_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
if (!rt)
|
||||
goto tx_error_icmp;
|
||||
|
||||
tdev = rt->u.dst.dev;
|
||||
tdev = rt->dst.dev;
|
||||
|
||||
mtu = dst_mtu(&rt->u.dst) - sizeof(struct ipv6hdr);
|
||||
mtu = dst_mtu(&rt->dst) - sizeof(struct ipv6hdr);
|
||||
/* TODO IPv6: do we need this check in IPv6? */
|
||||
if (mtu < 1280) {
|
||||
dst_release(&rt->u.dst);
|
||||
dst_release(&rt->dst);
|
||||
IP_VS_DBG_RL("%s(): mtu less than 1280\n", __func__);
|
||||
goto tx_error;
|
||||
}
|
||||
@@ -674,7 +674,7 @@ ip_vs_tunnel_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
|
||||
if (mtu < ntohs(old_iph->payload_len) + sizeof(struct ipv6hdr)) {
|
||||
icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu);
|
||||
dst_release(&rt->u.dst);
|
||||
dst_release(&rt->dst);
|
||||
IP_VS_DBG_RL("%s(): frag needed\n", __func__);
|
||||
goto tx_error;
|
||||
}
|
||||
@@ -689,7 +689,7 @@ ip_vs_tunnel_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
struct sk_buff *new_skb =
|
||||
skb_realloc_headroom(skb, max_headroom);
|
||||
if (!new_skb) {
|
||||
dst_release(&rt->u.dst);
|
||||
dst_release(&rt->dst);
|
||||
kfree_skb(skb);
|
||||
IP_VS_ERR_RL("%s(): no memory\n", __func__);
|
||||
return NF_STOLEN;
|
||||
@@ -707,7 +707,7 @@ ip_vs_tunnel_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
|
||||
/* drop old route */
|
||||
skb_dst_drop(skb);
|
||||
skb_dst_set(skb, &rt->u.dst);
|
||||
skb_dst_set(skb, &rt->dst);
|
||||
|
||||
/*
|
||||
* Push down and install the IPIP header.
|
||||
@@ -760,7 +760,7 @@ ip_vs_dr_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
goto tx_error_icmp;
|
||||
|
||||
/* MTU checking */
|
||||
mtu = dst_mtu(&rt->u.dst);
|
||||
mtu = dst_mtu(&rt->dst);
|
||||
if ((iph->frag_off & htons(IP_DF)) && skb->len > mtu) {
|
||||
icmp_send(skb, ICMP_DEST_UNREACH,ICMP_FRAG_NEEDED, htonl(mtu));
|
||||
ip_rt_put(rt);
|
||||
@@ -780,7 +780,7 @@ ip_vs_dr_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
|
||||
/* drop old route */
|
||||
skb_dst_drop(skb);
|
||||
skb_dst_set(skb, &rt->u.dst);
|
||||
skb_dst_set(skb, &rt->dst);
|
||||
|
||||
/* Another hack: avoid icmp_send in ip_fragment */
|
||||
skb->local_df = 1;
|
||||
@@ -813,10 +813,10 @@ ip_vs_dr_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
goto tx_error_icmp;
|
||||
|
||||
/* MTU checking */
|
||||
mtu = dst_mtu(&rt->u.dst);
|
||||
mtu = dst_mtu(&rt->dst);
|
||||
if (skb->len > mtu) {
|
||||
icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu);
|
||||
dst_release(&rt->u.dst);
|
||||
dst_release(&rt->dst);
|
||||
IP_VS_DBG_RL("%s(): frag needed\n", __func__);
|
||||
goto tx_error;
|
||||
}
|
||||
@@ -827,13 +827,13 @@ ip_vs_dr_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
*/
|
||||
skb = skb_share_check(skb, GFP_ATOMIC);
|
||||
if (unlikely(skb == NULL)) {
|
||||
dst_release(&rt->u.dst);
|
||||
dst_release(&rt->dst);
|
||||
return NF_STOLEN;
|
||||
}
|
||||
|
||||
/* drop old route */
|
||||
skb_dst_drop(skb);
|
||||
skb_dst_set(skb, &rt->u.dst);
|
||||
skb_dst_set(skb, &rt->dst);
|
||||
|
||||
/* Another hack: avoid icmp_send in ip_fragment */
|
||||
skb->local_df = 1;
|
||||
@@ -888,7 +888,7 @@ ip_vs_icmp_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
goto tx_error_icmp;
|
||||
|
||||
/* MTU checking */
|
||||
mtu = dst_mtu(&rt->u.dst);
|
||||
mtu = dst_mtu(&rt->dst);
|
||||
if ((skb->len > mtu) && (ip_hdr(skb)->frag_off & htons(IP_DF))) {
|
||||
ip_rt_put(rt);
|
||||
icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, htonl(mtu));
|
||||
@@ -900,12 +900,12 @@ ip_vs_icmp_xmit(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
if (!skb_make_writable(skb, offset))
|
||||
goto tx_error_put;
|
||||
|
||||
if (skb_cow(skb, rt->u.dst.dev->hard_header_len))
|
||||
if (skb_cow(skb, rt->dst.dev->hard_header_len))
|
||||
goto tx_error_put;
|
||||
|
||||
/* drop the old route when skb is not shared */
|
||||
skb_dst_drop(skb);
|
||||
skb_dst_set(skb, &rt->u.dst);
|
||||
skb_dst_set(skb, &rt->dst);
|
||||
|
||||
ip_vs_nat_icmp(skb, pp, cp, 0);
|
||||
|
||||
@@ -963,9 +963,9 @@ ip_vs_icmp_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
goto tx_error_icmp;
|
||||
|
||||
/* MTU checking */
|
||||
mtu = dst_mtu(&rt->u.dst);
|
||||
mtu = dst_mtu(&rt->dst);
|
||||
if (skb->len > mtu) {
|
||||
dst_release(&rt->u.dst);
|
||||
dst_release(&rt->dst);
|
||||
icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu);
|
||||
IP_VS_DBG_RL("%s(): frag needed\n", __func__);
|
||||
goto tx_error;
|
||||
@@ -975,12 +975,12 @@ ip_vs_icmp_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp,
|
||||
if (!skb_make_writable(skb, offset))
|
||||
goto tx_error_put;
|
||||
|
||||
if (skb_cow(skb, rt->u.dst.dev->hard_header_len))
|
||||
if (skb_cow(skb, rt->dst.dev->hard_header_len))
|
||||
goto tx_error_put;
|
||||
|
||||
/* drop the old route when skb is not shared */
|
||||
skb_dst_drop(skb);
|
||||
skb_dst_set(skb, &rt->u.dst);
|
||||
skb_dst_set(skb, &rt->dst);
|
||||
|
||||
ip_vs_nat_icmp_v6(skb, pp, cp, 0);
|
||||
|
||||
@@ -1001,7 +1001,7 @@ out:
|
||||
LeaveFunction(10);
|
||||
return rc;
|
||||
tx_error_put:
|
||||
dst_release(&rt->u.dst);
|
||||
dst_release(&rt->dst);
|
||||
goto tx_error;
|
||||
}
|
||||
#endif
|
||||
|
@@ -734,11 +734,11 @@ static int callforward_do_filter(const union nf_inet_addr *src,
|
||||
if (!afinfo->route((struct dst_entry **)&rt1, &fl1)) {
|
||||
if (!afinfo->route((struct dst_entry **)&rt2, &fl2)) {
|
||||
if (rt1->rt_gateway == rt2->rt_gateway &&
|
||||
rt1->u.dst.dev == rt2->u.dst.dev)
|
||||
rt1->dst.dev == rt2->dst.dev)
|
||||
ret = 1;
|
||||
dst_release(&rt2->u.dst);
|
||||
dst_release(&rt2->dst);
|
||||
}
|
||||
dst_release(&rt1->u.dst);
|
||||
dst_release(&rt1->dst);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -753,11 +753,11 @@ static int callforward_do_filter(const union nf_inet_addr *src,
|
||||
if (!afinfo->route((struct dst_entry **)&rt2, &fl2)) {
|
||||
if (!memcmp(&rt1->rt6i_gateway, &rt2->rt6i_gateway,
|
||||
sizeof(rt1->rt6i_gateway)) &&
|
||||
rt1->u.dst.dev == rt2->u.dst.dev)
|
||||
rt1->dst.dev == rt2->dst.dev)
|
||||
ret = 1;
|
||||
dst_release(&rt2->u.dst);
|
||||
dst_release(&rt2->dst);
|
||||
}
|
||||
dst_release(&rt1->u.dst);
|
||||
dst_release(&rt1->dst);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@@ -61,7 +61,7 @@ static int help(struct sk_buff *skb, unsigned int protoff,
|
||||
goto out;
|
||||
|
||||
rcu_read_lock();
|
||||
in_dev = __in_dev_get_rcu(rt->u.dst.dev);
|
||||
in_dev = __in_dev_get_rcu(rt->dst.dev);
|
||||
if (in_dev != NULL) {
|
||||
for_primary_ifa(in_dev) {
|
||||
if (ifa->ifa_broadcast == iph->daddr) {
|
||||
|
@@ -165,8 +165,8 @@ static u_int32_t tcpmss_reverse_mtu(const struct sk_buff *skb,
|
||||
rcu_read_unlock();
|
||||
|
||||
if (rt != NULL) {
|
||||
mtu = dst_mtu(&rt->u.dst);
|
||||
dst_release(&rt->u.dst);
|
||||
mtu = dst_mtu(&rt->dst);
|
||||
dst_release(&rt->dst);
|
||||
}
|
||||
return mtu;
|
||||
}
|
||||
|
@@ -77,8 +77,8 @@ tee_tg_route4(struct sk_buff *skb, const struct xt_tee_tginfo *info)
|
||||
return false;
|
||||
|
||||
skb_dst_drop(skb);
|
||||
skb_dst_set(skb, &rt->u.dst);
|
||||
skb->dev = rt->u.dst.dev;
|
||||
skb_dst_set(skb, &rt->dst);
|
||||
skb->dev = rt->dst.dev;
|
||||
skb->protocol = htons(ETH_P_IP);
|
||||
return true;
|
||||
}
|
||||
|
Reference in New Issue
Block a user