25#ifndef __RTMAC_PROTO_H_
26#define __RTMAC_PROTO_H_
30#define RTMAC_VERSION 0x02
31#define ETH_RTMAC 0x9021
33#define RTMAC_FLAG_TUNNEL 0x01
39} __attribute__((packed));
41static inline int rtmac_add_header(
struct rtnet_device *rtdev,
void *daddr,
42 struct rtskb *skb, u16 type, u8 flags)
44 struct rtmac_hdr *hdr =
45 (
struct rtmac_hdr *)rtskb_push(skb,
sizeof(
struct rtmac_hdr));
47 hdr->type = htons(type);
48 hdr->ver = RTMAC_VERSION;
53 if (rtdev->hard_header &&
54 (rtdev->hard_header(skb, rtdev, ETH_RTMAC, daddr, rtdev->dev_addr,
61static inline int rtmac_xmit(
struct rtskb *skb)
63 struct rtnet_device *rtdev = skb->rtdev;
66 ret = rtdev->hard_start_xmit(skb, rtdev);
73extern struct rtpacket_type rtmac_packet_type;
75#define rtmac_proto_init() rtdev_add_pack(&rtmac_packet_type)
76void rtmac_proto_release(
void);