Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[BRIDGE]: Annotations.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Al Viro and committed by
David S. Miller
47c183fa 30d492da

+42 -42
+1 -1
include/linux/netfilter_bridge.h
··· 64 64 65 65 struct bridge_skb_cb { 66 66 union { 67 - __u32 ipv4; 67 + __be32 ipv4; 68 68 } daddr; 69 69 }; 70 70
+5 -5
include/linux/netfilter_bridge/ebt_802_3.h
··· 28 28 uint8_t ssap; 29 29 uint8_t ctrl; 30 30 uint8_t orig[3]; 31 - uint16_t type; 31 + __be16 type; 32 32 }; 33 33 34 34 struct hdr_ni { 35 35 uint8_t dsap; 36 36 uint8_t ssap; 37 - uint16_t ctrl; 37 + __be16 ctrl; 38 38 uint8_t orig[3]; 39 - uint16_t type; 39 + __be16 type; 40 40 }; 41 41 42 42 struct ebt_802_3_hdr { 43 43 uint8_t daddr[6]; 44 44 uint8_t saddr[6]; 45 - uint16_t len; 45 + __be16 len; 46 46 union { 47 47 struct hdr_ui ui; 48 48 struct hdr_ni ni; ··· 61 61 struct ebt_802_3_info 62 62 { 63 63 uint8_t sap; 64 - uint16_t type; 64 + __be16 type; 65 65 uint8_t bitmask; 66 66 uint8_t invflags; 67 67 };
+1 -1
include/linux/netfilter_bridge/ebt_among.h
··· 32 32 struct ebt_mac_wormhash_tuple 33 33 { 34 34 uint32_t cmp[2]; 35 - uint32_t ip; 35 + __be32 ip; 36 36 }; 37 37 38 38 struct ebt_mac_wormhash
+7 -7
include/linux/netfilter_bridge/ebt_arp.h
··· 14 14 15 15 struct ebt_arp_info 16 16 { 17 - uint16_t htype; 18 - uint16_t ptype; 19 - uint16_t opcode; 20 - uint32_t saddr; 21 - uint32_t smsk; 22 - uint32_t daddr; 23 - uint32_t dmsk; 17 + __be16 htype; 18 + __be16 ptype; 19 + __be16 opcode; 20 + __be32 saddr; 21 + __be32 smsk; 22 + __be32 daddr; 23 + __be32 dmsk; 24 24 unsigned char smaddr[ETH_ALEN]; 25 25 unsigned char smmsk[ETH_ALEN]; 26 26 unsigned char dmaddr[ETH_ALEN];
+4 -4
include/linux/netfilter_bridge/ebt_ip.h
··· 28 28 /* the same values are used for the invflags */ 29 29 struct ebt_ip_info 30 30 { 31 - uint32_t saddr; 32 - uint32_t daddr; 33 - uint32_t smsk; 34 - uint32_t dmsk; 31 + __be32 saddr; 32 + __be32 daddr; 33 + __be32 smsk; 34 + __be32 dmsk; 35 35 uint8_t tos; 36 36 uint8_t protocol; 37 37 uint8_t bitmask;
+1 -1
include/linux/netfilter_bridge/ebt_vlan.h
··· 10 10 struct ebt_vlan_info { 11 11 uint16_t id; /* VLAN ID {1-4095} */ 12 12 uint8_t prio; /* VLAN User Priority {0-7} */ 13 - uint16_t encap; /* VLAN Encapsulated frame code {0-65535} */ 13 + __be16 encap; /* VLAN Encapsulated frame code {0-65535} */ 14 14 uint8_t bitmask; /* Args bitmask bit 1=1 - ID arg, 15 15 bit 2=1 User-Priority arg, bit 3=1 encap*/ 16 16 uint8_t invflags; /* Inverse bitmask bit 1=1 - inversed ID arg,
+1 -1
include/linux/netfilter_bridge/ebtables.h
··· 141 141 /* this needs to be the first field */ 142 142 unsigned int bitmask; 143 143 unsigned int invflags; 144 - uint16_t ethproto; 144 + __be16 ethproto; 145 145 /* the physical in-dev */ 146 146 char in[IFNAMSIZ]; 147 147 /* the logical in-dev */
+1 -1
net/bridge/br_netfilter.c
··· 381 381 case IPV6_TLV_JUMBO: 382 382 if (skb->nh.raw[off + 1] != 4 || (off & 3) != 2) 383 383 goto bad; 384 - pkt_len = ntohl(*(u32 *) (skb->nh.raw + off + 2)); 384 + pkt_len = ntohl(*(__be32 *) (skb->nh.raw + off + 2)); 385 385 if (pkt_len <= IPV6_MAXPLEN || 386 386 skb->nh.ipv6h->payload_len) 387 387 goto bad;
+1 -1
net/bridge/netfilter/ebt_802_3.c
··· 17 17 { 18 18 struct ebt_802_3_info *info = (struct ebt_802_3_info *)data; 19 19 struct ebt_802_3_hdr *hdr = ebt_802_3_hdr(skb); 20 - uint16_t type = hdr->llc.ui.ctrl & IS_UI ? hdr->llc.ui.type : hdr->llc.ni.type; 20 + __be16 type = hdr->llc.ui.ctrl & IS_UI ? hdr->llc.ui.type : hdr->llc.ni.type; 21 21 22 22 if (info->bitmask & EBT_802_3_SAP) { 23 23 if (FWINV(info->sap != hdr->llc.ui.ssap, EBT_802_3_SAP))
+11 -11
net/bridge/netfilter/ebt_among.c
··· 15 15 #include <linux/module.h> 16 16 17 17 static int ebt_mac_wormhash_contains(const struct ebt_mac_wormhash *wh, 18 - const char *mac, uint32_t ip) 18 + const char *mac, __be32 ip) 19 19 { 20 20 /* You may be puzzled as to how this code works. 21 21 * Some tricks were used, refer to ··· 70 70 return 0; 71 71 } 72 72 73 - static int get_ip_dst(const struct sk_buff *skb, uint32_t *addr) 73 + static int get_ip_dst(const struct sk_buff *skb, __be32 *addr) 74 74 { 75 75 if (eth_hdr(skb)->h_proto == htons(ETH_P_IP)) { 76 76 struct iphdr _iph, *ih; ··· 81 81 *addr = ih->daddr; 82 82 } else if (eth_hdr(skb)->h_proto == htons(ETH_P_ARP)) { 83 83 struct arphdr _arph, *ah; 84 - uint32_t buf, *bp; 84 + __be32 buf, *bp; 85 85 86 86 ah = skb_header_pointer(skb, 0, sizeof(_arph), &_arph); 87 87 if (ah == NULL || 88 - ah->ar_pln != sizeof(uint32_t) || 88 + ah->ar_pln != sizeof(__be32) || 89 89 ah->ar_hln != ETH_ALEN) 90 90 return -1; 91 91 bp = skb_header_pointer(skb, sizeof(struct arphdr) + 92 - 2 * ETH_ALEN + sizeof(uint32_t), 93 - sizeof(uint32_t), &buf); 92 + 2 * ETH_ALEN + sizeof(__be32), 93 + sizeof(__be32), &buf); 94 94 if (bp == NULL) 95 95 return -1; 96 96 *addr = *bp; ··· 98 98 return 0; 99 99 } 100 100 101 - static int get_ip_src(const struct sk_buff *skb, uint32_t *addr) 101 + static int get_ip_src(const struct sk_buff *skb, __be32 *addr) 102 102 { 103 103 if (eth_hdr(skb)->h_proto == htons(ETH_P_IP)) { 104 104 struct iphdr _iph, *ih; ··· 109 109 *addr = ih->saddr; 110 110 } else if (eth_hdr(skb)->h_proto == htons(ETH_P_ARP)) { 111 111 struct arphdr _arph, *ah; 112 - uint32_t buf, *bp; 112 + __be32 buf, *bp; 113 113 114 114 ah = skb_header_pointer(skb, 0, sizeof(_arph), &_arph); 115 115 if (ah == NULL || 116 - ah->ar_pln != sizeof(uint32_t) || 116 + ah->ar_pln != sizeof(__be32) || 117 117 ah->ar_hln != ETH_ALEN) 118 118 return -1; 119 119 bp = skb_header_pointer(skb, sizeof(struct arphdr) + 120 - ETH_ALEN, sizeof(uint32_t), &buf); 120 + ETH_ALEN, sizeof(__be32), &buf); 121 121 if (bp == NULL) 122 122 return -1; 123 123 *addr = *bp; ··· 133 133 struct ebt_among_info *info = (struct ebt_among_info *) data; 134 134 const char *dmac, *smac; 135 135 const struct ebt_mac_wormhash *wh_dst, *wh_src; 136 - uint32_t dip = 0, sip = 0; 136 + __be32 dip = 0, sip = 0; 137 137 138 138 wh_dst = ebt_among_wh_dst(info); 139 139 wh_src = ebt_among_wh_src(info);
+3 -3
net/bridge/netfilter/ebt_arp.c
··· 35 35 return EBT_NOMATCH; 36 36 37 37 if (info->bitmask & (EBT_ARP_SRC_IP | EBT_ARP_DST_IP)) { 38 - uint32_t _addr, *ap; 38 + __be32 _addr, *ap; 39 39 40 40 /* IPv4 addresses are always 4 bytes */ 41 - if (ah->ar_pln != sizeof(uint32_t)) 41 + if (ah->ar_pln != sizeof(__be32)) 42 42 return EBT_NOMATCH; 43 43 if (info->bitmask & EBT_ARP_SRC_IP) { 44 44 ap = skb_header_pointer(skb, sizeof(struct arphdr) + ··· 53 53 54 54 if (info->bitmask & EBT_ARP_DST_IP) { 55 55 ap = skb_header_pointer(skb, sizeof(struct arphdr) + 56 - 2*ah->ar_hln+sizeof(uint32_t), 56 + 2*ah->ar_hln+sizeof(__be32), 57 57 sizeof(_addr), &_addr); 58 58 if (ap == NULL) 59 59 return EBT_NOMATCH;
+2 -2
net/bridge/netfilter/ebt_ip.c
··· 20 20 #include <linux/module.h> 21 21 22 22 struct tcpudphdr { 23 - uint16_t src; 24 - uint16_t dst; 23 + __be16 src; 24 + __be16 dst; 25 25 }; 26 26 27 27 static int ebt_filter_ip(const struct sk_buff *skb, const struct net_device *in,
+3 -3
net/bridge/netfilter/ebt_log.c
··· 38 38 39 39 struct tcpudphdr 40 40 { 41 - uint16_t src; 42 - uint16_t dst; 41 + __be16 src; 42 + __be16 dst; 43 43 }; 44 44 45 45 struct arppayload ··· 130 130 * then log the ARP payload */ 131 131 if (ah->ar_hrd == htons(1) && 132 132 ah->ar_hln == ETH_ALEN && 133 - ah->ar_pln == sizeof(uint32_t)) { 133 + ah->ar_pln == sizeof(__be32)) { 134 134 struct arppayload _arpp, *ap; 135 135 136 136 ap = skb_header_pointer(skb, sizeof(_arph),
+1 -1
net/bridge/netfilter/ebt_vlan.c
··· 55 55 unsigned short id; /* VLAN ID, given from frame TCI */ 56 56 unsigned char prio; /* user_priority, given from frame TCI */ 57 57 /* VLAN encapsulated Type/Length field, given from orig frame */ 58 - unsigned short encap; 58 + __be16 encap; 59 59 60 60 fp = skb_header_pointer(skb, 0, sizeof(_frame), &_frame); 61 61 if (fp == NULL)