Message ID | 200910081619.44880.atis@mikrotik.com |
---|---|
State | Rejected, archived |
Delegated to: | David Miller |
Headers | show |
From: Atis Elsts <atis@mikrotik.com> Date: Thu, 8 Oct 2009 16:19:44 +0300 > On Wednesday 07 October 2009 23:56:27 David Miller wrote: >> >> Ok submit just the else part and we'll have a look at it. >> > Here is a try. > > Use routing mark from skb in routing lookup in IPv4 and IPv6 multicast forwarding code. > Signed-off-by: Atis Elsts <atis@mikrotik.com> The more I think about the less this makes sense. There is no way to setup these semantics of lower level routes and satisfy every reasonable use case. We'll need to provide another facility or suggest other methods to control marking of encapsulated routes from the socket level, sorry. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c index 630a56d..5522cf8 100644 --- a/net/ipv4/ipmr.c +++ b/net/ipv4/ipmr.c @@ -1248,6 +1248,7 @@ static void ipmr_queue_xmit(struct sk_buff *skb, struct mfc_cache *c, int vifi) encap = sizeof(struct iphdr); } else { struct flowi fl = { .oif = vif->link, + .mark = skb->mark, .nl_u = { .ip4_u = { .daddr = iph->daddr, .tos = RT_TOS(iph->tos) } }, diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c index 7161539..d98df54 100644 --- a/net/ipv6/ip6mr.c +++ b/net/ipv6/ip6mr.c @@ -1523,6 +1523,7 @@ static int ip6mr_forward2(struct sk_buff *skb, struct mfc6_cache *c, int vifi) fl = (struct flowi) { .oif = vif->link, + .mark = skb->mark, .nl_u = { .ip6_u = { .daddr = ipv6h->daddr, } }