Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 121731
b: refs/heads/master
c: 6146b1a
h: refs/heads/master
i:
  121729: 200fa96
  121727: 6f314d0
v: v3
  • Loading branch information
Jay Vosburgh authored and Jeff Garzik committed Nov 6, 2008
1 parent d283efa commit 98f7f3c
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 305d552accae6afb859c493ebc7d98ca3371dae2
refs/heads/master: 6146b1a4da98377e4abddc91ba5856bef8f23f1e
13 changes: 10 additions & 3 deletions trunk/drivers/net/bonding/bond_alb.c
Original file line number Diff line number Diff line change
Expand Up @@ -346,14 +346,18 @@ static void rlb_update_entry_from_arp(struct bonding *bond, struct arp_pkt *arp)

static int rlb_arp_recv(struct sk_buff *skb, struct net_device *bond_dev, struct packet_type *ptype, struct net_device *orig_dev)
{
struct bonding *bond = bond_dev->priv;
struct bonding *bond;
struct arp_pkt *arp = (struct arp_pkt *)skb->data;
int res = NET_RX_DROP;

if (dev_net(bond_dev) != &init_net)
goto out;

if (!(bond_dev->flags & IFF_MASTER))
while (bond_dev->priv_flags & IFF_802_1Q_VLAN)
bond_dev = vlan_dev_real_dev(bond_dev);

if (!(bond_dev->priv_flags & IFF_BONDING) ||
!(bond_dev->flags & IFF_MASTER))
goto out;

if (!arp) {
Expand All @@ -368,6 +372,9 @@ static int rlb_arp_recv(struct sk_buff *skb, struct net_device *bond_dev, struct

if (arp->op_code == htons(ARPOP_REPLY)) {
/* update rx hash table for this ARP */
printk("rar: update orig %s bond_dev %s\n", orig_dev->name,
bond_dev->name);
bond = bond_dev->priv;
rlb_update_entry_from_arp(bond, arp);
dprintk("Server received an ARP Reply from client\n");
}
Expand Down Expand Up @@ -818,7 +825,7 @@ static int rlb_initialize(struct bonding *bond)

/*initialize packet type*/
pk_type->type = __constant_htons(ETH_P_ARP);
pk_type->dev = bond->dev;
pk_type->dev = NULL;
pk_type->func = rlb_arp_recv;

/* register to receive ARPs */
Expand Down

0 comments on commit 98f7f3c

Please sign in to comment.