Thread (5 messages) flat view 5 messages, 3 authors, 2012-01-27

Re: [PATCH 1/2] ipv4/ipv6: Prepare for new route gateway semantics.

From: YOSHIFUJI Hideaki <hidden>
Date: 2012-01-26 21:24:21

Hello.

David Miller wrote:
In the future the ipv4/ipv6 route gateway will take on two types
of values:

1) INADDR_ANY/IN6ADDR_ANY, for local network routes, and in this case
    the neighbour must be obtained using the destination address in
    ipv4/ipv6 header as the lookup key.

2) Everything else, the actual nexthop route address.

So if the gateway is not inaddr-any we use it, otherwise we must use
the packet's destination address.

Signed-off-by: David S. Miller<davem@davemloft.net>
---
  net/ipv4/route.c |    5 +++++
  net/ipv6/route.c |   16 +++++++++++++++-
  2 files changed, 20 insertions(+), 1 deletions(-)
:
quoted hunk ↗ jump to hunk
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 8c2e3ab..7d7f306 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -121,9 +121,23 @@ static u32 *ipv6_cow_metrics(struct dst_entry *dst, unsigned long old)
  	return p;
  }

+static inline const void *choose_neigh_daddr(struct rt6_info *rt, const void *daddr)
+{
+	struct in6_addr *p =&rt->rt6i_gateway;
+
+	if (p->s6_addr32[0] | p->s6_addr32[1] |
+	    p->s6_addr32[2] | p->s6_addr32[3])
+		return (const void *) p;
+	return daddr;
+}
+
Why not use ipv6_addr_any()?

--yoshfuji
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help