embox
1/**
2* @file
3*
4* @brief used with linux network stack, optionally routes packs to pnet
5*
6* @date 21.10.2011
7* @author Anton Kozlov
8*/
9
10#include <arpa/inet.h>11#include <pnet/core/prior_path.h>12#include <kernel/thread.h>13#include <net/skbuff.h>14#include <net/l0/net_rx.h>15
16#include <pnet/core/core.h>17
18#include <embox/unit.h>19#include <pnet/core/repo.h>20#include <pnet/pack/pnet_pack.h>21
22static int pnet_linux_rx(struct pnet_pack *pack) {23struct sk_buff *skb;24
25skb = (struct sk_buff *) pack->data;26skb->nh.raw = skb->mac.raw + ETH_HEADER_SIZE;27
28net_rx(skb);29
30return NET_HND_FORWARD_DEFAULT;31}
32
33PNET_NODE_DEF("linux gate", {34.rx_hnd = pnet_linux_rx,35.tx_hnd = NULL36});37