)]}'
{
  "commit": "8da8689d91a6436c17aca5000b1426aaea47e23c",
  "tree": "f4929119d4f41c668708d19374719765d7cb7f25",
  "parents": [
    "3374bef0412ac11815779f54321cbc4bf96da909"
  ],
  "author": {
    "name": "Pradosh Mohapatra",
    "email": "pmohapat@cumulusnetworks.com",
    "time": "Wed Sep 11 03:33:55 2013 +0000"
  },
  "committer": {
    "name": "David Lamparter",
    "email": "equinox@opensourcerouting.org",
    "time": "Mon May 19 23:25:39 2014 +0200"
  },
  "message": "bgpd: fix fast external fallover behavior\n\nISSUES\n\n1. When an interface goes down, the zclient callbacks are invoked\n   in the following order: (a) address_delete() that removes the\n   connected address list: ifp-\u003econnected, (b) interface_down()\n   that performs \"fast external fallover\" operation. The operation\n   relies on ifp-\u003econnected to look for peers that should be brought\n   down. That\u0027s a cyclic dependency.\n\n2. \u0027ttl-security\u0027 configuration handler sets peer-\u003ettl to\n   MAXTTL (so that BGP packets are sent with TTL\u003d255, as per the\n   requirement of ttl-security). This, however, is incompatible\n   with \u0027fast external fallover\u0027 as the fallover operation checks\n   for (ttl \u003d\u003d 1) to determine directly connected peers.\n\n3. The current fallover operation does not work for IPv6 address family.\n\nPATCH\n\n1. The patch removes the dependency on \u0027ifp-\u003econnected\u0027 list for fast\n   fallover. The peer already contains a nexthop structure that reflects\n   the peering address. The nexthop structure has a pointer to the\n   interface (ifp) that peering address resolves to. Everytime the TCP\n   connection succeeds, the ifp is updated. The patch uses this ifp in\n   the interface_down() callback for a match for the peers that should be\n   brought down.\n\n2. The evaluation for directly connected peering is enhanced as\n   \u0027peer-\u003ettl \u003d\u003d 1\u0027 OR \u0027peer-\u003egtsm_hops \u003d\u003d 1\u0027. Thus a ttl-security\n   configuration on the peer with one hop is directly connected and\n   should be brought down under \u0027fast external fallover\u0027.\n\n3. Because of fix (1), IPv6 address family works automatically.\n\nSigned-off-by: Pradosh Mohapatra \u003cpmohapat@cumulusnetworks.com\u003e\nReviewed-by: Dinesh G Dutt \u003cddutt@cumulusnetworks.com\u003e\nSigned-off-by: David Lamparter \u003cequinox@opensourcerouting.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "26b97c2c482d27bd9351727c118d76583ecd6213",
      "old_mode": 33188,
      "old_path": "bgpd/bgp_zebra.c",
      "new_id": "0f212321a34e4321e39ddb09795a5f74044b7173",
      "new_mode": 33188,
      "new_path": "bgpd/bgp_zebra.c"
    }
  ]
}
