All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH iproute2/net-next] tc: f_flower: Add support for matching first frag packets
@ 2018-03-09 10:07 Simon Horman
  2018-03-14  1:05 ` David Ahern
  0 siblings, 1 reply; 2+ messages in thread
From: Simon Horman @ 2018-03-09 10:07 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: Jiri Pirko, Jamal Hadi Salim, Cong Wang, netdev, oss-drivers,
	Pieter Jansen van Vuuren, Simon Horman

From: Pieter Jansen van Vuuren <pieter.jansenvanvuuren@netronome.com>

Add matching support for distinguishing between first and later fragmented
packets.

 # tc filter add dev eth0 protocol ip parent ffff: \
     flower indev eth0 \
	ip_flags firstfrag \
        ip_proto udp \
    action mirred egress redirect dev eth1

 # tc filter add dev eth0 protocol ip parent ffff: \
     flower indev eth0 \
	ip_flags nofirstfrag \
        ip_proto udp \
    action mirred egress redirect dev eth1

Signed-off-by: Pieter Jansen van Vuuren <pieter.jansenvanvuuren@netronome.com>
Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Simon Horman <simon.horman@netronome.com>
---
 man/man8/tc-flower.8 | 8 ++++++--
 tc/f_flower.c        | 1 +
 2 files changed, 7 insertions(+), 2 deletions(-)

This patch depends on updating pkt_cls.h to add
TCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST along side
TCA_FLOWER_KEY_FLAGS_IS_FRAGMENT.

That change is present in the kernel net-next tree as of
459d153d9916 ("net/sched: cls_flower: Add support to handle first frag as match field")

diff --git a/man/man8/tc-flower.8 b/man/man8/tc-flower.8
index 768eda3d52bd..a561443b9978 100644
--- a/man/man8/tc-flower.8
+++ b/man/man8/tc-flower.8
@@ -258,8 +258,12 @@ is a 16 bit UDP dst port.
 .BI ip_flags " IP_FLAGS"
 .I IP_FLAGS
 may be either
-.BR frag " or " nofrag
-to match on fragmented packets or not respectively.
+.BR frag ", " nofrag ", " firstfrag " or " nofirstfrag
+where frag and nofrag could be used to match on fragmented packets or not,
+respectively. firstfrag and nofirstfrag can be used to further distinguish
+fragmented packet. firstfrag can be used to indicate the first fragmented
+packet. nofirstfrag can be used to indicates subsequent fragmented packets
+or non-fragmented packets.
 .SH NOTES
 As stated above where applicable, matches of a certain layer implicitly depend
 on the matches of the next lower layer. Precisely, layer one and two matches
diff --git a/tc/f_flower.c b/tc/f_flower.c
index 5a4ec832bc19..9d4bfd2f808b 100644
--- a/tc/f_flower.c
+++ b/tc/f_flower.c
@@ -155,6 +155,7 @@ struct flag_to_string {
 
 static struct flag_to_string flags_str[] = {
 	{ TCA_FLOWER_KEY_FLAGS_IS_FRAGMENT, FLOWER_IP_FLAGS, "frag" },
+	{ TCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST, FLOWER_IP_FLAGS, "firstfrag" },
 };
 
 static int flower_parse_matching_flags(char *str,
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH iproute2/net-next] tc: f_flower: Add support for matching first frag packets
  2018-03-09 10:07 [PATCH iproute2/net-next] tc: f_flower: Add support for matching first frag packets Simon Horman
@ 2018-03-14  1:05 ` David Ahern
  0 siblings, 0 replies; 2+ messages in thread
From: David Ahern @ 2018-03-14  1:05 UTC (permalink / raw)
  To: Simon Horman, Stephen Hemminger
  Cc: Jiri Pirko, Jamal Hadi Salim, Cong Wang, netdev, oss-drivers,
	Pieter Jansen van Vuuren

On 3/9/18 2:07 AM, Simon Horman wrote:
> From: Pieter Jansen van Vuuren <pieter.jansenvanvuuren@netronome.com>
> 
> Add matching support for distinguishing between first and later fragmented
> packets.
> 
>  # tc filter add dev eth0 protocol ip parent ffff: \
>      flower indev eth0 \
> 	ip_flags firstfrag \
>         ip_proto udp \
>     action mirred egress redirect dev eth1
> 
>  # tc filter add dev eth0 protocol ip parent ffff: \
>      flower indev eth0 \
> 	ip_flags nofirstfrag \
>         ip_proto udp \
>     action mirred egress redirect dev eth1
> 
> Signed-off-by: Pieter Jansen van Vuuren <pieter.jansenvanvuuren@netronome.com>
> Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com>
> Signed-off-by: Simon Horman <simon.horman@netronome.com>
> ---
>  man/man8/tc-flower.8 | 8 ++++++--
>  tc/f_flower.c        | 1 +
>  2 files changed, 7 insertions(+), 2 deletions(-)

applied to iproute2-next.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-03-14  1:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-09 10:07 [PATCH iproute2/net-next] tc: f_flower: Add support for matching first frag packets Simon Horman
2018-03-14  1:05 ` David Ahern

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.