[IPV4] net/ipv4: Use ipv4_is_<type>
Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
21cf2253eb
commit
f97c1e0c6e
@@ -1154,7 +1154,8 @@ void ip_rt_redirect(__be32 old_gw, __be32 daddr, __be32 new_gw,
|
||||
return;
|
||||
|
||||
if (new_gw == old_gw || !IN_DEV_RX_REDIRECTS(in_dev)
|
||||
|| MULTICAST(new_gw) || BADCLASS(new_gw) || ZERONET(new_gw))
|
||||
|| ipv4_is_multicast(new_gw) || ipv4_is_badclass(new_gw)
|
||||
|| ipv4_is_zeronet(new_gw))
|
||||
goto reject_redirect;
|
||||
|
||||
if (!IN_DEV_SHARED_MEDIA(in_dev)) {
|
||||
@@ -1633,12 +1634,12 @@ static int ip_route_input_mc(struct sk_buff *skb, __be32 daddr, __be32 saddr,
|
||||
if (in_dev == NULL)
|
||||
return -EINVAL;
|
||||
|
||||
if (MULTICAST(saddr) || BADCLASS(saddr) || LOOPBACK(saddr) ||
|
||||
skb->protocol != htons(ETH_P_IP))
|
||||
if (ipv4_is_multicast(saddr) || ipv4_is_badclass(saddr) ||
|
||||
ipv4_is_loopback(saddr) || skb->protocol != htons(ETH_P_IP))
|
||||
goto e_inval;
|
||||
|
||||
if (ZERONET(saddr)) {
|
||||
if (!LOCAL_MCAST(daddr))
|
||||
if (ipv4_is_zeronet(saddr)) {
|
||||
if (!ipv4_is_local_multicast(daddr))
|
||||
goto e_inval;
|
||||
spec_dst = inet_select_addr(dev, 0, RT_SCOPE_LINK);
|
||||
} else if (fib_validate_source(saddr, 0, tos, 0,
|
||||
@@ -1680,7 +1681,7 @@ static int ip_route_input_mc(struct sk_buff *skb, __be32 daddr, __be32 saddr,
|
||||
}
|
||||
|
||||
#ifdef CONFIG_IP_MROUTE
|
||||
if (!LOCAL_MCAST(daddr) && IN_DEV_MFORWARD(in_dev))
|
||||
if (!ipv4_is_local_multicast(daddr) && IN_DEV_MFORWARD(in_dev))
|
||||
rth->u.dst.input = ip_mr_input;
|
||||
#endif
|
||||
RT_CACHE_STAT_INC(in_slow_mc);
|
||||
@@ -1890,7 +1891,8 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
|
||||
by fib_lookup.
|
||||
*/
|
||||
|
||||
if (MULTICAST(saddr) || BADCLASS(saddr) || LOOPBACK(saddr))
|
||||
if (ipv4_is_multicast(saddr) || ipv4_is_badclass(saddr) ||
|
||||
ipv4_is_loopback(saddr))
|
||||
goto martian_source;
|
||||
|
||||
if (daddr == htonl(0xFFFFFFFF) || (saddr == 0 && daddr == 0))
|
||||
@@ -1899,10 +1901,11 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
|
||||
/* Accept zero addresses only to limited broadcast;
|
||||
* I even do not know to fix it or not. Waiting for complains :-)
|
||||
*/
|
||||
if (ZERONET(saddr))
|
||||
if (ipv4_is_zeronet(saddr))
|
||||
goto martian_source;
|
||||
|
||||
if (BADCLASS(daddr) || ZERONET(daddr) || LOOPBACK(daddr))
|
||||
if (ipv4_is_badclass(daddr) || ipv4_is_zeronet(daddr) ||
|
||||
ipv4_is_loopback(daddr))
|
||||
goto martian_destination;
|
||||
|
||||
/*
|
||||
@@ -1949,7 +1952,7 @@ brd_input:
|
||||
if (skb->protocol != htons(ETH_P_IP))
|
||||
goto e_inval;
|
||||
|
||||
if (ZERONET(saddr))
|
||||
if (ipv4_is_zeronet(saddr))
|
||||
spec_dst = inet_select_addr(dev, 0, RT_SCOPE_LINK);
|
||||
else {
|
||||
err = fib_validate_source(saddr, 0, tos, 0, dev, &spec_dst,
|
||||
@@ -2079,7 +2082,7 @@ int ip_route_input(struct sk_buff *skb, __be32 daddr, __be32 saddr,
|
||||
Note, that multicast routers are not affected, because
|
||||
route cache entry is created eventually.
|
||||
*/
|
||||
if (MULTICAST(daddr)) {
|
||||
if (ipv4_is_multicast(daddr)) {
|
||||
struct in_device *in_dev;
|
||||
|
||||
rcu_read_lock();
|
||||
@@ -2088,7 +2091,8 @@ int ip_route_input(struct sk_buff *skb, __be32 daddr, __be32 saddr,
|
||||
ip_hdr(skb)->protocol);
|
||||
if (our
|
||||
#ifdef CONFIG_IP_MROUTE
|
||||
|| (!LOCAL_MCAST(daddr) && IN_DEV_MFORWARD(in_dev))
|
||||
|| (!ipv4_is_local_multicast(daddr) &&
|
||||
IN_DEV_MFORWARD(in_dev))
|
||||
#endif
|
||||
) {
|
||||
rcu_read_unlock();
|
||||
@@ -2114,14 +2118,14 @@ static inline int __mkroute_output(struct rtable **result,
|
||||
u32 tos = RT_FL_TOS(oldflp);
|
||||
int err = 0;
|
||||
|
||||
if (LOOPBACK(fl->fl4_src) && !(dev_out->flags&IFF_LOOPBACK))
|
||||
if (ipv4_is_loopback(fl->fl4_src) && !(dev_out->flags&IFF_LOOPBACK))
|
||||
return -EINVAL;
|
||||
|
||||
if (fl->fl4_dst == htonl(0xFFFFFFFF))
|
||||
res->type = RTN_BROADCAST;
|
||||
else if (MULTICAST(fl->fl4_dst))
|
||||
else if (ipv4_is_multicast(fl->fl4_dst))
|
||||
res->type = RTN_MULTICAST;
|
||||
else if (BADCLASS(fl->fl4_dst) || ZERONET(fl->fl4_dst))
|
||||
else if (ipv4_is_badclass(fl->fl4_dst) || ipv4_is_zeronet(fl->fl4_dst))
|
||||
return -EINVAL;
|
||||
|
||||
if (dev_out->flags & IFF_LOOPBACK)
|
||||
@@ -2201,7 +2205,7 @@ static inline int __mkroute_output(struct rtable **result,
|
||||
#ifdef CONFIG_IP_MROUTE
|
||||
if (res->type == RTN_MULTICAST) {
|
||||
if (IN_DEV_MFORWARD(in_dev) &&
|
||||
!LOCAL_MCAST(oldflp->fl4_dst)) {
|
||||
!ipv4_is_local_multicast(oldflp->fl4_dst)) {
|
||||
rth->u.dst.input = ip_mr_input;
|
||||
rth->u.dst.output = ip_mc_output;
|
||||
}
|
||||
@@ -2271,9 +2275,9 @@ static int ip_route_output_slow(struct rtable **rp, const struct flowi *oldflp)
|
||||
|
||||
if (oldflp->fl4_src) {
|
||||
err = -EINVAL;
|
||||
if (MULTICAST(oldflp->fl4_src) ||
|
||||
BADCLASS(oldflp->fl4_src) ||
|
||||
ZERONET(oldflp->fl4_src))
|
||||
if (ipv4_is_multicast(oldflp->fl4_src) ||
|
||||
ipv4_is_badclass(oldflp->fl4_src) ||
|
||||
ipv4_is_zeronet(oldflp->fl4_src))
|
||||
goto out;
|
||||
|
||||
/* It is equivalent to inet_addr_type(saddr) == RTN_LOCAL */
|
||||
@@ -2290,7 +2294,8 @@ static int ip_route_output_slow(struct rtable **rp, const struct flowi *oldflp)
|
||||
*/
|
||||
|
||||
if (oldflp->oif == 0
|
||||
&& (MULTICAST(oldflp->fl4_dst) || oldflp->fl4_dst == htonl(0xFFFFFFFF))) {
|
||||
&& (ipv4_is_multicast(oldflp->fl4_dst) ||
|
||||
oldflp->fl4_dst == htonl(0xFFFFFFFF))) {
|
||||
/* Special hack: user can direct multicasts
|
||||
and limited broadcast via necessary interface
|
||||
without fiddling with IP_MULTICAST_IF or IP_PKTINFO.
|
||||
@@ -2327,14 +2332,15 @@ static int ip_route_output_slow(struct rtable **rp, const struct flowi *oldflp)
|
||||
goto out; /* Wrong error code */
|
||||
}
|
||||
|
||||
if (LOCAL_MCAST(oldflp->fl4_dst) || oldflp->fl4_dst == htonl(0xFFFFFFFF)) {
|
||||
if (ipv4_is_local_multicast(oldflp->fl4_dst) ||
|
||||
oldflp->fl4_dst == htonl(0xFFFFFFFF)) {
|
||||
if (!fl.fl4_src)
|
||||
fl.fl4_src = inet_select_addr(dev_out, 0,
|
||||
RT_SCOPE_LINK);
|
||||
goto make_route;
|
||||
}
|
||||
if (!fl.fl4_src) {
|
||||
if (MULTICAST(oldflp->fl4_dst))
|
||||
if (ipv4_is_multicast(oldflp->fl4_dst))
|
||||
fl.fl4_src = inet_select_addr(dev_out, 0,
|
||||
fl.fl4_scope);
|
||||
else if (!oldflp->fl4_dst)
|
||||
@@ -2618,7 +2624,7 @@ static int rt_fill_info(struct sk_buff *skb, u32 pid, u32 seq, int event,
|
||||
#ifdef CONFIG_IP_MROUTE
|
||||
__be32 dst = rt->rt_dst;
|
||||
|
||||
if (MULTICAST(dst) && !LOCAL_MCAST(dst) &&
|
||||
if (ipv4_is_multicast(dst) && !ipv4_is_local_multicast(dst) &&
|
||||
IPV4_DEVCONF_ALL(&init_net, MC_FORWARDING)) {
|
||||
int err = ipmr_get_route(skb, r, nowait);
|
||||
if (err <= 0) {
|
||||
|
Reference in New Issue
Block a user