On Thu, Oct 8, 2020 at 12:20 PM Willem de Bruijn <willemdebruijn.ker...@gmail.com> wrote: > > On Thu, Oct 8, 2020 at 3:17 PM Xie He <xie.he.0...@gmail.com> wrote: > > > > However, there's something I don't understand in the GRE code. The > > ipgre_header function only creates an IP header (20 bytes) + a GRE > > base header (4 bytes), but pushes and returns "t->hlen + > > sizeof(*iph)". What is t->hlen? > > GRE is variable length depending on flags: > > tunnel->tun_hlen = gre_calc_hlen(tunnel->parms.o_flags); > > > > It seems to me it is the sum of > > t->tun_hlen and t->encap_hlen. What are these two?
OK. I understand that t->tun_hlen is the GRE header length. What is t->encap_hlen?