Re: [PATCH] Introducing socket mark socket option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux