2 * Lightweight Autonomic Network Architecture
4 * LANA packet processing engines. Incoming packtes are scheduled onto one
5 * of the CPU-affine engines and processed on the Functional Block stack.
6 * There are two queues where packets can be added, one from PHY direction
7 * for incoming packets (ingress) and one from the socket handler direction
8 * for outgoing packets (egress). Support for NUMA-affinity added.
10 * Copyright 2011 Daniel Borkmann <dborkma@tik.ee.ethz.ch>,
11 * Swiss federal institute of technology (ETH Zurich)
15 #include <linux/kernel.h>
16 #include <linux/skbuff.h>
17 #include <linux/prefetch.h>
19 #include "xt_engine.h"
21 #include "xt_fblock.h"
24 int process_packet(struct sk_buff
*skb
, enum path_type dir
)
31 while ((cont
= read_next_idp_from_skb(skb
))) {
32 fb
= __search_fblock(cont
);
37 ret
= fb
->netfb_rx(fb
, skb
, &dir
);
39 if (ret
== PPE_DROPPED
) {
48 EXPORT_SYMBOL_GPL(process_packet
);