)]}'
{
  "commit": "7a9bc9b81a5bc6e44ebc80ef781332e4385083f2",
  "tree": "1342c672823d47bfb112fee63951af9f6a3eb590",
  "parents": [
    "b8c8430726e5bd552e01dacc5a44f3f83f7446ca"
  ],
  "author": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Fri Jun 29 01:32:45 2012 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Fri Jun 29 01:36:36 2012 -0700"
  },
  "message": "ipv4: Elide fib_validate_source() completely when possible.\n\nIf rpfilter is off (or the SKB has an IPSEC path) and there are not\ntclassid users, we don\u0027t have to do anything at all when\nfib_validate_source() is invoked besides setting the itag to zero.\n\nWe monitor tclassid uses with a counter (modified only under RTNL and\nmarked __read_mostly) and we protect the fib_validate_source() real\nwork with a test against this counter and whether rpfilter is to be\ndone.\n\nHaving a way to know whether we need no tclassid processing or not\nalso opens the door for future optimized rpfilter algorithms that do\nnot perform full FIB lookups.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "075f1e3a0fedf77dbe1cebb42e41ac930c304fca",
      "old_mode": 33188,
      "old_path": "include/net/fib_rules.h",
      "new_id": "e361f4882426d26fa8e21dd20e9a6a285c578546",
      "new_mode": 33188,
      "new_path": "include/net/fib_rules.h"
    },
    {
      "type": "modify",
      "old_id": "619f68a7185cfff6c24eab494d157c8a8016df7c",
      "old_mode": 33188,
      "old_path": "include/net/ip_fib.h",
      "new_id": "3dc7c96bbeab4760a60f417dec78449f9d38aa14",
      "new_mode": 33188,
      "new_path": "include/net/ip_fib.h"
    },
    {
      "type": "modify",
      "old_id": "72cceb79d0d4f9bd869fa828a7d04152487be5c7",
      "old_mode": 33188,
      "old_path": "net/core/fib_rules.c",
      "new_id": "ab7db83236c96fa2b4746ffc25717f24db671e17",
      "new_mode": 33188,
      "new_path": "net/core/fib_rules.c"
    },
    {
      "type": "modify",
      "old_id": "c84cff52021e6f33bafe41bb130441b0bdea3bfe",
      "old_mode": 33188,
      "old_path": "net/ipv4/fib_frontend.c",
      "new_id": "ae528d1b293ab34dd54f021e33b612158731619c",
      "new_mode": 33188,
      "new_path": "net/ipv4/fib_frontend.c"
    },
    {
      "type": "modify",
      "old_id": "2d043f71ef7051f606f133a637dd9de1862644b3",
      "old_mode": 33188,
      "old_path": "net/ipv4/fib_rules.c",
      "new_id": "b23fd952c84fe06bc9126916adaca7a4677ea55a",
      "new_mode": 33188,
      "new_path": "net/ipv4/fib_rules.c"
    },
    {
      "type": "modify",
      "old_id": "415f8230fc88a3ca8bc89e54b550998bfb4321e8",
      "old_mode": 33188,
      "old_path": "net/ipv4/fib_semantics.c",
      "new_id": "c46c20b6b0b6f49d730beb3d4b012e9777f19ffd",
      "new_mode": 33188,
      "new_path": "net/ipv4/fib_semantics.c"
    }
  ]
}
