Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 029720f1 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo Committed by David S. Miller
Browse files

[AOE]: Introduce aoe_hdr()



For consistency with other skb->mac.raw users.

Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4839fcce
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -48,6 +48,15 @@ struct aoe_hdr {
	__be32 tag;
};

#ifdef __KERNEL__
#include <linux/skbuff.h>

static inline struct aoe_hdr *aoe_hdr(const struct sk_buff *skb)
{
	return (struct aoe_hdr *)skb->mac.raw;
}
#endif

struct aoe_atahdr {
	unsigned char aflags;
	unsigned char errfeat;
+7 −7
Original line number Diff line number Diff line
@@ -118,7 +118,7 @@ aoecmd_ata_rw(struct aoedev *d, struct frame *f)

	/* initialize the headers & frame */
	skb = f->skb;
	h = (struct aoe_hdr *) skb->mac.raw;
	h = aoe_hdr(skb);
	ah = (struct aoe_atahdr *) (h+1);
	skb_put(skb, sizeof *h + sizeof *ah);
	memset(h, 0, skb->len);
@@ -207,7 +207,7 @@ aoecmd_cfg_pkts(ushort aoemajor, unsigned char aoeminor, struct sk_buff **tail)
		skb->dev = ifp;
		if (sl_tail == NULL)
			sl_tail = skb;
		h = (struct aoe_hdr *) skb->mac.raw;
		h = aoe_hdr(skb);
		memset(h, 0, sizeof *h + sizeof *ch);

		memset(h->dst, 0xff, sizeof h->dst);
@@ -300,7 +300,7 @@ rexmit(struct aoedev *d, struct frame *f)
	aoechr_error(buf);

	skb = f->skb;
	h = (struct aoe_hdr *) skb->mac.raw;
	h = aoe_hdr(skb);
	ah = (struct aoe_atahdr *) (h+1);
	f->tag = n;
	h->tag = cpu_to_be32(n);
@@ -529,7 +529,7 @@ aoecmd_ata_rsp(struct sk_buff *skb)
	char ebuf[128];
	u16 aoemajor;

	hin = (struct aoe_hdr *) skb->mac.raw;
	hin = aoe_hdr(skb);
	aoemajor = be16_to_cpu(get_unaligned(&hin->major));
	d = aoedev_by_aoeaddr(aoemajor, hin->minor);
	if (d == NULL) {
@@ -561,7 +561,7 @@ aoecmd_ata_rsp(struct sk_buff *skb)
	calc_rttavg(d, tsince(f->tag));

	ahin = (struct aoe_atahdr *) (hin+1);
	hout = (struct aoe_hdr *) f->skb->mac.raw;
	hout = aoe_hdr(f->skb);
	ahout = (struct aoe_atahdr *) (hout+1);
	buf = f->buf;

@@ -695,7 +695,7 @@ aoecmd_ata_id(struct aoedev *d)

	/* initialize the headers & frame */
	skb = f->skb;
	h = (struct aoe_hdr *) skb->mac.raw;
	h = aoe_hdr(skb);
	ah = (struct aoe_atahdr *) (h+1);
	skb_put(skb, sizeof *h + sizeof *ah);
	memset(h, 0, skb->len);
@@ -726,7 +726,7 @@ aoecmd_cfg_rsp(struct sk_buff *skb)
	enum { MAXFRAMES = 16 };
	u16 n;

	h = (struct aoe_hdr *) skb->mac.raw;
	h = aoe_hdr(skb);
	ch = (struct aoe_cfghdr *) (h+1);

	/*
+1 −1
Original line number Diff line number Diff line
@@ -123,7 +123,7 @@ aoenet_rcv(struct sk_buff *skb, struct net_device *ifp, struct packet_type *pt,
		goto exit;
	skb_push(skb, ETH_HLEN);	/* (1) */

	h = (struct aoe_hdr *) skb->mac.raw;
	h = aoe_hdr(skb);
	n = be32_to_cpu(get_unaligned(&h->tag));
	if ((h->verfl & AOEFL_RSP) == 0 || (n & 1<<31))
		goto exit;