Could you explain it more clearly?
How it applies to that two ( even three ) scenarios, I've told?
What if we have the first scenario:
ptype_all->func = func1;
ptype_all->next = NULL;
Will this function be called or not?
Second scenario:
ptype_all->func = func1;
ptype_all->next = &ptype1;
ptype1->func = func2;
ptype1->next = NULL;
Will func2() be called?
Third scenario:
ptype_all->func = func1;
ptype_all->next = &ptype1;
ptype1->func = func2;
ptype1->next = &ptype2;
ptype2->func = func3;
ptype2->next = &ptype3;
ptype3->func = func4;
ptype3->next = NULL;
If func2() freed skb, and return NET_RX_DROP, what will happen?
PS: I still don't understand why we should skip the first step, and call first function on second cycle?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/