laszlo@xxxxxxxxxx wrote:
From: Laszlo Attila Toth <panther@xxxxxxxxxx> If netfilter is enabled, a userspace program may wish to set the mark for each packets its send instead of using the MARK target.
Looks reasonable, but please CC netdev and linux-arch.
diff --git a/include/net/route.h b/include/net/route.h index 5847e6f..70792e3 100644 --- a/include/net/route.h +++ b/include/net/route.h @@ -27,6 +27,7 @@ #include <net/dst.h> #include <net/inetpeer.h> #include <net/flow.h> +#include <net/sock.h> #include <linux/in_route.h> #include <linux/rtnetlink.h> #include <linux/route.h> @@ -148,9 +149,13 @@ static inline int ip_route_connect(struct rtable **rp, __be32 dst, int flags) { struct flowi fl = { .oif = oif, +#ifdef CONFIG_NETFILTER + .mark = sk->sk_mark, +#endif
Formatting is slightly inconsistent, but more importantly the mark doesn't depend on CONFIG_NETFILTER anymore.
.nl_u = { .ip4_u = { .daddr = dst, .saddr = src, - .tos = tos } }, + .tos = tos, + } }, .proto = protocol, .uli_u = { .ports = { .sport = sport, diff --git a/include/net/sock.h b/include/net/sock.h index 9023244..8e88a0e 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -252,6 +252,9 @@ struct sock { long sk_rcvtimeo; long sk_sndtimeo; struct sk_filter *sk_filter; +#ifdef CONFIG_NETFILTER + __u32 sk_mark; +#endif
Please find a spot that doesn't add holes on 64 bit.
void *sk_protinfo;
- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html