[BRIDGE]: Annotations.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
30d492da73
commit
47c183fa5e
|
@ -64,7 +64,7 @@ static inline int nf_bridge_pad(const struct sk_buff *skb)
|
|||
|
||||
struct bridge_skb_cb {
|
||||
union {
|
||||
__u32 ipv4;
|
||||
__be32 ipv4;
|
||||
} daddr;
|
||||
};
|
||||
|
||||
|
|
|
@ -28,21 +28,21 @@ struct hdr_ui {
|
|||
uint8_t ssap;
|
||||
uint8_t ctrl;
|
||||
uint8_t orig[3];
|
||||
uint16_t type;
|
||||
__be16 type;
|
||||
};
|
||||
|
||||
struct hdr_ni {
|
||||
uint8_t dsap;
|
||||
uint8_t ssap;
|
||||
uint16_t ctrl;
|
||||
__be16 ctrl;
|
||||
uint8_t orig[3];
|
||||
uint16_t type;
|
||||
__be16 type;
|
||||
};
|
||||
|
||||
struct ebt_802_3_hdr {
|
||||
uint8_t daddr[6];
|
||||
uint8_t saddr[6];
|
||||
uint16_t len;
|
||||
__be16 len;
|
||||
union {
|
||||
struct hdr_ui ui;
|
||||
struct hdr_ni ni;
|
||||
|
@ -61,7 +61,7 @@ static inline struct ebt_802_3_hdr *ebt_802_3_hdr(const struct sk_buff *skb)
|
|||
struct ebt_802_3_info
|
||||
{
|
||||
uint8_t sap;
|
||||
uint16_t type;
|
||||
__be16 type;
|
||||
uint8_t bitmask;
|
||||
uint8_t invflags;
|
||||
};
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
struct ebt_mac_wormhash_tuple
|
||||
{
|
||||
uint32_t cmp[2];
|
||||
uint32_t ip;
|
||||
__be32 ip;
|
||||
};
|
||||
|
||||
struct ebt_mac_wormhash
|
||||
|
|
|
@ -14,13 +14,13 @@
|
|||
|
||||
struct ebt_arp_info
|
||||
{
|
||||
uint16_t htype;
|
||||
uint16_t ptype;
|
||||
uint16_t opcode;
|
||||
uint32_t saddr;
|
||||
uint32_t smsk;
|
||||
uint32_t daddr;
|
||||
uint32_t dmsk;
|
||||
__be16 htype;
|
||||
__be16 ptype;
|
||||
__be16 opcode;
|
||||
__be32 saddr;
|
||||
__be32 smsk;
|
||||
__be32 daddr;
|
||||
__be32 dmsk;
|
||||
unsigned char smaddr[ETH_ALEN];
|
||||
unsigned char smmsk[ETH_ALEN];
|
||||
unsigned char dmaddr[ETH_ALEN];
|
||||
|
|
|
@ -28,10 +28,10 @@
|
|||
/* the same values are used for the invflags */
|
||||
struct ebt_ip_info
|
||||
{
|
||||
uint32_t saddr;
|
||||
uint32_t daddr;
|
||||
uint32_t smsk;
|
||||
uint32_t dmsk;
|
||||
__be32 saddr;
|
||||
__be32 daddr;
|
||||
__be32 smsk;
|
||||
__be32 dmsk;
|
||||
uint8_t tos;
|
||||
uint8_t protocol;
|
||||
uint8_t bitmask;
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
struct ebt_vlan_info {
|
||||
uint16_t id; /* VLAN ID {1-4095} */
|
||||
uint8_t prio; /* VLAN User Priority {0-7} */
|
||||
uint16_t encap; /* VLAN Encapsulated frame code {0-65535} */
|
||||
__be16 encap; /* VLAN Encapsulated frame code {0-65535} */
|
||||
uint8_t bitmask; /* Args bitmask bit 1=1 - ID arg,
|
||||
bit 2=1 User-Priority arg, bit 3=1 encap*/
|
||||
uint8_t invflags; /* Inverse bitmask bit 1=1 - inversed ID arg,
|
||||
|
|
|
@ -141,7 +141,7 @@ struct ebt_entry {
|
|||
/* this needs to be the first field */
|
||||
unsigned int bitmask;
|
||||
unsigned int invflags;
|
||||
uint16_t ethproto;
|
||||
__be16 ethproto;
|
||||
/* the physical in-dev */
|
||||
char in[IFNAMSIZ];
|
||||
/* the logical in-dev */
|
||||
|
|
|
@ -381,7 +381,7 @@ static int check_hbh_len(struct sk_buff *skb)
|
|||
case IPV6_TLV_JUMBO:
|
||||
if (skb->nh.raw[off + 1] != 4 || (off & 3) != 2)
|
||||
goto bad;
|
||||
pkt_len = ntohl(*(u32 *) (skb->nh.raw + off + 2));
|
||||
pkt_len = ntohl(*(__be32 *) (skb->nh.raw + off + 2));
|
||||
if (pkt_len <= IPV6_MAXPLEN ||
|
||||
skb->nh.ipv6h->payload_len)
|
||||
goto bad;
|
||||
|
|
|
@ -17,7 +17,7 @@ static int ebt_filter_802_3(const struct sk_buff *skb, const struct net_device *
|
|||
{
|
||||
struct ebt_802_3_info *info = (struct ebt_802_3_info *)data;
|
||||
struct ebt_802_3_hdr *hdr = ebt_802_3_hdr(skb);
|
||||
uint16_t type = hdr->llc.ui.ctrl & IS_UI ? hdr->llc.ui.type : hdr->llc.ni.type;
|
||||
__be16 type = hdr->llc.ui.ctrl & IS_UI ? hdr->llc.ui.type : hdr->llc.ni.type;
|
||||
|
||||
if (info->bitmask & EBT_802_3_SAP) {
|
||||
if (FWINV(info->sap != hdr->llc.ui.ssap, EBT_802_3_SAP))
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#include <linux/module.h>
|
||||
|
||||
static int ebt_mac_wormhash_contains(const struct ebt_mac_wormhash *wh,
|
||||
const char *mac, uint32_t ip)
|
||||
const char *mac, __be32 ip)
|
||||
{
|
||||
/* You may be puzzled as to how this code works.
|
||||
* Some tricks were used, refer to
|
||||
|
@ -70,7 +70,7 @@ static int ebt_mac_wormhash_check_integrity(const struct ebt_mac_wormhash
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int get_ip_dst(const struct sk_buff *skb, uint32_t *addr)
|
||||
static int get_ip_dst(const struct sk_buff *skb, __be32 *addr)
|
||||
{
|
||||
if (eth_hdr(skb)->h_proto == htons(ETH_P_IP)) {
|
||||
struct iphdr _iph, *ih;
|
||||
|
@ -81,16 +81,16 @@ static int get_ip_dst(const struct sk_buff *skb, uint32_t *addr)
|
|||
*addr = ih->daddr;
|
||||
} else if (eth_hdr(skb)->h_proto == htons(ETH_P_ARP)) {
|
||||
struct arphdr _arph, *ah;
|
||||
uint32_t buf, *bp;
|
||||
__be32 buf, *bp;
|
||||
|
||||
ah = skb_header_pointer(skb, 0, sizeof(_arph), &_arph);
|
||||
if (ah == NULL ||
|
||||
ah->ar_pln != sizeof(uint32_t) ||
|
||||
ah->ar_pln != sizeof(__be32) ||
|
||||
ah->ar_hln != ETH_ALEN)
|
||||
return -1;
|
||||
bp = skb_header_pointer(skb, sizeof(struct arphdr) +
|
||||
2 * ETH_ALEN + sizeof(uint32_t),
|
||||
sizeof(uint32_t), &buf);
|
||||
2 * ETH_ALEN + sizeof(__be32),
|
||||
sizeof(__be32), &buf);
|
||||
if (bp == NULL)
|
||||
return -1;
|
||||
*addr = *bp;
|
||||
|
@ -98,7 +98,7 @@ static int get_ip_dst(const struct sk_buff *skb, uint32_t *addr)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int get_ip_src(const struct sk_buff *skb, uint32_t *addr)
|
||||
static int get_ip_src(const struct sk_buff *skb, __be32 *addr)
|
||||
{
|
||||
if (eth_hdr(skb)->h_proto == htons(ETH_P_IP)) {
|
||||
struct iphdr _iph, *ih;
|
||||
|
@ -109,15 +109,15 @@ static int get_ip_src(const struct sk_buff *skb, uint32_t *addr)
|
|||
*addr = ih->saddr;
|
||||
} else if (eth_hdr(skb)->h_proto == htons(ETH_P_ARP)) {
|
||||
struct arphdr _arph, *ah;
|
||||
uint32_t buf, *bp;
|
||||
__be32 buf, *bp;
|
||||
|
||||
ah = skb_header_pointer(skb, 0, sizeof(_arph), &_arph);
|
||||
if (ah == NULL ||
|
||||
ah->ar_pln != sizeof(uint32_t) ||
|
||||
ah->ar_pln != sizeof(__be32) ||
|
||||
ah->ar_hln != ETH_ALEN)
|
||||
return -1;
|
||||
bp = skb_header_pointer(skb, sizeof(struct arphdr) +
|
||||
ETH_ALEN, sizeof(uint32_t), &buf);
|
||||
ETH_ALEN, sizeof(__be32), &buf);
|
||||
if (bp == NULL)
|
||||
return -1;
|
||||
*addr = *bp;
|
||||
|
@ -133,7 +133,7 @@ static int ebt_filter_among(const struct sk_buff *skb,
|
|||
struct ebt_among_info *info = (struct ebt_among_info *) data;
|
||||
const char *dmac, *smac;
|
||||
const struct ebt_mac_wormhash *wh_dst, *wh_src;
|
||||
uint32_t dip = 0, sip = 0;
|
||||
__be32 dip = 0, sip = 0;
|
||||
|
||||
wh_dst = ebt_among_wh_dst(info);
|
||||
wh_src = ebt_among_wh_src(info);
|
||||
|
|
|
@ -35,10 +35,10 @@ static int ebt_filter_arp(const struct sk_buff *skb, const struct net_device *in
|
|||
return EBT_NOMATCH;
|
||||
|
||||
if (info->bitmask & (EBT_ARP_SRC_IP | EBT_ARP_DST_IP)) {
|
||||
uint32_t _addr, *ap;
|
||||
__be32 _addr, *ap;
|
||||
|
||||
/* IPv4 addresses are always 4 bytes */
|
||||
if (ah->ar_pln != sizeof(uint32_t))
|
||||
if (ah->ar_pln != sizeof(__be32))
|
||||
return EBT_NOMATCH;
|
||||
if (info->bitmask & EBT_ARP_SRC_IP) {
|
||||
ap = skb_header_pointer(skb, sizeof(struct arphdr) +
|
||||
|
@ -53,7 +53,7 @@ static int ebt_filter_arp(const struct sk_buff *skb, const struct net_device *in
|
|||
|
||||
if (info->bitmask & EBT_ARP_DST_IP) {
|
||||
ap = skb_header_pointer(skb, sizeof(struct arphdr) +
|
||||
2*ah->ar_hln+sizeof(uint32_t),
|
||||
2*ah->ar_hln+sizeof(__be32),
|
||||
sizeof(_addr), &_addr);
|
||||
if (ap == NULL)
|
||||
return EBT_NOMATCH;
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
#include <linux/module.h>
|
||||
|
||||
struct tcpudphdr {
|
||||
uint16_t src;
|
||||
uint16_t dst;
|
||||
__be16 src;
|
||||
__be16 dst;
|
||||
};
|
||||
|
||||
static int ebt_filter_ip(const struct sk_buff *skb, const struct net_device *in,
|
||||
|
|
|
@ -38,8 +38,8 @@ static int ebt_log_check(const char *tablename, unsigned int hookmask,
|
|||
|
||||
struct tcpudphdr
|
||||
{
|
||||
uint16_t src;
|
||||
uint16_t dst;
|
||||
__be16 src;
|
||||
__be16 dst;
|
||||
};
|
||||
|
||||
struct arppayload
|
||||
|
@ -130,7 +130,7 @@ ebt_log_packet(unsigned int pf, unsigned int hooknum,
|
|||
* then log the ARP payload */
|
||||
if (ah->ar_hrd == htons(1) &&
|
||||
ah->ar_hln == ETH_ALEN &&
|
||||
ah->ar_pln == sizeof(uint32_t)) {
|
||||
ah->ar_pln == sizeof(__be32)) {
|
||||
struct arppayload _arpp, *ap;
|
||||
|
||||
ap = skb_header_pointer(skb, sizeof(_arph),
|
||||
|
|
|
@ -55,7 +55,7 @@ ebt_filter_vlan(const struct sk_buff *skb,
|
|||
unsigned short id; /* VLAN ID, given from frame TCI */
|
||||
unsigned char prio; /* user_priority, given from frame TCI */
|
||||
/* VLAN encapsulated Type/Length field, given from orig frame */
|
||||
unsigned short encap;
|
||||
__be16 encap;
|
||||
|
||||
fp = skb_header_pointer(skb, 0, sizeof(_frame), &_frame);
|
||||
if (fp == NULL)
|
||||
|
|
Loading…
Reference in New Issue