Browse Source

team: block mtu change before it happens via NETDEV_PRECHANGEMTU

Now it catches the NETDEV_CHANGEMTU notification, which is signaled after
the actual change happened on the device, and returns NOTIFY_BAD, so that
the change on the device is reverted.

This might be quite costly and messy, so use the new NETDEV_PRECHANGEMTU to
catch the MTU change before the actual change happens and signal that it's
forbidden to do it.

CC: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: Veaceslav Falico <vfalico@redhat.com>
Acked-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
Veaceslav Falico 11 years ago
parent
commit
b01f236c66
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/net/team/team.c

+ 1 - 1
drivers/net/team/team.c

@@ -2851,7 +2851,7 @@ static int team_device_event(struct notifier_block *unused,
 	case NETDEV_FEAT_CHANGE:
 	case NETDEV_FEAT_CHANGE:
 		team_compute_features(port->team);
 		team_compute_features(port->team);
 		break;
 		break;
-	case NETDEV_CHANGEMTU:
+	case NETDEV_PRECHANGEMTU:
 		/* Forbid to change mtu of underlaying device */
 		/* Forbid to change mtu of underlaying device */
 		return NOTIFY_BAD;
 		return NOTIFY_BAD;
 	case NETDEV_PRE_TYPE_CHANGE:
 	case NETDEV_PRE_TYPE_CHANGE: