aboutsummaryrefslogtreecommitdiff
path: root/sbin/route/route.c
diff options
context:
space:
mode:
authorAlexander V. Chernikov <melifaro@FreeBSD.org>2014-11-17 01:05:29 +0000
committerAlexander V. Chernikov <melifaro@FreeBSD.org>2014-11-17 01:05:29 +0000
commit7f948f12f6b3ff7d4beff0b07977a313ae288b36 (patch)
treed1ee8696995c1d2e949c6c1516ab3404756ef029 /sbin/route/route.c
parente93397e537c8b4f02ea7110195e5c85c8e596a03 (diff)
downloadsrc-7f948f12f6b3ff7d4beff0b07977a313ae288b36.tar.gz
src-7f948f12f6b3ff7d4beff0b07977a313ae288b36.zip
Finish r274175: do control plane MTU tracking.
Update route MTU in case of ifnet MTU change. Add new RTF_FIXEDMTU to track explicitly specified MTU. Old behavior: ifconfig em0 mtu 1500->9000 -> all routes traversing em0 do not change MTU. User has to manually update all routes. ifconfig em0 mtu 9000->1500 -> all routes traversing em0 do not change MTU. However, if ip[6]_output finds route with rt_mtu > interface mtu, rt_mtu gets updated. New behavior: ifconfig em0 mtu 1500->9000 -> all interface routes in all fibs gets updated with new MTU unless RTF_FIXEDMTU flag set on them. ifconfig em0 mtu 9000->1500 -> all routes in all fibs gets updated with new MTU unless RTF_FIXEDMTU flag set on them AND rt_mtu is less than ifp mtu. route add ... -mtu XXX automatically sets RTF_FIXEDMTU flag. route change .. -mtu 0 automatically removes RTF_FIXEDMTU flag. PR: 194238 MFC after: 1 month CR: D1125
Notes
Notes: svn path=/head/; revision=274611
Diffstat (limited to 'sbin/route/route.c')
-rw-r--r--sbin/route/route.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sbin/route/route.c b/sbin/route/route.c
index 2c328a39c41d..53ec2986341a 100644
--- a/sbin/route/route.c
+++ b/sbin/route/route.c
@@ -1587,7 +1587,7 @@ static const char routeflags[] =
"\1UP\2GATEWAY\3HOST\4REJECT\5DYNAMIC\6MODIFIED\7DONE"
"\012XRESOLVE\013LLINFO\014STATIC\015BLACKHOLE"
"\017PROTO2\020PROTO1\021PRCLONING\022WASCLONED\023PROTO3"
- "\025PINNED\026LOCAL\027BROADCAST\030MULTICAST\035STICKY";
+ "\024FIXEDMTU\025PINNED\026LOCAL\027BROADCAST\030MULTICAST\035STICKY";
static const char ifnetflags[] =
"\1UP\2BROADCAST\3DEBUG\4LOOPBACK\5PTP\6b6\7RUNNING\010NOARP"
"\011PPROMISC\012ALLMULTI\013OACTIVE\014SIMPLEX\015LINK0\016LINK1"