Fixes a bug in kernel extended attribute processing.

The bug caused that krt_prefsrc attribute was not processed when a route
received from a kernel protocol was exported to another kernel protocol.

Thanks to Sergey Popovich for a bugreport.
This commit is contained in:
Ondrej Zajicek 2013-09-10 13:01:22 +02:00
parent 507e182a60
commit 2a0130f94d

View file

@ -730,6 +730,13 @@ krt_prune(struct krt_proto *p)
/* Route rejected, should not happen (KRF_INSTALLED) but to be sure .. */ /* Route rejected, should not happen (KRF_INSTALLED) but to be sure .. */
verdict = (verdict == KRF_CREATE) ? KRF_IGNORE : KRF_DELETE; verdict = (verdict == KRF_CREATE) ? KRF_IGNORE : KRF_DELETE;
} }
else
{
ea_list **x = &tmpa;
while (*x)
x = &((*x)->next);
*x = new ? new->attrs->eattrs : NULL;
}
} }
switch (verdict) switch (verdict)