summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@nuts.davemloft.net>2004-10-06 22:00:21 -0700
committerDavid S. Miller <davem@nuts.davemloft.net>2004-10-06 22:00:21 -0700
commitaa59d2c8a6dc8c90e305b72687559e6829e43388 (patch)
tree541eb8260e14f7306b02556ec651b29c39e190f3 /include
parentc57512a686eb60b4f246bcbf98287557ef0dd227 (diff)
parent95e8c633258cc9943f168e4f676bdf68e6e25073 (diff)
Merge nuts.davemloft.net:/disk1/BK/acme-2.6
into nuts.davemloft.net:/disk1/BK/net-2.6
Diffstat (limited to 'include')
-rw-r--r--include/linux/if_tr.h9
-rw-r--r--include/net/llc_pdu.h10
2 files changed, 14 insertions, 5 deletions
diff --git a/include/linux/if_tr.h b/include/linux/if_tr.h
index f7c97eeb95c8..4fd451f81ccb 100644
--- a/include/linux/if_tr.h
+++ b/include/linux/if_tr.h
@@ -48,6 +48,15 @@ struct trh_hdr {
__u16 rseg[8]; /* routing registers */
};
+#ifdef __KERNEL__
+#include <linux/skbuff.h>
+
+static inline struct trh_hdr *tr_hdr(const struct sk_buff *skb)
+{
+ return (struct trh_hdr *)skb->mac.raw;
+}
+#endif
+
/* This is an Token-Ring LLC structure */
struct trllc {
__u8 dsap; /* destination SAP */
diff --git a/include/net/llc_pdu.h b/include/net/llc_pdu.h
index 644f9edc2bae..cbbfc373447d 100644
--- a/include/net/llc_pdu.h
+++ b/include/net/llc_pdu.h
@@ -253,9 +253,9 @@ static inline void llc_pdu_header_init(struct sk_buff *skb, u8 type,
static inline void llc_pdu_decode_sa(struct sk_buff *skb, u8 *sa)
{
if (skb->protocol == ntohs(ETH_P_802_2))
- memcpy(sa, ((struct ethhdr *)skb->mac.raw)->h_source, ETH_ALEN);
+ memcpy(sa, eth_hdr(skb)->h_source, ETH_ALEN);
else if (skb->protocol == ntohs(ETH_P_TR_802_2))
- memcpy(sa, ((struct trh_hdr *)skb->mac.raw)->saddr, ETH_ALEN);
+ memcpy(sa, tr_hdr(skb)->saddr, ETH_ALEN);
}
/**
@@ -268,9 +268,9 @@ static inline void llc_pdu_decode_sa(struct sk_buff *skb, u8 *sa)
static inline void llc_pdu_decode_da(struct sk_buff *skb, u8 *da)
{
if (skb->protocol == ntohs(ETH_P_802_2))
- memcpy(da, ((struct ethhdr *)skb->mac.raw)->h_dest, ETH_ALEN);
+ memcpy(da, eth_hdr(skb)->h_dest, ETH_ALEN);
else if (skb->protocol == ntohs(ETH_P_TR_802_2))
- memcpy(da, ((struct trh_hdr *)skb->mac.raw)->daddr, ETH_ALEN);
+ memcpy(da, tr_hdr(skb)->daddr, ETH_ALEN);
}
/**
@@ -347,7 +347,7 @@ static inline void llc_pdu_init_as_test_rsp(struct sk_buff *skb,
struct llc_pdu_un *ev_pdu = llc_pdu_un_hdr(ev_skb);
int dsize;
- dsize = ntohs(((struct ethhdr *)ev_skb->mac.raw)->h_proto) - 3;
+ dsize = ntohs(eth_hdr(ev_skb)->h_proto) - 3;
memcpy(((u8 *)pdu) + 3, ((u8 *)ev_pdu) + 3, dsize);
skb_put(skb, dsize);
}