[SK_BUFF]: Introduce skb_mac_header()
For the places where we need a pointer to the mac header, it is still legal to touch skb->mac.raw directly if just adding to, subtracting from or setting it to another layer header. This one also converts some more cases to skb_reset_mac_header() that my regex missed as it had no spaces before nor after '=', ugh. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
31713c333d
commit
98e399f82a
49 changed files with 108 additions and 88 deletions
|
|
@ -112,7 +112,7 @@ struct ethhdr {
|
|||
|
||||
static inline struct ethhdr *eth_hdr(const struct sk_buff *skb)
|
||||
{
|
||||
return (struct ethhdr *)skb->mac.raw;
|
||||
return (struct ethhdr *)skb_mac_header(skb);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SYSCTL
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ struct trh_hdr {
|
|||
|
||||
static inline struct trh_hdr *tr_hdr(const struct sk_buff *skb)
|
||||
{
|
||||
return (struct trh_hdr *)skb->mac.raw;
|
||||
return (struct trh_hdr *)skb_mac_header(skb);
|
||||
}
|
||||
#ifdef CONFIG_SYSCTL
|
||||
extern struct ctl_table tr_table[];
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ struct vlan_ethhdr {
|
|||
|
||||
static inline struct vlan_ethhdr *vlan_eth_hdr(const struct sk_buff *skb)
|
||||
{
|
||||
return (struct vlan_ethhdr *)skb->mac.raw;
|
||||
return (struct vlan_ethhdr *)skb_mac_header(skb);
|
||||
}
|
||||
|
||||
struct vlan_hdr {
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ struct ebt_802_3_hdr {
|
|||
|
||||
static inline struct ebt_802_3_hdr *ebt_802_3_hdr(const struct sk_buff *skb)
|
||||
{
|
||||
return (struct ebt_802_3_hdr *)skb->mac.raw;
|
||||
return (struct ebt_802_3_hdr *)skb_mac_header(skb);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -960,6 +960,16 @@ static inline void skb_reserve(struct sk_buff *skb, int len)
|
|||
skb->tail += len;
|
||||
}
|
||||
|
||||
static inline unsigned char *skb_mac_header(const struct sk_buff *skb)
|
||||
{
|
||||
return skb->mac.raw;
|
||||
}
|
||||
|
||||
static inline int skb_mac_header_was_set(const struct sk_buff *skb)
|
||||
{
|
||||
return skb->mac.raw != NULL;
|
||||
}
|
||||
|
||||
static inline void skb_reset_mac_header(struct sk_buff *skb)
|
||||
{
|
||||
skb->mac.raw = skb->data;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue