ip6_gre: Make o_seqno start from 0 in native mode
authorPeilin Ye <peilin.ye@bytedance.com>
Thu, 21 Apr 2022 22:08:38 +0000 (15:08 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Apr 2022 10:40:45 +0000 (11:40 +0100)
commitfde98ae91f79cab4e020f40c35ed23cbdc59661c
treec31fe834e8fae6ea1d6e8121faa212ed1f19f18b
parentff827beb706ed719c766acf36449801ded0c17fc
ip6_gre: Make o_seqno start from 0 in native mode

For IP6GRE and IP6GRETAP devices, currently o_seqno starts from 1 in
native mode.  According to RFC 2890 2.2., "The first datagram is sent
with a sequence number of 0."  Fix it.

It is worth mentioning that o_seqno already starts from 0 in collect_md
mode, see the "if (tunnel->parms.collect_md)" clause in __gre6_xmit(),
where tunnel->o_seqno is passed to gre_build_header() before getting
incremented.

Fixes: c12b395a4664 ("gre: Support GRE over IPv6")
Signed-off-by: Peilin Ye <peilin.ye@bytedance.com>
Acked-by: William Tu <u9012063@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_gre.c