net: bonding: bond_alb: Remove the dependency on ipx network layer
commit <47595e32869f> ("<MAINTAINERS: Mark some staging directories>") indicated the ipx network layer as obsolete in Jan 2018, updated in the MAINTAINERS file now, after being exposed for 3 years to refactoring, so to delete the ipx net layer related code for good. Signed-off-by: Cai Huoqing <caihuoqing@baidu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4367355dd9
commit
f9be84db09
|
@ -17,7 +17,6 @@
|
||||||
#include <linux/if_bonding.h>
|
#include <linux/if_bonding.h>
|
||||||
#include <linux/if_vlan.h>
|
#include <linux/if_vlan.h>
|
||||||
#include <linux/in.h>
|
#include <linux/in.h>
|
||||||
#include <net/ipx.h>
|
|
||||||
#include <net/arp.h>
|
#include <net/arp.h>
|
||||||
#include <net/ipv6.h>
|
#include <net/ipv6.h>
|
||||||
#include <asm/byteorder.h>
|
#include <asm/byteorder.h>
|
||||||
|
@ -1351,8 +1350,6 @@ struct slave *bond_xmit_tlb_slave_get(struct bonding *bond,
|
||||||
if (!is_multicast_ether_addr(eth_data->h_dest)) {
|
if (!is_multicast_ether_addr(eth_data->h_dest)) {
|
||||||
switch (skb->protocol) {
|
switch (skb->protocol) {
|
||||||
case htons(ETH_P_IP):
|
case htons(ETH_P_IP):
|
||||||
case htons(ETH_P_IPX):
|
|
||||||
/* In case of IPX, it will falback to L2 hash */
|
|
||||||
case htons(ETH_P_IPV6):
|
case htons(ETH_P_IPV6):
|
||||||
hash_index = bond_xmit_hash(bond, skb);
|
hash_index = bond_xmit_hash(bond, skb);
|
||||||
if (bond->params.tlb_dynamic_lb) {
|
if (bond->params.tlb_dynamic_lb) {
|
||||||
|
@ -1454,35 +1451,6 @@ struct slave *bond_xmit_alb_slave_get(struct bonding *bond,
|
||||||
hash_size = sizeof(ip6hdr->daddr);
|
hash_size = sizeof(ip6hdr->daddr);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ETH_P_IPX: {
|
|
||||||
const struct ipxhdr *ipxhdr;
|
|
||||||
|
|
||||||
if (pskb_network_may_pull(skb, sizeof(*ipxhdr))) {
|
|
||||||
do_tx_balance = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
ipxhdr = (struct ipxhdr *)skb_network_header(skb);
|
|
||||||
|
|
||||||
if (ipxhdr->ipx_checksum != IPX_NO_CHECKSUM) {
|
|
||||||
/* something is wrong with this packet */
|
|
||||||
do_tx_balance = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ipxhdr->ipx_type != IPX_TYPE_NCP) {
|
|
||||||
/* The only protocol worth balancing in
|
|
||||||
* this family since it has an "ARP" like
|
|
||||||
* mechanism
|
|
||||||
*/
|
|
||||||
do_tx_balance = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
eth_data = eth_hdr(skb);
|
|
||||||
hash_start = (char *)eth_data->h_dest;
|
|
||||||
hash_size = ETH_ALEN;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case ETH_P_ARP:
|
case ETH_P_ARP:
|
||||||
do_tx_balance = false;
|
do_tx_balance = false;
|
||||||
if (bond_info->rlb_enabled)
|
if (bond_info->rlb_enabled)
|
||||||
|
|
Loading…
Reference in New Issue