25 #ifndef __RTMAC_PROTO_H_ 26 #define __RTMAC_PROTO_H_ 28 #include <stack_mgr.h> 31 #define RTMAC_VERSION 0x02 32 #define ETH_RTMAC 0x9021 34 #define RTMAC_FLAG_TUNNEL 0x01 41 } __attribute__ ((packed));
45 static inline int rtmac_add_header(
struct rtnet_device *rtdev,
void *daddr,
46 struct rtskb *skb, u16 type, u8 flags)
48 struct rtmac_hdr *hdr =
49 (
struct rtmac_hdr *)rtskb_push(skb,
sizeof(
struct rtmac_hdr));
52 hdr->type = htons(type);
53 hdr->ver = RTMAC_VERSION;
58 if (rtdev->hard_header &&
59 (rtdev->hard_header(skb, rtdev, ETH_RTMAC, daddr,
60 rtdev->dev_addr, skb->len) < 0))
68 static inline int rtmac_xmit(
struct rtskb *skb)
70 struct rtnet_device *rtdev = skb->rtdev;
74 ret = rtdev->hard_start_xmit(skb, rtdev);
82 extern struct rtpacket_type rtmac_packet_type;
84 #define rtmac_proto_init() rtdev_add_pack(&rtmac_packet_type) 85 void rtmac_proto_release(
void);