Currently GRE sequence number can only be used in native tunnel mode. The first patch adds sequence number support for gre collect metadata mode, and the second patch tests it using BPF.
RFC2890 defines GRE sequence number to be specific to the traffic flow identified by the key. However, this patch does not implement per-key seqno. The sequence number is shared in the same tunnel device. That is, different tunnel keys using the same collect_md tunnel share single sequence number. A new BFP uapi tunnel flag 'BPF_F_GRE_SEQ' is added. I name it since GRE is the only tunnel type having sequence number. William Tu (2): gre: add sequence number for collect md mode. samples/bpf: add gre sequence number test. include/uapi/linux/bpf.h | 1 + net/core/filter.c | 4 +++- net/ipv4/ip_gre.c | 7 +++++-- net/ipv6/ip6_gre.c | 13 ++++++++----- samples/bpf/tcbpf2_kern.c | 6 ++++-- samples/bpf/test_tunnel_bpf.sh | 4 ++-- 6 files changed, 23 insertions(+), 12 deletions(-) -- 2.7.4