)]}'
{
  "commit": "c2edacf80e155ef54ae4774379d461b60896bc2e",
  "tree": "0ec119a16bc4af036968cf22cde402c381efca25",
  "parents": [
    "89c0d26be7037cd5bbce3bbf12580ba70ed8f382"
  ],
  "author": {
    "name": "Jay Vosburgh",
    "email": "fubar@us.ibm.com",
    "time": "Mon Jul 09 10:42:47 2007 -0700"
  },
  "committer": {
    "name": "Jeff Garzik",
    "email": "jeff@garzik.org",
    "time": "Tue Jul 10 12:41:19 2007 -0400"
  },
  "message": "bonding / ipv6: no addrconf for slaves separately from master\n\n\tAt present, when a device is enslaved to bonding, if ipv6 is\nactive then addrconf will be initated on the slave (because it is closed\nthen opened during the enslavement processing).  This causes DAD and RS\npackets to be sent from the slave.  These packets in turn can confuse\nswitches that perform ipv6 snooping, causing them to incorrectly update\ntheir forwarding tables (if, e.g., the slave being added is an inactve\nbackup that won\u0027t be used right away) and direct traffic away from the\nactive slave to a backup slave (where the incoming packets will be\ndropped).\n\n\tThis patch alters the behavior so that addrconf will only run on\nthe master device itself.  I believe this is logically correct, as it\nprevents slaves from having an IPv6 identity independent from the\nmaster.  This is consistent with the IPv4 behavior for bonding.\n\n\tThis is accomplished by (a) having bonding set IFF_SLAVE sooner\nin the enslavement processing than currently occurs (before open, not\nafter), and (b) having ipv6 addrconf ignore UP and CHANGE events on\nslave devices.\n\n\tThe eql driver also uses the IFF_SLAVE flag.  I inspected eql,\nand I believe this change is reasonable for its usage of IFF_SLAVE, but\nI did not test it.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6287ffbda7f794c4d2312bc421d4f12fb1b32456",
      "old_mode": 33188,
      "old_path": "drivers/net/bonding/bond_main.c",
      "new_id": "2bb70e052090024043ab701e7900a8362ca73b86",
      "new_mode": 33188,
      "new_path": "drivers/net/bonding/bond_main.c"
    },
    {
      "type": "modify",
      "old_id": "f96ed76d8fa4be902ea922f113bb6a18dab6010b",
      "old_mode": 33188,
      "old_path": "net/ipv6/addrconf.c",
      "new_id": "79b79f3de24ce263e79c6e478c07f705d31d11fe",
      "new_mode": 33188,
      "new_path": "net/ipv6/addrconf.c"
    }
  ]
}
