aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bonding/bond_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/bonding/bond_main.c')
-rw-r--r--drivers/net/bonding/bond_main.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index c792138511e6..8e2be24f3fe4 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -3702,7 +3702,7 @@ static int bond_xmit_hash_policy_l23(struct sk_buff *skb,
3702 struct ethhdr *data = (struct ethhdr *)skb->data; 3702 struct ethhdr *data = (struct ethhdr *)skb->data;
3703 struct iphdr *iph = ip_hdr(skb); 3703 struct iphdr *iph = ip_hdr(skb);
3704 3704
3705 if (skb->protocol == __constant_htons(ETH_P_IP)) { 3705 if (skb->protocol == htons(ETH_P_IP)) {
3706 return ((ntohl(iph->saddr ^ iph->daddr) & 0xffff) ^ 3706 return ((ntohl(iph->saddr ^ iph->daddr) & 0xffff) ^
3707 (data->h_dest[5] ^ bond_dev->dev_addr[5])) % count; 3707 (data->h_dest[5] ^ bond_dev->dev_addr[5])) % count;
3708 } 3708 }
@@ -3723,8 +3723,8 @@ static int bond_xmit_hash_policy_l34(struct sk_buff *skb,
3723 __be16 *layer4hdr = (__be16 *)((u32 *)iph + iph->ihl); 3723 __be16 *layer4hdr = (__be16 *)((u32 *)iph + iph->ihl);
3724 int layer4_xor = 0; 3724 int layer4_xor = 0;
3725 3725
3726 if (skb->protocol == __constant_htons(ETH_P_IP)) { 3726 if (skb->protocol == htons(ETH_P_IP)) {
3727 if (!(iph->frag_off & __constant_htons(IP_MF|IP_OFFSET)) && 3727 if (!(iph->frag_off & htons(IP_MF|IP_OFFSET)) &&
3728 (iph->protocol == IPPROTO_TCP || 3728 (iph->protocol == IPPROTO_TCP ||
3729 iph->protocol == IPPROTO_UDP)) { 3729 iph->protocol == IPPROTO_UDP)) {
3730 layer4_xor = ntohs((*layer4hdr ^ *(layer4hdr + 1))); 3730 layer4_xor = ntohs((*layer4hdr ^ *(layer4hdr + 1)));
@@ -4493,6 +4493,12 @@ static void bond_ethtool_get_drvinfo(struct net_device *bond_dev,
4493 4493
4494static const struct ethtool_ops bond_ethtool_ops = { 4494static const struct ethtool_ops bond_ethtool_ops = {
4495 .get_drvinfo = bond_ethtool_get_drvinfo, 4495 .get_drvinfo = bond_ethtool_get_drvinfo,
4496 .get_link = ethtool_op_get_link,
4497 .get_tx_csum = ethtool_op_get_tx_csum,
4498 .get_sg = ethtool_op_get_sg,
4499 .get_tso = ethtool_op_get_tso,
4500 .get_ufo = ethtool_op_get_ufo,
4501 .get_flags = ethtool_op_get_flags,
4496}; 4502};
4497 4503
4498/* 4504/*