Revision cf7f0645 nest/iface.c

View differences:

nest/iface.c
152 152
}
153 153

  
154 154
static void
155
ifa_notify_change(unsigned c, struct ifa *a)
155
ifa_notify_change_dep(unsigned c, struct ifa *a)
156 156
{
157 157
  struct proto *p;
158 158

  
159 159
  DBG("IFA change notification (%x) for %s:%I\n", c, a->iface->name, a->ip);
160

  
160 161
  WALK_LIST(p, active_proto_list)
161 162
    ifa_send_notify(p, c, a);
162 163
}
163 164

  
164 165
static inline void
166
ifa_notify_change(unsigned c, struct ifa *a)
167
{
168
  neigh_ifa_update(a);
169
  ifa_notify_change_dep(c, a);
170
}
171

  
172
static inline void
165 173
if_send_notify(struct proto *p, unsigned c, struct iface *i)
166 174
{
167 175
  if (p->if_notify)
......
197 205

  
198 206
  if (c & IF_CHANGE_UP)
199 207
    neigh_if_up(i);
208

  
200 209
  if (c & IF_CHANGE_DOWN)
201 210
    WALK_LIST(a, i->addrs)
202 211
      {
203 212
	a->flags = (i->flags & ~IA_FLAGS) | (a->flags & IA_FLAGS);
204
	ifa_notify_change(IF_CHANGE_DOWN, a);
213
	ifa_notify_change_dep(IF_CHANGE_DOWN, a);
205 214
      }
206 215

  
207 216
  WALK_LIST(p, active_proto_list)
......
211 220
    WALK_LIST(a, i->addrs)
212 221
      {
213 222
	a->flags = (i->flags & ~IA_FLAGS) | (a->flags & IA_FLAGS);
214
	ifa_notify_change(IF_CHANGE_UP, a);
223
	ifa_notify_change_dep(IF_CHANGE_UP, a);
215 224
      }
216 225

  
217 226
  if ((c & (IF_CHANGE_UP | IF_CHANGE_DOWN | IF_CHANGE_LINK)) == IF_CHANGE_LINK)

Also available in: Unified diff