)]}'
{
  "commit": "b46ffb854554ff939701bdd492b81558da5706fc",
  "tree": "e81a9a159751267b62f6218a0c1334622bd04dd0",
  "parents": [
    "7874896a26624214bd7c05eeba7c8ab01548b1b5"
  ],
  "author": {
    "name": "Changli Gao",
    "email": "xiaosuo@gmail.com",
    "time": "Tue Sep 21 21:17:31 2010 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Wed Sep 22 13:13:32 2010 -0700"
  },
  "message": "netfilter: fix ipt_REJECT TCP RST routing for indev \u003d\u003d outdev\n\nip_route_me_harder can\u0027t create the route cache when the outdev is the same\nwith the indev for the skbs whichout a valid protocol set.\n\n__mkroute_input functions has this check:\n1998         if (skb-\u003eprotocol !\u003d htons(ETH_P_IP)) {\n1999                 /* Not IP (i.e. ARP). Do not create route, if it is\n2000                  * invalid for proxy arp. DNAT routes are always valid.\n2001                  *\n2002                  * Proxy arp feature have been extended to allow, ARP\n2003                  * replies back to the same interface, to support\n2004                  * Private VLAN switch technologies. See arp.c.\n2005                  */\n2006                 if (out_dev \u003d\u003d in_dev \u0026\u0026\n2007                     IN_DEV_PROXY_ARP_PVLAN(in_dev) \u003d\u003d 0) {\n2008                         err \u003d -EINVAL;\n2009                         goto cleanup;\n2010                 }\n2011         }\n\nThis patch gives the new skb a valid protocol to bypass this check. In order\nto make ipt_REJECT work with bridges, you also need to enable ip_forward.\n\nThis patch also fixes a regression. When we used skb_copy_expand(), we\ndidn\u0027t have this issue stated above, as the protocol was properly set.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b254dafaf4294548b7d36d9b54ce29832f8658e3",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/ipt_REJECT.c",
      "new_id": "43eec80c0e7c55a2f6dc20790a30603236b7d93f",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ipt_REJECT.c"
    }
  ]
}
