ipmr.c (457c4cbc5a3dde259d2a1f15d5f9785290397267) ipmr.c (e9dc86534051b78e41e5b746cccc291b57a3a311)
1/*
2 * IP multicast routing support for mrouted 3.6/3.8
3 *
4 * (c) 1995 Alan Cox, <alan@redhat.com>
5 * Linux Consultancy and Custom Driver Development
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License

--- 1069 unchanged lines hidden (view full) ---

1078 default:
1079 return -ENOIOCTLCMD;
1080 }
1081}
1082
1083
1084static int ipmr_device_event(struct notifier_block *this, unsigned long event, void *ptr)
1085{
1/*
2 * IP multicast routing support for mrouted 3.6/3.8
3 *
4 * (c) 1995 Alan Cox, <alan@redhat.com>
5 * Linux Consultancy and Custom Driver Development
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License

--- 1069 unchanged lines hidden (view full) ---

1078 default:
1079 return -ENOIOCTLCMD;
1080 }
1081}
1082
1083
1084static int ipmr_device_event(struct notifier_block *this, unsigned long event, void *ptr)
1085{
1086 struct net_device *dev = ptr;
1086 struct vif_device *v;
1087 int ct;
1087 struct vif_device *v;
1088 int ct;
1089
1090 if (dev->nd_net != &init_net)
1091 return NOTIFY_DONE;
1092
1088 if (event != NETDEV_UNREGISTER)
1089 return NOTIFY_DONE;
1090 v=&vif_table[0];
1091 for (ct=0;ct<maxvif;ct++,v++) {
1093 if (event != NETDEV_UNREGISTER)
1094 return NOTIFY_DONE;
1095 v=&vif_table[0];
1096 for (ct=0;ct<maxvif;ct++,v++) {
1092 if (v->dev==ptr)
1097 if (v->dev==dev)
1093 vif_delete(ct);
1094 }
1095 return NOTIFY_DONE;
1096}
1097
1098
1099static struct notifier_block ip_mr_notifier={
1100 .notifier_call = ipmr_device_event,

--- 829 unchanged lines hidden ---
1098 vif_delete(ct);
1099 }
1100 return NOTIFY_DONE;
1101}
1102
1103
1104static struct notifier_block ip_mr_notifier={
1105 .notifier_call = ipmr_device_event,

--- 829 unchanged lines hidden ---