Loading include/linux/netfilter_arp/arp_tables.h +17 −3 Original line number Diff line number Diff line Loading @@ -68,7 +68,8 @@ struct arpt_entry_target u_int16_t target_size; /* Used by userspace */ char name[ARPT_FUNCTION_MAXNAMELEN]; char name[ARPT_FUNCTION_MAXNAMELEN-1]; u_int8_t revision; } user; struct { u_int16_t target_size; Loading Loading @@ -148,7 +149,9 @@ struct arpt_entry #define ARPT_SO_GET_INFO (ARPT_BASE_CTL) #define ARPT_SO_GET_ENTRIES (ARPT_BASE_CTL + 1) #define ARPT_SO_GET_MAX ARPT_SO_GET_ENTRIES /* #define ARPT_SO_GET_REVISION_MATCH (ARPT_BASE_CTL + 2)*/ #define ARPT_SO_GET_REVISION_TARGET (ARPT_BASE_CTL + 3) #define ARPT_SO_GET_MAX ARPT_SO_GET_REVISION_TARGET /* CONTINUE verdict for targets */ #define ARPT_CONTINUE 0xFFFFFFFF Loading Loading @@ -236,6 +239,15 @@ struct arpt_get_entries struct arpt_entry entrytable[0]; }; /* The argument to ARPT_SO_GET_REVISION_*. Returns highest revision * kernel supports, if >= revision. */ struct arpt_get_revision { char name[ARPT_FUNCTION_MAXNAMELEN-1]; u_int8_t revision; }; /* Standard return verdict, or do jump. */ #define ARPT_STANDARD_TARGET "" /* Error verdict. */ Loading Loading @@ -274,7 +286,9 @@ struct arpt_target { struct list_head list; const char name[ARPT_FUNCTION_MAXNAMELEN]; const char name[ARPT_FUNCTION_MAXNAMELEN-1]; u_int8_t revision; /* Returns verdict. */ unsigned int (*target)(struct sk_buff **pskb, Loading include/linux/netfilter_ipv6/ip6_tables.h +22 −5 Original line number Diff line number Diff line Loading @@ -57,7 +57,8 @@ struct ip6t_entry_match u_int16_t match_size; /* Used by userspace */ char name[IP6T_FUNCTION_MAXNAMELEN]; char name[IP6T_FUNCTION_MAXNAMELEN-1]; u_int8_t revision; } user; struct { u_int16_t match_size; Loading @@ -80,7 +81,8 @@ struct ip6t_entry_target u_int16_t target_size; /* Used by userspace */ char name[IP6T_FUNCTION_MAXNAMELEN]; char name[IP6T_FUNCTION_MAXNAMELEN-1]; u_int8_t revision; } user; struct { u_int16_t target_size; Loading Loading @@ -161,7 +163,9 @@ struct ip6t_entry #define IP6T_SO_GET_INFO (IP6T_BASE_CTL) #define IP6T_SO_GET_ENTRIES (IP6T_BASE_CTL + 1) #define IP6T_SO_GET_MAX IP6T_SO_GET_ENTRIES #define IP6T_SO_GET_REVISION_MATCH (IP6T_BASE_CTL + 2) #define IP6T_SO_GET_REVISION_TARGET (IP6T_BASE_CTL + 3) #define IP6T_SO_GET_MAX IP6T_SO_GET_REVISION_TARGET /* CONTINUE verdict for targets */ #define IP6T_CONTINUE 0xFFFFFFFF Loading Loading @@ -291,6 +295,15 @@ struct ip6t_get_entries struct ip6t_entry entrytable[0]; }; /* The argument to IP6T_SO_GET_REVISION_*. Returns highest revision * kernel supports, if >= revision. */ struct ip6t_get_revision { char name[IP6T_FUNCTION_MAXNAMELEN-1]; u_int8_t revision; }; /* Standard return verdict, or do jump. */ #define IP6T_STANDARD_TARGET "" /* Error verdict. */ Loading Loading @@ -352,7 +365,9 @@ struct ip6t_match { struct list_head list; const char name[IP6T_FUNCTION_MAXNAMELEN]; const char name[IP6T_FUNCTION_MAXNAMELEN-1]; u_int8_t revision; /* Return true or false: return FALSE and set *hotdrop = 1 to force immediate packet drop. */ Loading Loading @@ -387,7 +402,9 @@ struct ip6t_target { struct list_head list; const char name[IP6T_FUNCTION_MAXNAMELEN]; const char name[IP6T_FUNCTION_MAXNAMELEN-1]; u_int8_t revision; /* Returns verdict. Argument order changed since 2.6.9, as this must now handle non-linear skbs, using skb_copy_bits and Loading net/bridge/br_fdb.c +6 −6 Original line number Diff line number Diff line Loading @@ -86,8 +86,8 @@ void br_fdb_changeaddr(struct net_bridge_port *p, const unsigned char *newaddr) struct net_bridge_port *op; list_for_each_entry(op, &br->port_list, list) { if (op != p && !memcmp(op->dev->dev_addr, f->addr.addr, ETH_ALEN)) { !compare_ether_addr(op->dev->dev_addr, f->addr.addr)) { f->dst = op; goto insert; } Loading Loading @@ -151,8 +151,8 @@ void br_fdb_delete_by_port(struct net_bridge *br, struct net_bridge_port *p) struct net_bridge_port *op; list_for_each_entry(op, &br->port_list, list) { if (op != p && !memcmp(op->dev->dev_addr, f->addr.addr, ETH_ALEN)) { !compare_ether_addr(op->dev->dev_addr, f->addr.addr)) { f->dst = op; goto skip_delete; } Loading @@ -174,7 +174,7 @@ struct net_bridge_fdb_entry *__br_fdb_get(struct net_bridge *br, struct net_bridge_fdb_entry *fdb; hlist_for_each_entry_rcu(fdb, h, &br->hash[br_mac_hash(addr)], hlist) { if (!memcmp(fdb->addr.addr, addr, ETH_ALEN)) { if (!compare_ether_addr(fdb->addr.addr, addr)) { if (unlikely(has_expired(br, fdb))) break; return fdb; Loading Loading @@ -264,7 +264,7 @@ static inline struct net_bridge_fdb_entry *fdb_find(struct hlist_head *head, struct net_bridge_fdb_entry *fdb; hlist_for_each_entry_rcu(fdb, h, head, hlist) { if (!memcmp(fdb->addr.addr, addr, ETH_ALEN)) if (!compare_ether_addr(fdb->addr.addr, addr)) return fdb; } return NULL; Loading net/bridge/br_input.c +1 −1 Original line number Diff line number Diff line Loading @@ -128,7 +128,7 @@ int br_handle_frame(struct net_bridge_port *p, struct sk_buff **pskb) dest = eth_hdr(skb)->h_dest; } if (!memcmp(p->br->dev->dev_addr, dest, ETH_ALEN)) if (!compare_ether_addr(p->br->dev->dev_addr, dest)) skb->pkt_type = PACKET_HOST; NF_HOOK(PF_BRIDGE, NF_BR_PRE_ROUTING, skb, skb->dev, NULL, Loading net/bridge/br_stp_if.c +5 −4 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ #include <linux/kernel.h> #include <linux/smp_lock.h> #include <linux/etherdevice.h> #include "br_private.h" #include "br_private_stp.h" Loading Loading @@ -133,10 +134,10 @@ static void br_stp_change_bridge_id(struct net_bridge *br, memcpy(br->dev->dev_addr, addr, ETH_ALEN); list_for_each_entry(p, &br->port_list, list) { if (!memcmp(p->designated_bridge.addr, oldaddr, ETH_ALEN)) if (!compare_ether_addr(p->designated_bridge.addr, oldaddr)) memcpy(p->designated_bridge.addr, addr, ETH_ALEN); if (!memcmp(p->designated_root.addr, oldaddr, ETH_ALEN)) if (!compare_ether_addr(p->designated_root.addr, oldaddr)) memcpy(p->designated_root.addr, addr, ETH_ALEN); } Loading @@ -157,12 +158,12 @@ void br_stp_recalculate_bridge_id(struct net_bridge *br) list_for_each_entry(p, &br->port_list, list) { if (addr == br_mac_zero || memcmp(p->dev->dev_addr, addr, ETH_ALEN) < 0) compare_ether_addr(p->dev->dev_addr, addr) < 0) addr = p->dev->dev_addr; } if (memcmp(br->bridge_id.addr, addr, ETH_ALEN)) if (compare_ether_addr(br->bridge_id.addr, addr)) br_stp_change_bridge_id(br, addr); } Loading Loading
include/linux/netfilter_arp/arp_tables.h +17 −3 Original line number Diff line number Diff line Loading @@ -68,7 +68,8 @@ struct arpt_entry_target u_int16_t target_size; /* Used by userspace */ char name[ARPT_FUNCTION_MAXNAMELEN]; char name[ARPT_FUNCTION_MAXNAMELEN-1]; u_int8_t revision; } user; struct { u_int16_t target_size; Loading Loading @@ -148,7 +149,9 @@ struct arpt_entry #define ARPT_SO_GET_INFO (ARPT_BASE_CTL) #define ARPT_SO_GET_ENTRIES (ARPT_BASE_CTL + 1) #define ARPT_SO_GET_MAX ARPT_SO_GET_ENTRIES /* #define ARPT_SO_GET_REVISION_MATCH (ARPT_BASE_CTL + 2)*/ #define ARPT_SO_GET_REVISION_TARGET (ARPT_BASE_CTL + 3) #define ARPT_SO_GET_MAX ARPT_SO_GET_REVISION_TARGET /* CONTINUE verdict for targets */ #define ARPT_CONTINUE 0xFFFFFFFF Loading Loading @@ -236,6 +239,15 @@ struct arpt_get_entries struct arpt_entry entrytable[0]; }; /* The argument to ARPT_SO_GET_REVISION_*. Returns highest revision * kernel supports, if >= revision. */ struct arpt_get_revision { char name[ARPT_FUNCTION_MAXNAMELEN-1]; u_int8_t revision; }; /* Standard return verdict, or do jump. */ #define ARPT_STANDARD_TARGET "" /* Error verdict. */ Loading Loading @@ -274,7 +286,9 @@ struct arpt_target { struct list_head list; const char name[ARPT_FUNCTION_MAXNAMELEN]; const char name[ARPT_FUNCTION_MAXNAMELEN-1]; u_int8_t revision; /* Returns verdict. */ unsigned int (*target)(struct sk_buff **pskb, Loading
include/linux/netfilter_ipv6/ip6_tables.h +22 −5 Original line number Diff line number Diff line Loading @@ -57,7 +57,8 @@ struct ip6t_entry_match u_int16_t match_size; /* Used by userspace */ char name[IP6T_FUNCTION_MAXNAMELEN]; char name[IP6T_FUNCTION_MAXNAMELEN-1]; u_int8_t revision; } user; struct { u_int16_t match_size; Loading @@ -80,7 +81,8 @@ struct ip6t_entry_target u_int16_t target_size; /* Used by userspace */ char name[IP6T_FUNCTION_MAXNAMELEN]; char name[IP6T_FUNCTION_MAXNAMELEN-1]; u_int8_t revision; } user; struct { u_int16_t target_size; Loading Loading @@ -161,7 +163,9 @@ struct ip6t_entry #define IP6T_SO_GET_INFO (IP6T_BASE_CTL) #define IP6T_SO_GET_ENTRIES (IP6T_BASE_CTL + 1) #define IP6T_SO_GET_MAX IP6T_SO_GET_ENTRIES #define IP6T_SO_GET_REVISION_MATCH (IP6T_BASE_CTL + 2) #define IP6T_SO_GET_REVISION_TARGET (IP6T_BASE_CTL + 3) #define IP6T_SO_GET_MAX IP6T_SO_GET_REVISION_TARGET /* CONTINUE verdict for targets */ #define IP6T_CONTINUE 0xFFFFFFFF Loading Loading @@ -291,6 +295,15 @@ struct ip6t_get_entries struct ip6t_entry entrytable[0]; }; /* The argument to IP6T_SO_GET_REVISION_*. Returns highest revision * kernel supports, if >= revision. */ struct ip6t_get_revision { char name[IP6T_FUNCTION_MAXNAMELEN-1]; u_int8_t revision; }; /* Standard return verdict, or do jump. */ #define IP6T_STANDARD_TARGET "" /* Error verdict. */ Loading Loading @@ -352,7 +365,9 @@ struct ip6t_match { struct list_head list; const char name[IP6T_FUNCTION_MAXNAMELEN]; const char name[IP6T_FUNCTION_MAXNAMELEN-1]; u_int8_t revision; /* Return true or false: return FALSE and set *hotdrop = 1 to force immediate packet drop. */ Loading Loading @@ -387,7 +402,9 @@ struct ip6t_target { struct list_head list; const char name[IP6T_FUNCTION_MAXNAMELEN]; const char name[IP6T_FUNCTION_MAXNAMELEN-1]; u_int8_t revision; /* Returns verdict. Argument order changed since 2.6.9, as this must now handle non-linear skbs, using skb_copy_bits and Loading
net/bridge/br_fdb.c +6 −6 Original line number Diff line number Diff line Loading @@ -86,8 +86,8 @@ void br_fdb_changeaddr(struct net_bridge_port *p, const unsigned char *newaddr) struct net_bridge_port *op; list_for_each_entry(op, &br->port_list, list) { if (op != p && !memcmp(op->dev->dev_addr, f->addr.addr, ETH_ALEN)) { !compare_ether_addr(op->dev->dev_addr, f->addr.addr)) { f->dst = op; goto insert; } Loading Loading @@ -151,8 +151,8 @@ void br_fdb_delete_by_port(struct net_bridge *br, struct net_bridge_port *p) struct net_bridge_port *op; list_for_each_entry(op, &br->port_list, list) { if (op != p && !memcmp(op->dev->dev_addr, f->addr.addr, ETH_ALEN)) { !compare_ether_addr(op->dev->dev_addr, f->addr.addr)) { f->dst = op; goto skip_delete; } Loading @@ -174,7 +174,7 @@ struct net_bridge_fdb_entry *__br_fdb_get(struct net_bridge *br, struct net_bridge_fdb_entry *fdb; hlist_for_each_entry_rcu(fdb, h, &br->hash[br_mac_hash(addr)], hlist) { if (!memcmp(fdb->addr.addr, addr, ETH_ALEN)) { if (!compare_ether_addr(fdb->addr.addr, addr)) { if (unlikely(has_expired(br, fdb))) break; return fdb; Loading Loading @@ -264,7 +264,7 @@ static inline struct net_bridge_fdb_entry *fdb_find(struct hlist_head *head, struct net_bridge_fdb_entry *fdb; hlist_for_each_entry_rcu(fdb, h, head, hlist) { if (!memcmp(fdb->addr.addr, addr, ETH_ALEN)) if (!compare_ether_addr(fdb->addr.addr, addr)) return fdb; } return NULL; Loading
net/bridge/br_input.c +1 −1 Original line number Diff line number Diff line Loading @@ -128,7 +128,7 @@ int br_handle_frame(struct net_bridge_port *p, struct sk_buff **pskb) dest = eth_hdr(skb)->h_dest; } if (!memcmp(p->br->dev->dev_addr, dest, ETH_ALEN)) if (!compare_ether_addr(p->br->dev->dev_addr, dest)) skb->pkt_type = PACKET_HOST; NF_HOOK(PF_BRIDGE, NF_BR_PRE_ROUTING, skb, skb->dev, NULL, Loading
net/bridge/br_stp_if.c +5 −4 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ #include <linux/kernel.h> #include <linux/smp_lock.h> #include <linux/etherdevice.h> #include "br_private.h" #include "br_private_stp.h" Loading Loading @@ -133,10 +134,10 @@ static void br_stp_change_bridge_id(struct net_bridge *br, memcpy(br->dev->dev_addr, addr, ETH_ALEN); list_for_each_entry(p, &br->port_list, list) { if (!memcmp(p->designated_bridge.addr, oldaddr, ETH_ALEN)) if (!compare_ether_addr(p->designated_bridge.addr, oldaddr)) memcpy(p->designated_bridge.addr, addr, ETH_ALEN); if (!memcmp(p->designated_root.addr, oldaddr, ETH_ALEN)) if (!compare_ether_addr(p->designated_root.addr, oldaddr)) memcpy(p->designated_root.addr, addr, ETH_ALEN); } Loading @@ -157,12 +158,12 @@ void br_stp_recalculate_bridge_id(struct net_bridge *br) list_for_each_entry(p, &br->port_list, list) { if (addr == br_mac_zero || memcmp(p->dev->dev_addr, addr, ETH_ALEN) < 0) compare_ether_addr(p->dev->dev_addr, addr) < 0) addr = p->dev->dev_addr; } if (memcmp(br->bridge_id.addr, addr, ETH_ALEN)) if (compare_ether_addr(br->bridge_id.addr, addr)) br_stp_change_bridge_id(br, addr); } Loading