协议
RFC1701、General introduction
RFC1702 GRE over ipv4
IP tunnel MTU值怎么确定
根据kernel的源码,使用ioctl来添加IP tunnel时,如何确定tunnel的MTU:
ip tun add mark3 mode gre local 169.254.218.2 remote 169.254.232.0 dev int0 ttl 30 ikey 0x2000 okey
第一步,查看 目的地址的路由,如果找到路由,然后找到相应的device,根据这个device来设置MTU;
第二步,查看GRE 源地址在哪一个interface,优先用这个interface的MTU;
第三步,如果路由里没有记录,就根据命令里的device来确定MTU;
第四步,都没有找到,则依据ETH_DATA_LEN == 1500 来计数MTU;
/net/ipv4/ip_tunnel.c
static int ip_tunnel_bind_dev(stru