欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

IP tunnel MTU值怎么确定

程序员文章站 2024-03-24 22:23:10
...

根据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;
第二步,如果路由里没有记录,就根据命令里的device来确定MTU;
第三步,都没有找到,则依据ETH_DATA_LEN == 1500 来计数MTU;

/net/ipv4/ip_tunnel.c

static int ip_tunnel_bind_dev(struct net_device *dev)
{
   
	struct net_device *tdev =