From abittau at icir.org Wed Aug 6 01:04:52 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:04:52 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy/test Message-ID: <200808060804.m7684qUU033260@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:04:52 UTC XORP CVS repository Modified files: policy/test Jamfile Makefile.am Makefile.in execpolicy.cc file_varrw.cc file_varrw.hh Added files: policy/test policybench.cc Log message: introduce policybench - a tool that will be used for profiling backend policy filters. Revision Changes Path 1.3 +8 -1; commitid: 81c948995b0341a7; xorp/policy/test/Jamfile 1.6 +9 -7; commitid: 81c948995b0341a7; xorp/policy/test/Makefile.am 1.21 +21 -3; commitid: 81c948995b0341a7; xorp/policy/test/Makefile.in 1.11 +4 -2; commitid: 81c948995b0341a7; xorp/policy/test/execpolicy.cc 1.14 +42 -27; commitid: 81c948995b0341a7; xorp/policy/test/file_varrw.cc 1.11 +14 -13; commitid: 81c948995b0341a7; xorp/policy/test/file_varrw.hh 1.1 +181 -0 xorp/policy/test/policybench.cc (new) From abittau at icir.org Wed Aug 6 01:05:46 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:05:46 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy/backend xorp/policy/test Message-ID: <200808060805.m7685kIN033356@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:05:46 UTC XORP CVS repository Modified files: policy/backend Jamfile Makefile.am Makefile.in iv_exec.cc iv_exec.hh policy_filter.cc policy_filter.hh policy/test policybench.cc Added files: policy/backend policy_profiler.cc policy_profiler.hh Log message: add profiling support when executing policy. We now know how long each instruction takes. Revision Changes Path 1.2 +3 -2; commitid: 821248995b4741a7; xorp/policy/backend/Jamfile 1.7 +3 -1; commitid: 821248995b4741a7; xorp/policy/backend/Makefile.am 1.21 +10 -8; commitid: 821248995b4741a7; xorp/policy/backend/Makefile.in 1.18 +26 -17; commitid: 821248995b4741a7; xorp/policy/backend/iv_exec.cc 1.13 +19 -21; commitid: 821248995b4741a7; xorp/policy/backend/iv_exec.hh 1.14 +11 -6; commitid: 821248995b4741a7; xorp/policy/backend/policy_filter.cc 1.11 +7 -4; commitid: 821248995b4741a7; xorp/policy/backend/policy_filter.hh 1.1 +77 -0 xorp/policy/backend/policy_profiler.cc (new) 1.1 +43 -0 xorp/policy/backend/policy_profiler.hh (new) 1.2 +54 -7; commitid: 821248995b4741a7; xorp/policy/test/policybench.cc From abittau at icir.org Wed Aug 6 01:06:08 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:06:08 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy/backend xorp/policy/test Message-ID: <200808060806.m76868jv033412@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:06:08 UTC XORP CVS repository Modified files: policy/backend policy_filter.cc policy_profiler.cc policy_profiler.hh policy/test policybench.cc policyvarmap.conf Log message: minor crud. Fixup spaces, comments, types in varmap. Revision Changes Path 1.15 +7 -7; commitid: 825448995b6841a7; xorp/policy/backend/policy_filter.cc 1.2 +13 -2; commitid: 825448995b6841a7; xorp/policy/backend/policy_profiler.cc 1.2 +2 -1; commitid: 825448995b6841a7; xorp/policy/backend/policy_profiler.hh 1.3 +4 -1; commitid: 825448995b6841a7; xorp/policy/test/policybench.cc 1.5 +1 -1; commitid: 825448995b6841a7; xorp/policy/test/policyvarmap.conf From abittau at icir.org Wed Aug 6 01:07:15 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:07:15 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/bgp xorp/policy/backend xorp/policy/common Message-ID: <200808060807.m7687FCr033501@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:07:15 UTC XORP CVS repository Modified files: bgp route_table_policy.cc policy/backend backend.l backend.y iv_exec.cc iv_exec.hh lex.yy_policy_backend_parser.cc policy_backend_parser.hh policy_filter.cc policy_instr.hh policy_profiler.cc yacc.yy_policy_backend_parser.cc policy/common varrw.cc varrw.hh Log message: The policy "trace" option was implemented poorly. A trace would always be produced, and then printed out only if needed. This slowed things down immensly. I now pre-generate the trace only for policies that have trace enabled. In other words, if you have trace on for a policy, the router will run like a dog. BGP was aware of this and had a fix which I removed. The fix was more efficient than what I currently do since it would re-run the policy with trace on for only the routes that mached. Instead, I trace for all routes (if trace is on). In any event, the BGP fix was more of a hack and the policy engine should deal with this issue internally. Perhaps we gotta decide what to do about this. We can either: 1) Document and say: "If you enable trace, you'll be slow". 2) Have more efficient tracing, e.g., binary format, or less verbose. Then convert to text only if needed. 3) Do like BGP did - rerun filter on a match to produce a trace. Anyway, the behavior for now is basically: fast with no trace, slow with trace, which is probably OK for the time being. Once we converge on a solution, I'll implement it inside the policy framework. Here was the policy speed this morning: [81% shorty test]# ./policybench -p base -v base.var Loading... Benchmarking. Iterations: 10000 Stats: Total time 702 (ms) iterations 10000 Iterations/s 14245.014 Instr 1 Avg Time 8594.352 ( 8.42%) Instr 2 Avg Time 15842.157 (15.52%) Instr 3 Avg Time 2126.646 ( 2.08%) Instr 4 Avg Time 1466.712 ( 1.44%) Instr 5 Avg Time 18572.303 (18.20%) Instr 6 Avg Time 6439.466 ( 6.31%) Instr 7 Avg Time 5396.425 ( 5.29%) Instr 8 Avg Time 26569.690 (26.03%) Instr 9 Avg Time 6240.700 ( 6.11%) Instr 10 Avg Time 10808.420 (10.59%) [82% shorty test]# Here's the speed now: [100% shorty test]# ./policybench -p base -v base.var Loading... Benchmarking. Iterations: 10000 Stats: Total time 94 (ms) iterations 10000 Iterations/s 106382.979 Instr 1 Avg Time 181.737 ( 2.25%) Instr 2 Avg Time 604.821 ( 7.48%) Instr 3 Avg Time 934.825 (11.56%) Instr 4 Avg Time 337.907 ( 4.18%) Instr 5 Avg Time 696.474 ( 8.61%) Instr 6 Avg Time 220.004 ( 2.72%) Instr 7 Avg Time 3114.679 (38.52%) Instr 8 Avg Time 668.780 ( 8.27%) Instr 9 Avg Time 223.682 ( 2.77%) Instr 10 Avg Time 1102.328 (13.63%) [100% shorty test]# 7x faster (14k routes/s -> 100k routes/s) Revision Changes Path 1.26 +1 -12; commitid: 828c48995b9e41a7; xorp/bgp/route_table_policy.cc 1.9 +11 -11; commitid: 828c48995b9e41a7; xorp/policy/backend/backend.l 1.12 +12 -0; commitid: 828c48995b9e41a7; xorp/policy/backend/backend.y 1.19 +29 -25; commitid: 828c48995b9e41a7; xorp/policy/backend/iv_exec.cc 1.14 +3 -1; commitid: 828c48995b9e41a7; xorp/policy/backend/iv_exec.hh 1.10 +16 -16; commitid: 828c48995b9e41a7; xorp/policy/backend/lex.yy_policy_backend_parser.cc 1.7 +2 -7; commitid: 828c48995b9e41a7; xorp/policy/backend/policy_backend_parser.hh 1.16 +2 -2; commitid: 828c48995b9e41a7; xorp/policy/backend/policy_filter.cc 1.9 +9 -5; commitid: 828c48995b9e41a7; xorp/policy/backend/policy_instr.hh 1.3 +1 -5; commitid: 828c48995b9e41a7; xorp/policy/backend/policy_profiler.cc 1.12 +46 -31; commitid: 828c48995b9e41a7; xorp/policy/backend/yacc.yy_policy_backend_parser.cc 1.11 +16 -8; commitid: 828c48995b9e41a7; xorp/policy/common/varrw.cc 1.16 +6 -13; commitid: 828c48995b9e41a7; xorp/policy/common/varrw.hh From abittau at icir.org Wed Aug 6 01:07:49 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:07:49 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/bgp Message-ID: <200808060807.m7687nun033532@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:07:49 UTC XORP CVS repository Modified files: bgp aspath.hh Log message: Use a list instead of a vector for the AsPath. This allows prepend to be faster. One major slowdown due to this is the as_num() call. Much of the code that uses it can be rewritten using iterators though so it shouldn't be a major hit. Before: [58% 02:33 shorty test]# ./policybench -p base -v base.var -i 100000 Loading... Benchmarking. Iterations: 100000 Stats: Total time 950 (ms) iterations 100000 Iterations/s 105263.158 Instr 1 Avg Time 182.266 ( 2.22%) Instr 2 Avg Time 604.481 ( 7.38%) Instr 3 Avg Time 941.815 (11.50%) Instr 4 Avg Time 294.803 ( 3.60%) Instr 5 Avg Time 711.234 ( 8.68%) Instr 6 Avg Time 221.333 ( 2.70%) Instr 7 Avg Time 3128.317 (38.19%) Instr 8 Avg Time 707.141 ( 8.63%) Instr 9 Avg Time 221.819 ( 2.71%) Instr 10 Avg Time 1178.659 (14.39%) [58% 02:14 shorty test]# After: [58% 02:14 shorty test]# ./policybench -p base -v base.var -i 100000 Loading... Benchmarking. Iterations: 100000 Stats: Total time 1006 (ms) iterations 100000 Iterations/s 99403.579 Instr 1 Avg Time 182.589 ( 2.05%) Instr 2 Avg Time 653.278 ( 7.33%) Instr 3 Avg Time 850.118 ( 9.54%) Instr 4 Avg Time 311.957 ( 3.50%) Instr 5 Avg Time 657.300 ( 7.38%) Instr 6 Avg Time 222.927 ( 2.50%) Instr 7 Avg Time 2735.710 (30.71%) Instr 8 Avg Time 589.444 ( 6.62%) Instr 9 Avg Time 222.574 ( 2.50%) Instr 10 Avg Time 2481.870 (27.86%) [58% 01:58 shorty test]# Yes, it seems that we actually slowed down, but i think that this is an artifact. Look at instruction 7 though which is a bgp aspath prepend: we saved 400 cycles on average (14%) and I expect this to be higher with long aspaths. Revision Changes Path 1.33 +14 -9; commitid: 82e548995bc441a7; xorp/bgp/aspath.hh From abittau at icir.org Wed Aug 6 01:08:31 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:08:31 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy xorp/policy/backend xorp/policy/common Message-ID: <200808060808.m7688V6o033601@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:08:31 UTC XORP CVS repository Modified files: policy visitor_semantic.cc policy/backend iv_exec.cc policy/common register_operations.cc Log message: Don't create temporary objects when executing. (Only for the AsPath prepend case for now). The basic problem is as follows. Say you have an expression: 1 + 5 + 10 Before, I'd do 1 + 5 and create a new 6 object, and then 6 + 10, and create a 16 object. Now I do 1 + 5 and return the same 1 object but modified to 6. I.e., I reuse one of the args to the expression. It's a bit like using an accumulator argument when recursing I guess... This makes the interface much nastier - hence why I hate optimizing =D. Before: [58% 02:14 shorty test]# ./policybench -p base -v base.var -i 100000 Loading... Benchmarking. Iterations: 100000 Stats: Total time 1006 (ms) iterations 100000 Iterations/s 99403.579 Instr 1 Avg Time 182.589 ( 2.05%) Instr 2 Avg Time 653.278 ( 7.33%) Instr 3 Avg Time 850.118 ( 9.54%) Instr 4 Avg Time 311.957 ( 3.50%) Instr 5 Avg Time 657.300 ( 7.38%) Instr 6 Avg Time 222.927 ( 2.50%) Instr 7 Avg Time 2735.710 (30.71%) Instr 8 Avg Time 589.444 ( 6.62%) Instr 9 Avg Time 222.574 ( 2.50%) Instr 10 Avg Time 2481.870 (27.86%) [58% 01:58 shorty test]# Now: [47% 02:08 shorty test]# ./policybench -p base -v base.var -i 100000 Loading... Benchmarking. Iterations: 100000 Stats: Total time 838 (ms) iterations 100000 Iterations/s 119331.742 Instr 1 Avg Time 184.390 ( 2.54%) Instr 2 Avg Time 640.111 ( 8.83%) Instr 3 Avg Time 769.805 (10.62%) Instr 4 Avg Time 295.817 ( 4.08%) Instr 5 Avg Time 701.665 ( 9.68%) Instr 6 Avg Time 213.541 ( 2.95%) Instr 7 Avg Time 1172.950 (16.18%) Instr 8 Avg Time 609.467 ( 8.41%) Instr 9 Avg Time 215.179 ( 2.97%) Instr 10 Avg Time 2446.334 (33.75%) [47% 01:40 shorty test]# Look at Instr 7 - it's twice as fast. I think BGP ASPath prepend is almost as optimized as it can get, at least for now. I'll move on. (Actually it seems like if Ive merely moved the problem eslewhere - instr 10 ;D.) Revision Changes Path 1.20 +16 -5; commitid: 830448995be841a7; xorp/policy/backend/iv_exec.cc 1.24 +5 -5; commitid: 830448995be841a7; xorp/policy/common/register_operations.cc 1.17 +11 -5; commitid: 830448995be841a7; xorp/policy/visitor_semantic.cc From abittau at icir.org Wed Aug 6 01:09:42 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:09:42 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy/backend xorp/policy/test Message-ID: <200808060809.m7689g4Q033653@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:09:42 UTC XORP CVS repository Modified files: policy/backend iv_exec.cc policy/test file_varrw.cc file_varrw.hh Log message: make file varrw use an array rather than an STL map for loading/storing variables. This allows me to factor out the overhead of varrw from my benchmarks. It also highlights how important varrw's performance is. before: [47% 02:08 shorty test]# ./policybench -p base -v base.var -i 100000 Loading... Benchmarking. Iterations: 100000 Stats: Total time 838 (ms) iterations 100000 Iterations/s 119331.742 Instr 1 Avg Time 184.390 ( 2.54%) Instr 2 Avg Time 640.111 ( 8.83%) Instr 3 Avg Time 769.805 (10.62%) Instr 4 Avg Time 295.817 ( 4.08%) Instr 5 Avg Time 701.665 ( 9.68%) Instr 6 Avg Time 213.541 ( 2.95%) Instr 7 Avg Time 1172.950 (16.18%) Instr 8 Avg Time 609.467 ( 8.41%) Instr 9 Avg Time 215.179 ( 2.97%) Instr 10 Avg Time 2446.334 (33.75%) [47% 01:40 shorty test]# After [38% 01:29 shorty test]# ./policybench -p base -v base.var -i 100000 Loading... Benchmarking. Iterations: 100000 Stats: Total time 616 (ms) iterations 100000 Iterations/s 162337.662 Instr 1 Avg Time 217.243 ( 5.63%) Instr 2 Avg Time 278.346 ( 7.22%) Instr 3 Avg Time 845.059 (21.91%) Instr 4 Avg Time 278.638 ( 7.22%) Instr 5 Avg Time 244.301 ( 6.33%) Instr 6 Avg Time 218.084 ( 5.65%) Instr 7 Avg Time 973.631 (25.24%) Instr 8 Avg Time 292.371 ( 7.58%) Instr 9 Avg Time 213.429 ( 5.53%) Instr 10 Avg Time 295.803 ( 7.67%) [38% 01:27 shorty test]# instr 2 and 5 are loads. 8 and 10 are stores. They've all come down quite a bit. 36% improvement in execution time. Will need to add support for choosing the VarRW implementation (e.g., BGP's) in policybench soon. Revision Changes Path 1.21 +7 -5; commitid: 834948995c4241a7; xorp/policy/backend/iv_exec.cc 1.15 +10 -7; commitid: 834948995c4241a7; xorp/policy/test/file_varrw.cc 1.12 +2 -4; commitid: 834948995c4241a7; xorp/policy/test/file_varrw.hh From abittau at icir.org Wed Aug 6 01:10:18 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:10:18 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy xorp/policy/backend xorp/policy/common xorp/policy/test Message-ID: <200808060810.m768AI2v033785@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:10:18 UTC XORP CVS repository Modified files: policy visitor_semantic.cc policy/backend Makefile.am Makefile.in iv_exec.cc policy/common Jamfile Makefile.am Makefile.in element_base.hh register_operations.cc policy/test policybench.cc Added files: policy/common element_base.cc Log message: Remove more partial objects. Relation operators (e.g., equality) now return a recycled true/false - not a new true/false object for each operation that happens. Minor improvement for this policy, but I like the optimization and it makes the code slightly better with regards to the AsPath recycle "hack". Will need to refcount Elements properly at some point. before: [94% shorty test]# ./policybench -p base -v base.var Loading... Benchmarking. Iterations: 100000 Stats: Total time 616 (ms) iterations 100000 Iterations/s 162337.662 Instr 1 Avg Time 184.419 ( 4.73%) Instr 2 Avg Time 274.301 ( 7.04%) Instr 3 Avg Time 717.467 (18.41%) Instr 4 Avg Time 275.426 ( 7.07%) Instr 5 Avg Time 245.909 ( 6.31%) Instr 6 Avg Time 214.429 ( 5.50%) Instr 7 Avg Time 1181.428 (30.31%) Instr 8 Avg Time 296.294 ( 7.60%) Instr 9 Avg Time 214.492 ( 5.50%) Instr 10 Avg Time 293.896 ( 7.54%) [94% shorty test]# Now [96% shorty test]# ./policybench -p base -v base.var Loading... Benchmarking. Iterations: 100000 Stats: Total time 605 (ms) iterations 100000 Iterations/s 165289.256 Instr 1 Avg Time 225.432 ( 5.93%) Instr 2 Avg Time 265.847 ( 6.99%) Instr 3 Avg Time 558.693 (14.68%) Instr 4 Avg Time 276.084 ( 7.26%) Instr 5 Avg Time 246.202 ( 6.47%) Instr 6 Avg Time 212.973 ( 5.60%) Instr 7 Avg Time 1208.537 (31.77%) Instr 8 Avg Time 303.655 ( 7.98%) Instr 9 Avg Time 213.531 ( 5.61%) Instr 10 Avg Time 293.575 ( 7.72%) [96% shorty test]# Note how Instr 3 went down - 28% less cycles. Instr 3 is a comparison of two prefixes. The comparison itself is rather slow, but at least we don't create a new boolean object for the result. Revision Changes Path 1.8 +2 -1; commitid: 839b48995c6541a7; xorp/policy/backend/Makefile.am 1.22 +8 -6; commitid: 839b48995c6541a7; xorp/policy/backend/Makefile.in 1.22 +5 -13; commitid: 839b48995c6541a7; xorp/policy/backend/iv_exec.cc 1.3 +2 -2; commitid: 839b48995c6541a7; xorp/policy/common/Jamfile 1.6 +2 -1; commitid: 839b48995c6541a7; xorp/policy/common/Makefile.am 1.20 +7 -5; commitid: 839b48995c6541a7; xorp/policy/common/Makefile.in 1.1 +53 -0 xorp/policy/common/element_base.cc (new) 1.8 +11 -2; commitid: 839b48995c6541a7; xorp/policy/common/element_base.hh 1.25 +38 -12; commitid: 839b48995c6541a7; xorp/policy/common/register_operations.cc 1.4 +2 -2; commitid: 839b48995c6541a7; xorp/policy/test/policybench.cc 1.18 +3 -3; commitid: 839b48995c6541a7; xorp/policy/visitor_semantic.cc From abittau at icir.org Wed Aug 6 01:10:43 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:10:43 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy/backend Message-ID: <200808060810.m768AhH8033820@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:10:43 UTC XORP CVS repository Modified files: policy/backend iv_exec.cc iv_exec.hh policy_filter.cc Log message: more tracing lamenesses: do not create / destroy an ostringstream on each filter run. was [98% shorty test]# ./policybench -p base -v base.var Loading... Benchmarking. Iterations: 100000 Stats: Total time 602 (ms) iterations 100000 Iterations/s 166112.957 Instr 1 Avg Time 183.673 ( 4.83%) Instr 2 Avg Time 266.018 ( 6.99%) Instr 3 Avg Time 608.867 (16.00%) Instr 4 Avg Time 269.302 ( 7.07%) Instr 5 Avg Time 246.229 ( 6.47%) Instr 6 Avg Time 212.933 ( 5.59%) Instr 7 Avg Time 1213.220 (31.87%) Instr 8 Avg Time 298.267 ( 7.84%) Instr 9 Avg Time 213.561 ( 5.61%) Instr 10 Avg Time 294.327 ( 7.73%) [98% shorty test]# now [93% 03:00 shorty test]# ./policybench -p base -v base.var Loading... Benchmarking. Iterations: 100000 Stats: Total time 500 (ms) iterations 100000 Iterations/s 200000.000 Instr 1 Avg Time 179.183 ( 4.83%) Instr 2 Avg Time 262.700 ( 7.08%) Instr 3 Avg Time 551.736 (14.88%) Instr 4 Avg Time 274.168 ( 7.39%) Instr 5 Avg Time 250.884 ( 6.77%) Instr 6 Avg Time 211.912 ( 5.71%) Instr 7 Avg Time 1173.063 (31.63%) Instr 8 Avg Time 297.826 ( 8.03%) Instr 9 Avg Time 212.915 ( 5.74%) Instr 10 Avg Time 293.965 ( 7.93%) [93% 02:58 shorty test]# +20% speedup. Revision Changes Path 1.23 +28 -20; commitid: 840148995c8141a7; xorp/policy/backend/iv_exec.cc 1.15 +5 -3; commitid: 840148995c8141a7; xorp/policy/backend/iv_exec.hh 1.17 +6 -5; commitid: 840148995c8141a7; xorp/policy/backend/policy_filter.cc From abittau at icir.org Wed Aug 6 01:11:01 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:11:01 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy/test Message-ID: <200808060811.m768B1no033866@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:11:01 UTC XORP CVS repository Modified files: policy/test file_varrw.cc file_varrw.hh Log message: don't clear trash on sync. This isn't really an optimization but it factors out noise from the varrw implementation so that I can see the overhead of filters more evidently. before: [93% 03:00 shorty test]# ./policybench -p base -v base.var Loading... Benchmarking. Iterations: 100000 Stats: Total time 500 (ms) iterations 100000 Iterations/s 200000.000 Instr 1 Avg Time 179.183 ( 4.83%) Instr 2 Avg Time 262.700 ( 7.08%) Instr 3 Avg Time 551.736 (14.88%) Instr 4 Avg Time 274.168 ( 7.39%) Instr 5 Avg Time 250.884 ( 6.77%) Instr 6 Avg Time 211.912 ( 5.71%) Instr 7 Avg Time 1173.063 (31.63%) Instr 8 Avg Time 297.826 ( 8.03%) Instr 9 Avg Time 212.915 ( 5.74%) Instr 10 Avg Time 293.965 ( 7.93%) [93% 02:58 shorty test]# [85% 03:09 shorty test]# ./policybench -p base -v base.var Loading... Benchmarking. Iterations: 100000 Stats: Total time 388 (ms) iterations 100000 Iterations/s 257731.959 Instr 1 Avg Time 179.904 ( 4.84%) Instr 2 Avg Time 421.898 (11.34%) Instr 3 Avg Time 486.807 (13.08%) Instr 4 Avg Time 273.925 ( 7.36%) Instr 5 Avg Time 251.567 ( 6.76%) Instr 6 Avg Time 222.149 ( 5.97%) Instr 7 Avg Time 1055.711 (28.37%) Instr 8 Avg Time 301.469 ( 8.10%) Instr 9 Avg Time 224.392 ( 6.03%) Instr 10 Avg Time 302.851 ( 8.14%) [84% 02:33 shorty test]# +28% faster Revision Changes Path 1.16 +10 -6; commitid: 842448995c9341a7; xorp/policy/test/file_varrw.cc 1.13 +5 -2; commitid: 842448995c9341a7; xorp/policy/test/file_varrw.hh From abittau at icir.org Wed Aug 6 01:11:17 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:11:17 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy/common Message-ID: <200808060811.m768BHql033901@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:11:17 UTC XORP CVS repository Modified files: policy/common dispatcher.cc dispatcher.hh register_operations.cc Log message: Ever heard of the "static initialization order fiasco"? Well, on Mac OS X, dispatcher.cc's static stuff would get initialized first. This would tweak static variables in register_operations.cc. Then, register_operatoins.cc's static variables would get initialized, getting rid of the previous tweaks. detected by Pavlin. Revision Changes Path 1.15 +1 -2; commitid: 845248995ca241a7; xorp/policy/common/dispatcher.cc 1.13 +1 -3; commitid: 845248995ca241a7; xorp/policy/common/dispatcher.hh 1.26 +10 -6; commitid: 845248995ca241a7; xorp/policy/common/register_operations.cc From abittau at icir.org Wed Aug 6 01:11:30 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:11:30 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy/common Message-ID: <200808060811.m768BUoO033956@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:11:30 UTC XORP CVS repository Modified files: policy/common dispatcher.cc dispatcher.hh elem_filter.hh elem_null.hh elem_set.cc elem_set.hh element.cc element.hh element_base.cc element_base.hh operator.cc operator.hh operator_base.hh Log message: big change, small improvement =(. Improve operator dispatch speed by ~8%. There's less overhead when execting policies now. This is a rather hard to measure optimization but in theory it should make things faster, especially with large policies. I got rid of virtual methods when computing hashes for determining which callback to call. before: [94% shorty test]# ./policybench -p base -v base.var Loading... Benchmarking. Iterations: 100000 Stats: Total time 391 (ms) iterations 100000 Iterations/s 255754.476 Instr 1 Avg Time 181.122 ( 4.83%) Instr 2 Avg Time 425.527 (11.34%) Instr 3 Avg Time 509.471 (13.57%) Instr 4 Avg Time 274.458 ( 7.31%) Instr 5 Avg Time 253.472 ( 6.75%) Instr 6 Avg Time 224.364 ( 5.98%) Instr 7 Avg Time 1064.297 (28.35%) Instr 8 Avg Time 298.075 ( 7.94%) Instr 9 Avg Time 224.821 ( 5.99%) Instr 10 Avg Time 297.968 ( 7.94%) after: [99% 04:04 shorty test]# ./policybench -p base -v base.var Loading... Benchmarking. Iterations: 100000 Stats: Total time 375 (ms) iterations 100000 Iterations/s 266666.667 Instr 1 Avg Time 178.100 ( 5.04%) Instr 2 Avg Time 420.234 (11.90%) Instr 3 Avg Time 467.342 (13.23%) Instr 4 Avg Time 260.643 ( 7.38%) Instr 5 Avg Time 251.808 ( 7.13%) Instr 6 Avg Time 220.174 ( 6.24%) Instr 7 Avg Time 1018.430 (28.84%) Instr 8 Avg Time 247.231 ( 7.00%) Instr 9 Avg Time 220.372 ( 6.24%) Instr 10 Avg Time 246.904 ( 6.99%) Notice how we saved ~40 cycles when dispatching operators (i.e., Instr 3 and Instr 7). In the case of Instr 3, a rather simple operation (comparing prefixes) we get ~8% improvement. Revision Changes Path 1.16 +3 -42; commitid: 847548995cae41a7; xorp/policy/common/dispatcher.cc 1.14 +14 -24; commitid: 847548995cae41a7; xorp/policy/common/dispatcher.hh 1.6 +2 -4; commitid: 847548995cae41a7; xorp/policy/common/elem_filter.hh 1.9 +3 -6; commitid: 847548995cae41a7; xorp/policy/common/elem_null.hh 1.19 +9 -23; commitid: 847548995cae41a7; xorp/policy/common/elem_set.cc 1.12 +1 -4; commitid: 847548995cae41a7; xorp/policy/common/elem_set.hh 1.14 +17 -17; commitid: 847548995cae41a7; xorp/policy/common/element.cc 1.14 +69 -67; commitid: 847548995cae41a7; xorp/policy/common/element.hh 1.2 +13 -2; commitid: 847548995cae41a7; xorp/policy/common/element_base.cc 1.9 +4 -4; commitid: 847548995cae41a7; xorp/policy/common/element_base.hh 1.7 +21 -22; commitid: 847548995cae41a7; xorp/policy/common/operator.cc 1.10 +2 -1; commitid: 847548995cae41a7; xorp/policy/common/operator.hh 1.8 +40 -21; commitid: 847548995cae41a7; xorp/policy/common/operator_base.hh From abittau at icir.org Wed Aug 6 01:11:45 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:11:45 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy/backend xorp/policy/common xorp/policy/test Message-ID: <200808060811.m768BjSc034035@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:11:45 UTC XORP CVS repository Modified files: policy/backend iv_exec.cc policy/common register_operations.cc policy/test Jamfile Makefile.am Makefile.in file_varrw.cc policybench.cc policyvarmap.conf Log message: Added BGPVarRW to policybench. This allows measuring the policy performance in BGP's context. I've backed out the optimization of ASPaths since it's not compatible with BGP's attribute manager. (The manager keeps only one copy, so if we recycle, we alter the only-one shared copy.) We've lost 22% performance due to this, but I'll try to get it back somehow. The current situation: With FileVarRW (essentially the performance of filters themselves): [27% 01:03 shorty test]# ./policybench -p base -t 0 -v base.var Loading... Benchmarking. Iterations: 100000 Stats: Total time 457 (ms) iterations 100000 Iterations/s 218818.381 Instr 1 Avg Time 182.261 ( 3.87%) Instr 2 Avg Time 404.978 ( 8.60%) Instr 3 Avg Time 474.253 (10.07%) Instr 4 Avg Time 260.620 ( 5.53%) Instr 5 Avg Time 243.838 ( 5.18%) Instr 6 Avg Time 210.663 ( 4.47%) Instr 7 Avg Time 2242.036 (47.60%) Instr 8 Avg Time 240.580 ( 5.11%) Instr 9 Avg Time 211.268 ( 4.49%) Instr 10 Avg Time 239.414 ( 5.08%) With BGPVarRW: [27% 01:00 shorty test]# ./policybench -p base -t 1 Loading... Benchmarking. Iterations: 100000 Stats: Total time 2942 (ms) iterations 100000 Iterations/s 33990.483 Instr 1 Avg Time 263.791 ( 3.83%) Instr 2 Avg Time 871.429 (12.66%) Instr 3 Avg Time 863.823 (12.55%) Instr 4 Avg Time 372.550 ( 5.41%) Instr 5 Avg Time 431.017 ( 6.26%) Instr 6 Avg Time 211.631 ( 3.07%) Instr 7 Avg Time 2971.534 (43.17%) Instr 8 Avg Time 427.506 ( 6.21%) Instr 9 Avg Time 211.391 ( 3.07%) Instr 10 Avg Time 258.085 ( 3.75%) BGP's varrw is 6x slower than an "optimal" implementation. The goal for now is to speed up BGP's varrw by 3x. Revision Changes Path 1.24 +3 -2; commitid: 84ac48995cbd41a7; xorp/policy/backend/iv_exec.cc 1.27 +5 -9; commitid: 84ac48995cbd41a7; xorp/policy/common/register_operations.cc 1.4 +13 -1; commitid: 84ac48995cbd41a7; xorp/policy/test/Jamfile 1.7 +15 -4; commitid: 84ac48995cbd41a7; xorp/policy/test/Makefile.am 1.22 +26 -4; commitid: 84ac48995cbd41a7; xorp/policy/test/Makefile.in 1.17 +2 -2; commitid: 84ac48995cbd41a7; xorp/policy/test/file_varrw.cc 1.5 +124 -29; commitid: 84ac48995cbd41a7; xorp/policy/test/policybench.cc 1.6 +14 -29; commitid: 84ac48995cbd41a7; xorp/policy/test/policyvarmap.conf From abittau at icir.org Wed Aug 6 01:11:59 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:11:59 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy/test Message-ID: <200808060811.m768BxIT034066@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:11:59 UTC XORP CVS repository Modified files: policy/test policybench.cc Log message: Fix "bug" in benchmark. Retrieve modified routes so that they aren't deleted, causing an artifical delay. 35% improvement. before: [100% shorty test]# ./policybench -p base -t 1 Loading... Benchmarking. Iterations: 100000 Stats: Total time 2933 (ms) iterations 100000 Iterations/s 34094.783 Instr 1 Avg Time 242.649 ( 3.58%) Instr 2 Avg Time 856.252 (12.62%) Instr 3 Avg Time 855.395 (12.61%) Instr 4 Avg Time 385.353 ( 5.68%) Instr 5 Avg Time 431.344 ( 6.36%) Instr 6 Avg Time 211.495 ( 3.12%) Instr 7 Avg Time 2930.962 (43.19%) Instr 8 Avg Time 403.569 ( 5.95%) Instr 9 Avg Time 211.391 ( 3.12%) Instr 10 Avg Time 257.508 ( 3.79%) now: [100% shorty test]# ./policybench -p base -v base.var -t 1 Loading... Benchmarking. Iterations: 100000 Stats: Total time 2178 (ms) iterations 100000 Iterations/s 45913.682 Instr 1 Avg Time 264.769 ( 3.94%) Instr 2 Avg Time 780.156 (11.62%) Instr 3 Avg Time 826.072 (12.30%) Instr 4 Avg Time 369.035 ( 5.50%) Instr 5 Avg Time 594.807 ( 8.86%) Instr 6 Avg Time 216.092 ( 3.22%) Instr 7 Avg Time 2803.071 (41.74%) Instr 8 Avg Time 387.168 ( 5.77%) Instr 9 Avg Time 216.384 ( 3.22%) Instr 10 Avg Time 257.371 ( 3.83%) [100% shorty test]# Revision Changes Path 1.6 +20 -5; commitid: 84fb48995ccd41a7; xorp/policy/test/policybench.cc From abittau at icir.org Wed Aug 6 01:12:09 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:12:09 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/bgp Message-ID: <200808060812.m768C9sh034097@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:12:09 UTC XORP CVS repository Modified files: bgp path_attribute.cc Log message: upon copying attributes, copy the hash - do not recompute it. I think that this MD5 story needs to be revisited - use CRC32 instead? Or custom? 9% improvement before: [100% shorty test]# ./policybench -p base -v base.var -t 1 Loading... Benchmarking. Iterations: 100000 Stats: Total time 2178 (ms) iterations 100000 Iterations/s 45913.682 Instr 1 Avg Time 264.769 ( 3.94%) Instr 2 Avg Time 780.156 (11.62%) Instr 3 Avg Time 826.072 (12.30%) Instr 4 Avg Time 369.035 ( 5.50%) Instr 5 Avg Time 594.807 ( 8.86%) Instr 6 Avg Time 216.092 ( 3.22%) Instr 7 Avg Time 2803.071 (41.74%) Instr 8 Avg Time 387.168 ( 5.77%) Instr 9 Avg Time 216.384 ( 3.22%) Instr 10 Avg Time 257.371 ( 3.83%) now: [100% shorty test]# ./policybench -p base -v base.var -t 1 Loading... Benchmarking. Iterations: 100000 Stats: Total time 2007 (ms) iterations 100000 Iterations/s 49825.610 Instr 1 Avg Time 275.974 ( 4.04%) Instr 2 Avg Time 758.357 (11.11%) Instr 3 Avg Time 864.031 (12.66%) Instr 4 Avg Time 384.784 ( 5.64%) Instr 5 Avg Time 553.039 ( 8.10%) Instr 6 Avg Time 216.707 ( 3.18%) Instr 7 Avg Time 2950.128 (43.23%) Instr 8 Avg Time 347.717 ( 5.09%) Instr 9 Avg Time 216.458 ( 3.17%) Instr 10 Avg Time 257.577 ( 3.77%) Revision Changes Path 1.94 +4 -2; commitid: 851a48995cd641a7; xorp/bgp/path_attribute.cc From abittau at icir.org Wed Aug 6 01:12:20 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:12:20 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/bgp Message-ID: <200808060812.m768CKrM034128@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:12:20 UTC XORP CVS repository Modified files: bgp path_attribute.cc Log message: fully specialize path attribute list constructor. Just copy the list over without adding attributes one by one. A 13% gain. before [100% shorty test]# ./policybench -p base -v base.var -t 1 Loading... Benchmarking. Iterations: 100000 Stats: Total time 2178 (ms) iterations 100000 Iterations/s 45913.682 Instr 1 Avg Time 264.769 ( 3.94%) Instr 2 Avg Time 780.156 (11.62%) Instr 3 Avg Time 826.072 (12.30%) Instr 4 Avg Time 369.035 ( 5.50%) Instr 5 Avg Time 594.807 ( 8.86%) Instr 6 Avg Time 216.092 ( 3.22%) Instr 7 Avg Time 2803.071 (41.74%) Instr 8 Avg Time 387.168 ( 5.77%) Instr 9 Avg Time 216.384 ( 3.22%) Instr 10 Avg Time 257.371 ( 3.83%) [100% shorty test]# now [100% shorty test]# ./policybench -p base -v base.var -t 1 Loading... Benchmarking. Iterations: 100000 Stats: Total time 1929 (ms) iterations 100000 Iterations/s 51840.332 Instr 1 Avg Time 235.664 ( 3.54%) Instr 2 Avg Time 695.423 (10.44%) Instr 3 Avg Time 854.787 (12.83%) Instr 4 Avg Time 350.714 ( 5.26%) Instr 5 Avg Time 547.720 ( 8.22%) Instr 6 Avg Time 219.960 ( 3.30%) Instr 7 Avg Time 2885.022 (43.30%) Instr 8 Avg Time 401.352 ( 6.02%) Instr 9 Avg Time 220.225 ( 3.31%) Instr 10 Avg Time 251.501 ( 3.77%) Revision Changes Path 1.95 +23 -3; commitid: 853948995ce241a7; xorp/bgp/path_attribute.cc From abittau at icir.org Wed Aug 6 01:12:39 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:12:39 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy/test Message-ID: <200808060812.m768CdWa034159@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:12:39 UTC XORP CVS repository Modified files: policy/test policybench.cc Log message: flag to disable the profiler. This eliminates profiler overhead so gives you the amount of time it would take during a production run. Revision Changes Path 1.7 +11 -3; commitid: 855848995cf541a7; xorp/policy/test/policybench.cc From abittau at icir.org Wed Aug 6 01:12:51 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:12:51 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp xorp/policy Message-ID: <200808060812.m768Cpoj034217@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:12:51 UTC XORP CVS repository Modified files: . Jamfile Makefile.am Makefile.in policy Jamfile Makefile.am Makefile.in Log message: fix compilation. I link the whole of libbgp to policybench rather than including individual object files just to make life easier. And frankly, that's the way it should be, I think. Especially the way that we'll see shared libraries! Revision Changes Path 1.6 +3 -1; commitid: 857748995cff41a7; xorp/Jamfile 1.22 +4 -1; commitid: 857748995cff41a7; xorp/Makefile.am 1.58 +3 -1; commitid: 857748995cff41a7; xorp/Makefile.in 1.3 +1 -2; commitid: 857748995cff41a7; xorp/policy/Jamfile 1.12 +2 -2; commitid: 857748995cff41a7; xorp/policy/Makefile.am 1.41 +1 -1; commitid: 857748995cff41a7; xorp/policy/Makefile.in From abittau at icir.org Wed Aug 6 01:13:05 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:13:05 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy/test Message-ID: <200808060813.m768D5xV034254@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:13:05 UTC XORP CVS repository Modified files: policy/test policy1.src policy1.var policy2.src policy2.var Log message: fix policy test Revision Changes Path 1.5 +1 -1; commitid: 85b148995d0e41a7; xorp/policy/test/policy1.src 1.6 +2 -2; commitid: 85b148995d0e41a7; xorp/policy/test/policy1.var 1.4 +1 -1; commitid: 85b148995d0e41a7; xorp/policy/test/policy2.src 1.6 +2 -2; commitid: 85b148995d0e41a7; xorp/policy/test/policy2.var From abittau at icir.org Wed Aug 6 01:14:01 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:14:01 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/bgp Message-ID: <200808060814.m768E1FP034285@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:14:01 UTC XORP CVS repository Modified files: bgp path_attribute.cc Log message: copy hash only if hash is computed - else compute it. This improves compatibility since one of the tests seems to make use of this "feature". Or maybe the test is only lucky, and it's not really a feat ;D Revision Changes Path 1.96 +16 -2; commitid: 85d648995d4641a7; xorp/bgp/path_attribute.cc From abittau at icir.org Wed Aug 6 01:14:11 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:14:11 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/bgp Message-ID: <200808060814.m768EBI5034316@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:14:11 UTC XORP CVS repository Modified files: bgp plumbing.cc Log message: Fix Bugzilla #699. Import filters are not applied to routes coming from the RIB. This caused interference between export & import filters in BGP. Revision Changes Path 1.104 +5 -11; commitid: 85f548995d5041a7; xorp/bgp/plumbing.cc From abittau at icir.org Wed Aug 6 01:14:34 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:14:34 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/bgp Message-ID: <200808060814.m768EYCD034347@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:14:34 UTC XORP CVS repository Modified files: bgp plumbing.cc Log message: remove unsued code Revision Changes Path 1.105 +2 -16; commitid: 861448995d6541a7; xorp/bgp/plumbing.cc From abittau at icir.org Wed Aug 6 01:14:51 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:14:51 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/bgp Message-ID: <200808060814.m768EpHl034382@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:14:51 UTC XORP CVS repository Modified files: bgp plumbing.cc route_table_policy.cc route_table_policy.hh Log message: attempt #2 at fixing bug #699. We still need an import filter because it deals with policy route dumping. The interaction between policy and BGP must be revisited. Policy route dumping is a hack and the code is horrible. This should be revisited once the new BGP code is up, and the fix to bug #699 should be removing the import policy table. Revision Changes Path 1.106 +14 -3; commitid: 863348995d7841a7; xorp/bgp/plumbing.cc 1.27 +13 -2; commitid: 863348995d7841a7; xorp/bgp/route_table_policy.cc 1.12 +4 -1; commitid: 863348995d7841a7; xorp/bgp/route_table_policy.hh From abittau at icir.org Wed Aug 6 01:15:02 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:15:02 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/rib Message-ID: <200808060815.m768F2jn034420@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:15:02 UTC XORP CVS repository Modified files: rib rt_tab_pol_conn.cc Log message: Fix bugzilla #567. I don't know if it's completely fixed, but it definitely is for connected routes. Static routes behaves properly too. The problem was route pushing. Filters need to be rerun on ORIGINAL routes, not the "last route", which could have been modified by filters. Route pushing was never designed but just coded in a rather brute-force way in protcols. It should deserve attention in the future and should be implemented by the policy framework. Revision Changes Path 1.14 +5 -11; commitid: 865648995d8441a7; xorp/rib/rt_tab_pol_conn.cc From abittau at icir.org Wed Aug 6 01:15:13 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:15:13 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/etc/templates xorp/policy xorp/policy/common Message-ID: <200808060815.m768FDAT034514@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:15:13 UTC XORP CVS repository Modified files: etc/templates policy.tp policy set_map.cc policy/common elem_set.cc elem_set.hh element.cc element.hh register_operations.cc Log message: Provide enhancement posted in Bugzilla #674. You can now have length modifiers in network lists. I was debating whether to make use of XORP's front-end parser operators or not. This would catch syntax errors in the front-end. For example, one solution would have been something like: modifier <= "" That is, use the keyword modifier, and the actual modifier is the operator, and then supply a dummy empty string or something. For now I use the string itself as the operator, e.g.: modifier: "<=" Revision Changes Path 1.27 +21 -1; commitid: 868d48995d8d41a7; xorp/etc/templates/policy.tp 1.20 +11 -4; commitid: 868d48995d8d41a7; xorp/policy/common/elem_set.cc 1.13 +11 -2; commitid: 868d48995d8d41a7; xorp/policy/common/elem_set.hh 1.15 +220 -1; commitid: 868d48995d8d41a7; xorp/policy/common/element.cc 1.15 +53 -9; commitid: 868d48995d8d41a7; xorp/policy/common/element.hh 1.28 +63 -11; commitid: 868d48995d8d41a7; xorp/policy/common/register_operations.cc 1.13 +7 -16; commitid: 868d48995d8d41a7; xorp/policy/set_map.cc From abittau at icir.org Wed Aug 6 01:16:10 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:16:10 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/devnotes Message-ID: <200808060816.m768GAmJ034551@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:16:10 UTC XORP CVS repository Added files: devnotes policy_todo.tex Log message: TODO for policy Revision Changes Path 1.1 +761 -0 xorp/devnotes/policy_todo.tex (new) From abittau at icir.org Wed Aug 6 01:17:10 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:17:10 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/etc/templates xorp/policy xorp/policy/backend xorp/policy/test Message-ID: <200808060817.m768HAJ3034709@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:17:10 UTC XORP CVS repository Modified files: etc/templates bgp.tp policy code_generator.cc code_generator.hh configuration.cc configuration.hh lex.yy_policy_parser.cc node.hh policy.l policy.y policy_list.cc policy_list.hh policy_target.cc policy_target.hh source_match_code_generator.cc source_match_code_generator.hh visitor.hh visitor_printer.cc visitor_printer.hh visitor_semantic.cc visitor_semantic.hh visitor_setdep.cc visitor_setdep.hh yacc.yy_policy_parser.cc yacc.yy_policy_parser.cc.h policy/backend backend.l backend.y instr_visitor.hh instruction.hh iv_exec.cc iv_exec.hh lex.yy_policy_backend_parser.cc yacc.yy_policy_backend_parser.cc yacc.yy_policy_backend_parser.cc.h policy/test compilepolicy.cc compilepolicy.l compilepolicy.y lex.yy_compile_policy.cc yacc.yy_compile_policy.cc yacc.yy_compile_policy.cc.h Log message: Add per-peer BGP policy support. This closes Bugzilla #667. The per-peer policies override global ones, i.e, per-peer are executed first. Revision Changes Path 1.96 +17 -2; commitid: 86ff48995df941a7; xorp/etc/templates/bgp.tp 1.10 +27 -36; commitid: 86ff48995df941a7; xorp/policy/backend/backend.l 1.13 +5 -7; commitid: 86ff48995df941a7; xorp/policy/backend/backend.y 1.8 +3 -2; commitid: 86ff48995df941a7; xorp/policy/backend/instr_visitor.hh 1.12 +17 -1; commitid: 86ff48995df941a7; xorp/policy/backend/instruction.hh 1.25 +30 -3; commitid: 86ff48995df941a7; xorp/policy/backend/iv_exec.cc 1.16 +6 -3; commitid: 86ff48995df941a7; xorp/policy/backend/iv_exec.hh 1.11 +890 -789; commitid: 86ff48995df941a7; xorp/policy/backend/lex.yy_policy_backend_parser.cc 1.13 +1752 -555; commitid: 86ff48995df941a7; xorp/policy/backend/yacc.yy_policy_backend_parser.cc 1.6 +0 -40; commitid: 86ff48995df941a7; xorp/policy/backend/yacc.yy_policy_backend_parser.cc.h 1.16 +26 -10; commitid: 86ff48995df941a7; xorp/policy/code_generator.cc 1.10 +5 -4; commitid: 86ff48995df941a7; xorp/policy/code_generator.hh 1.24 +222 -94; commitid: 86ff48995df941a7; xorp/policy/configuration.cc 1.15 +64 -33; commitid: 86ff48995df941a7; xorp/policy/configuration.hh 1.16 +3097 -2844; commitid: 86ff48995df941a7; xorp/policy/lex.yy_policy_parser.cc 1.13 +17 -1; commitid: 86ff48995df941a7; xorp/policy/node.hh 1.15 +11 -16; commitid: 86ff48995df941a7; xorp/policy/policy.l 1.13 +18 -26; commitid: 86ff48995df941a7; xorp/policy/policy.y 1.14 +62 -9; commitid: 86ff48995df941a7; xorp/policy/policy_list.cc 1.8 +13 -15; commitid: 86ff48995df941a7; xorp/policy/policy_list.hh 1.19 +33 -13; commitid: 86ff48995df941a7; xorp/policy/policy_target.cc 1.15 +4 -4; commitid: 86ff48995df941a7; xorp/policy/policy_target.hh 1.18 +30 -25; commitid: 86ff48995df941a7; xorp/policy/source_match_code_generator.cc 1.12 +17 -19; commitid: 86ff48995df941a7; xorp/policy/source_match_code_generator.hh 1.15 +1 -2; commitid: 86ff48995df941a7; xorp/policy/test/compilepolicy.cc 1.7 +1 -1; commitid: 86ff48995df941a7; xorp/policy/test/compilepolicy.l 1.8 +22 -20; commitid: 86ff48995df941a7; xorp/policy/test/compilepolicy.y 1.8 +740 -650; commitid: 86ff48995df941a7; xorp/policy/test/lex.yy_compile_policy.cc 1.10 +1654 -479; commitid: 86ff48995df941a7; xorp/policy/test/yacc.yy_compile_policy.cc 1.4 +0 -31; commitid: 86ff48995df941a7; xorp/policy/test/yacc.yy_compile_policy.cc.h 1.10 +5 -2; commitid: 86ff48995df941a7; xorp/policy/visitor.hh 1.9 +15 -5; commitid: 86ff48995df941a7; xorp/policy/visitor_printer.cc 1.7 +2 -1; commitid: 86ff48995df941a7; xorp/policy/visitor_printer.hh 1.19 +9 -7; commitid: 86ff48995df941a7; xorp/policy/visitor_semantic.cc 1.13 +12 -18; commitid: 86ff48995df941a7; xorp/policy/visitor_semantic.hh 1.12 +9 -4; commitid: 86ff48995df941a7; xorp/policy/visitor_setdep.cc 1.9 +2 -1; commitid: 86ff48995df941a7; xorp/policy/visitor_setdep.hh 1.17 +1894 -721; commitid: 86ff48995df941a7; xorp/policy/yacc.yy_policy_parser.cc 1.8 +0 -51; commitid: 86ff48995df941a7; xorp/policy/yacc.yy_policy_parser.cc.h From abittau at icir.org Wed Aug 6 01:17:25 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:17:25 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/devnotes Message-ID: <200808060817.m768HPdE034740@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:17:24 UTC XORP CVS repository Modified files: devnotes policy_todo.tex Log message: add a "redo policy frontend" task. Revision Changes Path 1.2 +11 -0; commitid: 879d48995e1241a7; xorp/devnotes/policy_todo.tex From abittau at icir.org Wed Aug 6 01:18:07 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:18:07 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy xorp/policy/backend xorp/policy/test Message-ID: <200808060818.m768I7rv034827@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:18:07 UTC XORP CVS repository Modified files: policy lex.yy_policy_parser.cc policy.l yacc.yy_policy_parser.cc yacc.yy_policy_parser.cc.h policy/backend backend.l lex.yy_policy_backend_parser.cc yacc.yy_policy_backend_parser.cc yacc.yy_policy_backend_parser.cc.h policy/test compilepolicy.l lex.yy_compile_policy.cc yacc.yy_compile_policy.cc yacc.yy_compile_policy.cc.h Log message: use lex/yacc and not flex/bison. Long live BSD. Revision Changes Path 1.11 +1 -1; commitid: 87bc48995e3741a7; xorp/policy/backend/backend.l 1.12 +644 -731; commitid: 87bc48995e3741a7; xorp/policy/backend/lex.yy_policy_backend_parser.cc 1.14 +542 -1735; commitid: 87bc48995e3741a7; xorp/policy/backend/yacc.yy_policy_backend_parser.cc 1.7 +42 -0; commitid: 87bc48995e3741a7; xorp/policy/backend/yacc.yy_policy_backend_parser.cc.h 1.17 +653 -740; commitid: 87bc48995e3741a7; xorp/policy/lex.yy_policy_parser.cc 1.16 +1 -1; commitid: 87bc48995e3741a7; xorp/policy/policy.l 1.8 +1 -1; commitid: 87bc48995e3741a7; xorp/policy/test/compilepolicy.l 1.9 +650 -740; commitid: 87bc48995e3741a7; xorp/policy/test/lex.yy_compile_policy.cc 1.11 +456 -1628; commitid: 87bc48995e3741a7; xorp/policy/test/yacc.yy_compile_policy.cc 1.5 +31 -0; commitid: 87bc48995e3741a7; xorp/policy/test/yacc.yy_compile_policy.cc.h 1.18 +708 -1871; commitid: 87bc48995e3741a7; xorp/policy/yacc.yy_policy_parser.cc 1.9 +53 -0; commitid: 87bc48995e3741a7; xorp/policy/yacc.yy_policy_parser.cc.h From abittau at icir.org Wed Aug 6 01:18:31 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:18:31 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/etc/templates xorp/policy Message-ID: <200808060818.m768IVei034895@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:18:31 UTC XORP CVS repository Modified files: etc/templates bgp.tp policy code_generator.cc lex.yy_policy_parser.cc node.hh policy.l policy.y visitor_printer.cc visitor_semantic.cc visitor_semantic.hh yacc.yy_policy_parser.cc yacc.yy_policy_parser.cc.h Log message: Allow subtraction and addition to the localpref property. I've implemented it the "hard way" but I think it makes things much prettier now. You can have the following in the configuration: localpref: 123 localpref add 1 localpref sub 1 rather than the hacky: localpref: 123 localpref-add: 1 localpref-sub: 1 With this patch, we can apply similar operators to other things such as aspath, community, etc. I.e., no need for a specialy leaf such as aspath-prepend - we can have aspath and aspath add. Revision Changes Path 1.97 +4 -3; commitid: 881348995e4e41a7; xorp/etc/templates/bgp.tp 1.17 +10 -1; commitid: 881348995e4e41a7; xorp/policy/code_generator.cc 1.18 +2479 -2351; commitid: 881348995e4e41a7; xorp/policy/lex.yy_policy_parser.cc 1.14 +10 -6; commitid: 881348995e4e41a7; xorp/policy/node.hh 1.17 +4 -1; commitid: 881348995e4e41a7; xorp/policy/policy.l 1.14 +19 -6; commitid: 881348995e4e41a7; xorp/policy/policy.y 1.10 +9 -2; commitid: 881348995e4e41a7; xorp/policy/visitor_printer.cc 1.20 +19 -5; commitid: 881348995e4e41a7; xorp/policy/visitor_semantic.cc 1.14 +5 -3; commitid: 881348995e4e41a7; xorp/policy/visitor_semantic.hh 1.19 +272 -244; commitid: 881348995e4e41a7; xorp/policy/yacc.yy_policy_parser.cc 1.10 +26 -23; commitid: 881348995e4e41a7; xorp/policy/yacc.yy_policy_parser.cc.h From abittau at icir.org Wed Aug 6 01:19:01 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:19:01 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/etc/templates Message-ID: <200808060819.m768J1N0034926@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:19:01 UTC XORP CVS repository Modified files: etc/templates bgp.tp Log message: allow adding / subtracting the med. Now that's what I call a flexible policy framework! Add functionality by changing 1 line of template files - no source changes =D. [Yea yea, but only after the huge diff of previous commit [but it wasn't strictly necessary!] =P.] Revision Changes Path 1.98 +2 -1; commitid: 885748995e7241a7; xorp/etc/templates/bgp.tp From abittau at icir.org Wed Aug 6 01:19:14 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:19:14 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/etc/templates Message-ID: <200808060819.m768JEs2034963@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:19:14 UTC XORP CVS repository Modified files: etc/templates ospfv2.tp ospfv3.tp rip.tp ripng.tp Log message: allow the adding / subtracting of the metric. Note the bgp "metric" [i.e., MED] needs to be tuned using the MED. There is no alias from metric -> med. Adding / subtracting can't be done for static & connected routes. Only rip, ospf, BGP (MED) support metric. Revision Changes Path 1.55 +2 -1; commitid: 887648995e7f41a7; xorp/etc/templates/ospfv2.tp 1.11 +2 -1; commitid: 887648995e7f41a7; xorp/etc/templates/ospfv3.tp 1.48 +2 -1; commitid: 887648995e7f41a7; xorp/etc/templates/rip.tp 1.43 +2 -1; commitid: 887648995e7f41a7; xorp/etc/templates/ripng.tp From abittau at icir.org Wed Aug 6 01:19:32 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:19:32 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy xorp/policy/backend xorp/policy/test Message-ID: <200808060819.m768JWlr035032@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:19:32 UTC XORP CVS repository Modified files: policy lex.yy_policy_parser.cc policy/backend lex.yy_policy_backend_parser.cc policy/test lex.yy_compile_policy.cc Log message: use flex not lex. We should now have the desired configuration: flex + yacc. Revision Changes Path 1.13 +730 -643; commitid: 889b48995e8d41a7; xorp/policy/backend/lex.yy_policy_backend_parser.cc 1.19 +739 -652; commitid: 889b48995e8d41a7; xorp/policy/lex.yy_policy_parser.cc 1.10 +739 -649; commitid: 889b48995e8d41a7; xorp/policy/test/lex.yy_compile_policy.cc From abittau at icir.org Wed Aug 6 01:22:21 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:22:21 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/etc/templates xorp/policy xorp/policy/backend Message-ID: <200808060822.m768ML8a035284@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:22:21 UTC XORP CVS repository Modified files: etc/templates policy.tp policy Jamfile Makefile.am Makefile.in code.cc code.hh code_generator.cc code_generator.hh configuration.cc configuration.hh export_code_generator.cc export_code_generator.hh filter_manager.cc node.hh policy.y policy_list.cc policy_map.cc policy_map.hh policy_statement.cc policy_statement.hh set_map.cc set_map.hh source_match_code_generator.cc source_match_code_generator.hh visitor.hh visitor_printer.cc visitor_printer.hh visitor_semantic.cc visitor_semantic.hh yacc.yy_policy_parser.cc policy/backend backend.l backend.y instr_visitor.hh instruction.hh iv_exec.cc iv_exec.hh lex.yy_policy_backend_parser.cc policy_backend_parser.hh policy_filter.cc policy_filter.hh yacc.yy_policy_backend_parser.cc yacc.yy_policy_backend_parser.cc.h Added files: policy dependency.hh visitor_dep.cc visitor_dep.hh Removed files: policy dependancy.hh visitor_setdep.cc visitor_setdep.hh Log message: allow the execution of a policy as a subroutine Revision Changes Path 1.28 +17 -1; commitid: 893d48995f3341a7; xorp/etc/templates/policy.tp 1.4 +2 -2; commitid: 893d48995f3341a7; xorp/policy/Jamfile 1.13 +4 -4; commitid: 893d48995f3341a7; xorp/policy/Makefile.am 1.42 +5 -5; commitid: 893d48995f3341a7; xorp/policy/Makefile.in 1.12 +6 -1; commitid: 893d48995f3341a7; xorp/policy/backend/backend.l 1.14 +31 -14; commitid: 893d48995f3341a7; xorp/policy/backend/backend.y 1.9 +3 -1; commitid: 893d48995f3341a7; xorp/policy/backend/instr_visitor.hh 1.13 +13 -1; commitid: 893d48995f3341a7; xorp/policy/backend/instruction.hh 1.26 +50 -1; commitid: 893d48995f3341a7; xorp/policy/backend/iv_exec.cc 1.17 +7 -4; commitid: 893d48995f3341a7; xorp/policy/backend/iv_exec.hh 1.14 +180 -160; commitid: 893d48995f3341a7; xorp/policy/backend/lex.yy_policy_backend_parser.cc 1.8 +10 -3; commitid: 893d48995f3341a7; xorp/policy/backend/policy_backend_parser.hh 1.18 +17 -4; commitid: 893d48995f3341a7; xorp/policy/backend/policy_filter.cc 1.12 +5 -3; commitid: 893d48995f3341a7; xorp/policy/backend/policy_filter.hh 1.15 +131 -103; commitid: 893d48995f3341a7; xorp/policy/backend/yacc.yy_policy_backend_parser.cc 1.8 +4 -1; commitid: 893d48995f3341a7; xorp/policy/backend/yacc.yy_policy_backend_parser.cc.h 1.12 +18 -5; commitid: 893d48995f3341a7; xorp/policy/code.cc 1.11 +11 -3; commitid: 893d48995f3341a7; xorp/policy/code.hh 1.18 +39 -7; commitid: 893d48995f3341a7; xorp/policy/code_generator.cc 1.11 +17 -14; commitid: 893d48995f3341a7; xorp/policy/code_generator.hh 1.25 +8 -14; commitid: 893d48995f3341a7; xorp/policy/configuration.cc 1.16 +3 -3; commitid: 893d48995f3341a7; xorp/policy/configuration.hh 1.12 +0 -332 xorp/policy/dependancy.hh (dead) 1.1 +332 -0 xorp/policy/dependency.hh (new) 1.15 +6 -3; commitid: 893d48995f3341a7; xorp/policy/export_code_generator.cc 1.9 +3 -2; commitid: 893d48995f3341a7; xorp/policy/export_code_generator.hh 1.19 +19 -6; commitid: 893d48995f3341a7; xorp/policy/filter_manager.cc 1.15 +13 -1; commitid: 893d48995f3341a7; xorp/policy/node.hh 1.15 +1 -0; commitid: 893d48995f3341a7; xorp/policy/policy.y 1.15 +9 -9; commitid: 893d48995f3341a7; xorp/policy/policy_list.cc 1.12 +6 -6; commitid: 893d48995f3341a7; xorp/policy/policy_map.cc 1.10 +8 -8; commitid: 893d48995f3341a7; xorp/policy/policy_map.hh 1.16 +25 -21; commitid: 893d48995f3341a7; xorp/policy/policy_statement.cc 1.13 +23 -20; commitid: 893d48995f3341a7; xorp/policy/policy_statement.hh 1.14 +5 -5; commitid: 893d48995f3341a7; xorp/policy/set_map.cc 1.10 +12 -12; commitid: 893d48995f3341a7; xorp/policy/set_map.hh 1.19 +50 -7; commitid: 893d48995f3341a7; xorp/policy/source_match_code_generator.cc 1.13 +3 -2; commitid: 893d48995f3341a7; xorp/policy/source_match_code_generator.hh 1.11 +3 -1; commitid: 893d48995f3341a7; xorp/policy/visitor.hh 1.1 +181 -0 xorp/policy/visitor_dep.cc (new) 1.1 +79 -0 xorp/policy/visitor_dep.hh (new) 1.11 +9 -1; commitid: 893d48995f3341a7; xorp/policy/visitor_printer.cc 1.8 +2 -1; commitid: 893d48995f3341a7; xorp/policy/visitor_printer.hh 1.21 +29 -9; commitid: 893d48995f3341a7; xorp/policy/visitor_semantic.cc 1.15 +7 -3; commitid: 893d48995f3341a7; xorp/policy/visitor_semantic.hh 1.13 +0 -149 xorp/policy/visitor_setdep.cc (dead) 1.10 +0 -74 xorp/policy/visitor_setdep.hh (dead) 1.20 +178 -170; commitid: 893d48995f3341a7; xorp/policy/yacc.yy_policy_parser.cc From abittau at icir.org Wed Aug 6 01:22:58 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:22:58 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy Message-ID: <200808060822.m768Mw8b035321@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:22:58 UTC XORP CVS repository Modified files: policy configuration.cc configuration.hh policy_map.cc policy_map.hh Log message: recompile policies when their subroutines change Revision Changes Path 1.26 +17 -8; commitid: 89dc48995f5f41a7; xorp/policy/configuration.cc 1.17 +3 -2; commitid: 89dc48995f5f41a7; xorp/policy/configuration.hh 1.13 +17 -1; commitid: 89dc48995f5f41a7; xorp/policy/policy_map.cc 1.11 +3 -1; commitid: 89dc48995f5f41a7; xorp/policy/policy_map.hh From abittau at icir.org Wed Aug 6 01:23:27 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:23:27 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/etc/templates xorp/policy xorp/xrl/interfaces xorp/xrl/targets Message-ID: <200808060823.m768NR6G035435@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:23:27 UTC XORP CVS repository Modified files: etc/templates bgp.tp olsr4.tp ospfv2.tp ospfv3.tp rip.tp ripng.tp static_routes.tp policy policy_target.cc policy_target.hh xrl_target.cc xrl_target.hh xrl/interfaces policy.xif policy_xif.cc policy_xif.hh xrl/targets policy.xrls policy_base.cc policy_base.hh Log message: make import/export modifier an explicit xrl argument. I think that it'd be really useful to have optional XRL arguments [with defaults]. Revision Changes Path 1.99 +11 -11; commitid: 8a0148995f7341a7; xorp/etc/templates/bgp.tp 1.3 +5 -5; commitid: 8a0148995f7341a7; xorp/etc/templates/olsr4.tp 1.56 +5 -5; commitid: 8a0148995f7341a7; xorp/etc/templates/ospfv2.tp 1.12 +5 -5; commitid: 8a0148995f7341a7; xorp/etc/templates/ospfv3.tp 1.49 +5 -5; commitid: 8a0148995f7341a7; xorp/etc/templates/rip.tp 1.44 +5 -5; commitid: 8a0148995f7341a7; xorp/etc/templates/ripng.tp 1.43 +3 -3; commitid: 8a0148995f7341a7; xorp/etc/templates/static_routes.tp 1.20 +7 -26; commitid: 8a0148995f7341a7; xorp/policy/policy_target.cc 1.16 +6 -6; commitid: 8a0148995f7341a7; xorp/policy/policy_target.hh 1.17 +9 -7; commitid: 8a0148995f7341a7; xorp/policy/xrl_target.cc 1.14 +5 -3; commitid: 8a0148995f7341a7; xorp/policy/xrl_target.hh 1.11 +4 -3; commitid: 8a0148995f7341a7; xorp/xrl/interfaces/policy.xif 1.19 +5 -1; commitid: 8a0148995f7341a7; xorp/xrl/interfaces/policy_xif.cc 1.19 +5 -1; commitid: 8a0148995f7341a7; xorp/xrl/interfaces/policy_xif.hh 1.18 +5 -3; commitid: 8a0148995f7341a7; xorp/xrl/targets/policy.xrls 1.19 +9 -7; commitid: 8a0148995f7341a7; xorp/xrl/targets/policy_base.cc 1.21 +7 -3; commitid: 8a0148995f7341a7; xorp/xrl/targets/policy_base.hh From abittau at icir.org Wed Aug 6 01:23:51 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:23:51 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/etc/templates xorp/ospf Message-ID: <200808060823.m768NpLQ035489@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:23:51 UTC XORP CVS repository Modified files: etc/templates ospfv2.tp ospfv3.tp ospf policy_varrw.cc policy_varrw.hh Log message: set the external type via external-type: 1 or 2. It's no longer ebit: false or true. This closes bug #377. Revision Changes Path 1.57 +14 -11; commitid: 8a7348995f9241a7; xorp/etc/templates/ospfv2.tp 1.13 +14 -11; commitid: 8a7348995f9241a7; xorp/etc/templates/ospfv3.tp 1.16 +18 -13; commitid: 8a7348995f9241a7; xorp/ospf/policy_varrw.cc 1.13 +3 -1; commitid: 8a7348995f9241a7; xorp/ospf/policy_varrw.hh From abittau at icir.org Wed Aug 6 01:24:13 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:24:13 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/bgp xorp/contrib/olsr xorp/etc/templates xorp/fib2mrib xorp/ospf xorp/policy xorp/policy/backend xorp/policy/common xorp/rib xorp/rip xorp/static_routes Message-ID: <200808060824.m768ODFm035748@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:24:13 UTC XORP CVS repository Modified files: bgp bgp_varrw.cc bgp_varrw.hh contrib/olsr policy_varrw.cc policy_varrw.hh etc/templates ospfv2.tp ospfv3.tp policy.tp rip.tp ripng.tp fib2mrib fib2mrib_node.hh fib2mrib_varrw.cc ospf policy_varrw.cc policy_varrw.hh policy Jamfile Makefile.am Makefile.in filter_manager.cc var_map.cc policy/backend policytags.cc policytags.hh single_varrw.cc single_varrw.hh policy/common varrw.hh rib rib_varrw.cc route.hh rip rip_varrw.cc rip_varrw.hh route_entry.hh static_routes static_routes_node.hh static_routes_varrw.cc Log message: Add support for a generic tag. This is different from juniper in two ways: 1) It has to be a u32. This isn't stricly necessary architecturally, but it gets rid of many problems. Apparently you can do math operations on tags, so it's best to have them numeric. And, they are translated into the OSPF tag [numeric]. 2) The tag is used as the "rip tag" too, whatever that is. Juniper just translates the tag for OSPF, we do it for RIP too. [Oh and juniper supports tag2 too...] Currently we ovverride policytags to include the tag too. This isn't neat. I think we'll need a new type, "GenericPolicyCrap" which each route should hold. This can then get passed across the router in a generic XRL field perhaps when doing add/del/rep. Revision Changes Path 1.36 +29 -5; commitid: 8aa948995fa141a7; xorp/bgp/bgp_varrw.cc 1.23 +3 -9; commitid: 8aa948995fa141a7; xorp/bgp/bgp_varrw.hh 1.3 +3 -16; commitid: 8aa948995fa141a7; xorp/contrib/olsr/policy_varrw.cc 1.3 +1 -3; commitid: 8aa948995fa141a7; xorp/contrib/olsr/policy_varrw.hh 1.58 +1 -22; commitid: 8aa948995fa141a7; xorp/etc/templates/ospfv2.tp 1.14 +1 -22; commitid: 8aa948995fa141a7; xorp/etc/templates/ospfv3.tp 1.29 +39 -24; commitid: 8aa948995fa141a7; xorp/etc/templates/policy.tp 1.50 +1 -22; commitid: 8aa948995fa141a7; xorp/etc/templates/rip.tp 1.45 +1 -22; commitid: 8aa948995fa141a7; xorp/etc/templates/ripng.tp 1.24 +2 -9; commitid: 8aa948995fa141a7; xorp/fib2mrib/fib2mrib_node.hh 1.11 +3 -6; commitid: 8aa948995fa141a7; xorp/fib2mrib/fib2mrib_varrw.cc 1.17 +37 -37; commitid: 8aa948995fa141a7; xorp/ospf/policy_varrw.cc 1.14 +13 -17; commitid: 8aa948995fa141a7; xorp/ospf/policy_varrw.hh 1.5 +2 -1; commitid: 8aa948995fa141a7; xorp/policy/Jamfile 1.14 +2 -1; commitid: 8aa948995fa141a7; xorp/policy/Makefile.am 1.43 +3 -2; commitid: 8aa948995fa141a7; xorp/policy/Makefile.in 1.15 +47 -13; commitid: 8aa948995fa141a7; xorp/policy/backend/policytags.cc 1.8 +14 -13; commitid: 8aa948995fa141a7; xorp/policy/backend/policytags.hh 1.19 +40 -20; commitid: 8aa948995fa141a7; xorp/policy/backend/single_varrw.cc 1.14 +12 -12; commitid: 8aa948995fa141a7; xorp/policy/backend/single_varrw.hh 1.17 +6 -6; commitid: 8aa948995fa141a7; xorp/policy/common/varrw.hh 1.20 +8 -9; commitid: 8aa948995fa141a7; xorp/policy/filter_manager.cc 1.15 +3 -1; commitid: 8aa948995fa141a7; xorp/policy/var_map.cc 1.14 +3 -7; commitid: 8aa948995fa141a7; xorp/rib/rib_varrw.cc 1.28 +2 -8; commitid: 8aa948995fa141a7; xorp/rib/route.hh 1.13 +11 -2; commitid: 8aa948995fa141a7; xorp/rip/rip_varrw.cc 1.12 +2 -3; commitid: 8aa948995fa141a7; xorp/rip/rip_varrw.hh 1.22 +4 -2; commitid: 8aa948995fa141a7; xorp/rip/route_entry.hh 1.31 +2 -9; commitid: 8aa948995fa141a7; xorp/static_routes/static_routes_node.hh 1.12 +3 -6; commitid: 8aa948995fa141a7; xorp/static_routes/static_routes_varrw.cc From abittau at icir.org Wed Aug 6 01:24:35 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:24:35 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/etc/templates Message-ID: <200808060824.m768OZgF035779@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:24:35 UTC XORP CVS repository Modified files: etc/templates policy.tp Log message: make "next policy" available in configuration. You can now skip to the next policy during evaluation. Revision Changes Path 1.30 +10 -1; commitid: 8bac48995fc041a7; xorp/etc/templates/policy.tp From abittau at icir.org Wed Aug 6 01:24:59 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:24:59 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy xorp/policy/backend Message-ID: <200808060824.m768Ox4m035851@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:24:59 UTC XORP CVS repository Modified files: policy code_generator.cc lex.yy_policy_parser.cc node.hh policy.l policy.y visitor_printer.cc yacc.yy_policy_parser.cc yacc.yy_policy_parser.cc.h policy/backend backend.l backend.y lex.yy_policy_backend_parser.cc yacc.yy_policy_backend_parser.cc yacc.yy_policy_backend_parser.cc.h Log message: allow for "next term" too. Revision Changes Path 1.13 +1 -0; commitid: 8bcb48995fd541a7; xorp/policy/backend/backend.l 1.15 +3 -1; commitid: 8bcb48995fd541a7; xorp/policy/backend/backend.y 1.15 +53 -48; commitid: 8bcb48995fd541a7; xorp/policy/backend/lex.yy_policy_backend_parser.cc 1.16 +26 -20; commitid: 8bcb48995fd541a7; xorp/policy/backend/yacc.yy_policy_backend_parser.cc 1.9 +1 -0; commitid: 8bcb48995fd541a7; xorp/policy/backend/yacc.yy_policy_backend_parser.cc.h 1.19 +5 -1; commitid: 8bcb48995fd541a7; xorp/policy/code_generator.cc 1.20 +2432 -2425; commitid: 8bcb48995fd541a7; xorp/policy/lex.yy_policy_parser.cc 1.16 +3 -2; commitid: 8bcb48995fd541a7; xorp/policy/node.hh 1.18 +1 -0; commitid: 8bcb48995fd541a7; xorp/policy/policy.l 1.16 +3 -1; commitid: 8bcb48995fd541a7; xorp/policy/policy.y 1.12 +5 -1; commitid: 8bcb48995fd541a7; xorp/policy/visitor_printer.cc 1.21 +241 -235; commitid: 8bcb48995fd541a7; xorp/policy/yacc.yy_policy_parser.cc 1.11 +22 -21; commitid: 8bcb48995fd541a7; xorp/policy/yacc.yy_policy_parser.cc.h From abittau at icir.org Wed Aug 6 01:25:26 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:25:26 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/etc/templates xorp/policy Message-ID: <200808060825.m768PQVR035927@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:25:26 UTC XORP CVS repository Modified files: etc/templates policy.tp policy policy_statement.cc policy_statement.hh Log message: allow for the "final action" in an unnamed term. I had to write a little patch to get the rtrmgr order right. I don't know whether it's an issue with the rtrmgr's ordering, and if so it should be fixed there - not in my policy patch. I don't know enough about the rtrmgr and all that ordering stuff looks kind of awkward, at least in use, in policy statements. The juniper manual is vague on what the final action really is. It seems to be only accept/reject and those sorts of actions (maybe flow control too such as next policy). It doesn't seem to include route modification actions. Also in order documentation it hinted that terms that match, but with no action, take the final action - the latest documentation omits this though. (We don't take the final action on terms that match but have no action.) In practice, i think that the final action is used merely as a final catch-allaccept/reject statement and we do provide this functionality. From the juniper manual it's unclear to me whether it is anything more than this. Revision Changes Path 1.31 +27 -2; commitid: 8c2b48995ff341a7; xorp/etc/templates/policy.tp 1.17 +34 -3; commitid: 8c2b48995ff341a7; xorp/policy/policy_statement.cc 1.14 +6 -7; commitid: 8c2b48995ff341a7; xorp/policy/policy_statement.hh From abittau at icir.org Wed Aug 6 01:25:50 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:25:50 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy xorp/policy/backend Message-ID: <200808060825.m768PoOM035993@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:25:50 UTC XORP CVS repository Modified files: policy configuration.cc lex.yy_policy_parser.cc policy.l policy_list.cc policy_list.hh policy_map.hh visitor_semantic.cc visitor_semantic.hh policy/backend iv_exec.cc iv_exec.hh Log message: support policy expressions Revision Changes Path 1.27 +29 -13; commitid: 8c5f4899600841a7; xorp/policy/backend/iv_exec.cc 1.18 +2 -1; commitid: 8c5f4899600841a7; xorp/policy/backend/iv_exec.hh 1.27 +7 -7; commitid: 8c5f4899600841a7; xorp/policy/configuration.cc 1.21 +2510 -2491; commitid: 8c5f4899600841a7; xorp/policy/lex.yy_policy_parser.cc 1.19 +3 -0; commitid: 8c5f4899600841a7; xorp/policy/policy.l 1.16 +89 -14; commitid: 8c5f4899600841a7; xorp/policy/policy_list.cc 1.9 +8 -5; commitid: 8c5f4899600841a7; xorp/policy/policy_list.hh 1.12 +3 -2; commitid: 8c5f4899600841a7; xorp/policy/policy_map.hh 1.22 +13 -2; commitid: 8c5f4899600841a7; xorp/policy/visitor_semantic.cc 1.16 +2 -1; commitid: 8c5f4899600841a7; xorp/policy/visitor_semantic.hh From abittau at icir.org Wed Aug 6 01:26:17 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:26:17 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/bgp xorp/contrib/olsr xorp/etc/templates xorp/fib2mrib xorp/ospf xorp/policy xorp/policy/common xorp/rib xorp/rip xorp/static_routes Message-ID: <200808060826.m768QH69036231@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:26:17 UTC XORP CVS repository Modified files: bgp bgp_varrw.cc bgp_varrw.hh plumbing.cc route_table_policy.hh route_table_policy_ex.cc route_table_policy_ex.hh route_table_policy_im.cc route_table_policy_im.hh contrib/olsr policy_varrw.cc etc/templates bgp.tp olsr4.tp ospfv2.tp ospfv3.tp policy.tp rip.tp ripng.tp static_routes.tp fib2mrib fib2mrib_varrw.cc ospf policy_varrw.cc policy configuration.cc policy/common dispatcher.cc element.cc element.hh register_elements.cc register_operations.cc rib rib_varrw.cc rip rip_varrw.cc static_routes static_routes_varrw.cc Log message: Add support for nexthop "variables". You can now specify "self" or "peer-address" as the nexthop field in BGP policies. There's infrastrcture support for reject, discard and next-table too, and it spans across all protocols. Revision Changes Path 1.37 +51 -14; commitid: 8ca14899601d41a7; xorp/bgp/bgp_varrw.cc 1.24 +9 -3; commitid: 8ca14899601d41a7; xorp/bgp/bgp_varrw.hh 1.107 +22 -7; commitid: 8ca14899601d41a7; xorp/bgp/plumbing.cc 1.13 +3 -3; commitid: 8ca14899601d41a7; xorp/bgp/route_table_policy.hh 1.8 +4 -2; commitid: 8ca14899601d41a7; xorp/bgp/route_table_policy_ex.cc 1.7 +4 -3; commitid: 8ca14899601d41a7; xorp/bgp/route_table_policy_ex.hh 1.19 +9 -6; commitid: 8ca14899601d41a7; xorp/bgp/route_table_policy_im.cc 1.8 +4 -2; commitid: 8ca14899601d41a7; xorp/bgp/route_table_policy_im.hh 1.4 +3 -3; commitid: 8ca14899601d41a7; xorp/contrib/olsr/policy_varrw.cc 1.100 +30 -79; commitid: 8ca14899601d41a7; xorp/etc/templates/bgp.tp 1.4 +2 -22; commitid: 8ca14899601d41a7; xorp/etc/templates/olsr4.tp 1.59 +2 -22; commitid: 8ca14899601d41a7; xorp/etc/templates/ospfv2.tp 1.15 +2 -22; commitid: 8ca14899601d41a7; xorp/etc/templates/ospfv3.tp 1.32 +65 -1; commitid: 8ca14899601d41a7; xorp/etc/templates/policy.tp 1.51 +2 -22; commitid: 8ca14899601d41a7; xorp/etc/templates/rip.tp 1.46 +2 -22; commitid: 8ca14899601d41a7; xorp/etc/templates/ripng.tp 1.44 +3 -17; commitid: 8ca14899601d41a7; xorp/etc/templates/static_routes.tp 1.12 +3 -3; commitid: 8ca14899601d41a7; xorp/fib2mrib/fib2mrib_varrw.cc 1.18 +7 -5; commitid: 8ca14899601d41a7; xorp/ospf/policy_varrw.cc 1.17 +2 -2; commitid: 8ca14899601d41a7; xorp/policy/common/dispatcher.cc 1.16 +136 -44; commitid: 8ca14899601d41a7; xorp/policy/common/element.cc 1.16 +40 -5; commitid: 8ca14899601d41a7; xorp/policy/common/element.hh 1.15 +3 -3; commitid: 8ca14899601d41a7; xorp/policy/common/register_elements.cc 1.29 +14 -7; commitid: 8ca14899601d41a7; xorp/policy/common/register_operations.cc 1.28 +2 -4; commitid: 8ca14899601d41a7; xorp/policy/configuration.cc 1.15 +5 -5; commitid: 8ca14899601d41a7; xorp/rib/rib_varrw.cc 1.14 +7 -7; commitid: 8ca14899601d41a7; xorp/rip/rip_varrw.cc 1.13 +3 -3; commitid: 8ca14899601d41a7; xorp/static_routes/static_routes_varrw.cc From abittau at icir.org Wed Aug 6 01:27:13 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:27:13 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/etc/templates xorp/policy xorp/policy/common xorp/xrl/targets Message-ID: <200808060827.m768RDA6036381@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:27:13 UTC XORP CVS repository Modified files: policy Jamfile Makefile.am Makefile.in configuration.cc configuration.hh policy_target.cc policy_target.hh xrl_target.cc xrl_target.hh policy/common varrw.cc varrw.hh xrl/targets policy.tgt policy.xrls policy_base.cc policy_base.hh Added files: etc/templates policy.cmds policy test_varrw.cc test_varrw.hh visitor_test.cc visitor_test.hh Log message: support "test policy". You can run a policy against a route and attributes, and the policy manager will tell you whether the route would be accepted and what attributes were modified. Revision Changes Path 1.1 +18 -0 xorp/etc/templates/policy.cmds (new) 1.6 +4 -4; commitid: 8dad4899605a41a7; xorp/policy/Jamfile 1.15 +7 -3; commitid: 8dad4899605a41a7; xorp/policy/Makefile.am 1.44 +16 -11; commitid: 8dad4899605a41a7; xorp/policy/Makefile.in 1.12 +6 -1; commitid: 8dad4899605a41a7; xorp/policy/common/varrw.cc 1.18 +2 -2; commitid: 8dad4899605a41a7; xorp/policy/common/varrw.hh 1.29 +14 -1; commitid: 8dad4899605a41a7; xorp/policy/configuration.cc 1.18 +7 -5; commitid: 8dad4899605a41a7; xorp/policy/configuration.hh 1.21 +115 -1; commitid: 8dad4899605a41a7; xorp/policy/policy_target.cc 1.17 +8 -1; commitid: 8dad4899605a41a7; xorp/policy/policy_target.hh 1.1 +38 -0 xorp/policy/test_varrw.cc (new) 1.1 +36 -0 xorp/policy/test_varrw.hh (new) 1.1 +349 -0 xorp/policy/visitor_test.cc (new) 1.1 +82 -0 xorp/policy/visitor_test.hh (new) 1.18 +29 -1; commitid: 8dad4899605a41a7; xorp/policy/xrl_target.cc 1.15 +14 -1; commitid: 8dad4899605a41a7; xorp/policy/xrl_target.hh 1.5 +4 -2; commitid: 8dad4899605a41a7; xorp/xrl/targets/policy.tgt 1.19 +24 -1; commitid: 8dad4899605a41a7; xorp/xrl/targets/policy.xrls 1.20 +58 -1; commitid: 8dad4899605a41a7; xorp/xrl/targets/policy_base.cc 1.22 +39 -1; commitid: 8dad4899605a41a7; xorp/xrl/targets/policy_base.hh From abittau at icir.org Wed Aug 6 01:28:02 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:28:02 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/etc/templates xorp/policy Message-ID: <200808060828.m768S2A4036465@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:28:02 UTC XORP CVS repository Modified files: etc/templates policy.cmds policy Jamfile Makefile.am Makefile.in configuration.cc configuration.hh dependency.hh policy_map.cc policy_map.hh policy_target.cc policy_target.hh set_map.cc set_map.hh visitor_printer.cc xrl_target.cc Added files: policy dependency.cc Log message: add show policy commands. We support the following: as-path-list Show AS path lists network6-list Show network6 lists community-list Show community lists policy-statement Show policy statements network4-list Show network4 lists Revision Changes Path 1.2 +57 -2; commitid: 8e2b4899608d41a7; xorp/etc/templates/policy.cmds 1.7 +2 -2; commitid: 8e2b4899608d41a7; xorp/policy/Jamfile 1.16 +2 -1; commitid: 8e2b4899608d41a7; xorp/policy/Makefile.am 1.45 +9 -8; commitid: 8e2b4899608d41a7; xorp/policy/Makefile.in 1.30 +54 -1; commitid: 8e2b4899608d41a7; xorp/policy/configuration.cc 1.19 +5 -1; commitid: 8e2b4899608d41a7; xorp/policy/configuration.hh 1.1 +239 -0 xorp/policy/dependency.cc (new) 1.2 +24 -148; commitid: 8e2b4899608d41a7; xorp/policy/dependency.hh 1.14 +8 -4; commitid: 8e2b4899608d41a7; xorp/policy/policy_map.cc 1.13 +5 -1; commitid: 8e2b4899608d41a7; xorp/policy/policy_map.hh 1.22 +69 -13; commitid: 8e2b4899608d41a7; xorp/policy/policy_target.cc 1.18 +6 -2; commitid: 8e2b4899608d41a7; xorp/policy/policy_target.hh 1.15 +17 -6; commitid: 8e2b4899608d41a7; xorp/policy/set_map.cc 1.11 +8 -2; commitid: 8e2b4899608d41a7; xorp/policy/set_map.hh 1.13 +16 -11; commitid: 8e2b4899608d41a7; xorp/policy/visitor_printer.cc 1.19 +2 -2; commitid: 8e2b4899608d41a7; xorp/policy/xrl_target.cc From abittau at icir.org Wed Aug 6 01:28:17 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:28:17 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy Message-ID: <200808060828.m768SHaW036498@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:28:17 UTC XORP CVS repository Modified files: policy visitor_test.cc visitor_test.hh Log message: stop evaluation upon mismatch. (i.e., respect the ON_FALSE_EXIT equivalent). [The real point of writing documentation is noticing that your code doesn't work when trying to gather screenshots for examples.] Revision Changes Path 1.2 +21 -3; commitid: 8e794899609f41a7; xorp/policy/visitor_test.cc 1.2 +2 -1; commitid: 8e794899609f41a7; xorp/policy/visitor_test.hh From abittau at icir.org Wed Aug 6 01:28:39 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:28:39 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/docs/user_manual Message-ID: <200808060828.m768Sdc7036529@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:28:39 UTC XORP CVS repository Modified files: docs/user_manual policy.tex Log message: update policy documentation Revision Changes Path 1.22 +447 -167; commitid: 8e9a489960b441a7; xorp/docs/user_manual/policy.tex From abittau at icir.org Wed Aug 6 01:28:51 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:28:51 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/devnotes Message-ID: <200808060828.m768SptT036560@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:28:51 UTC XORP CVS repository Modified files: devnotes policy_todo.tex Log message: update policy todo. It turns out that the total day count hasn't changed! I.e., I added as many new days as those that i've worked! [Have I actually worked this month or just moved stuff around?!!? =P]. Revision Changes Path 1.3 +87 -84; commitid: 8eb9489960c141a7; xorp/devnotes/policy_todo.tex From abittau at icir.org Wed Aug 6 01:29:01 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:29:01 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/devnotes Message-ID: <200808060829.m768T1bs036591@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:29:01 UTC XORP CVS repository Modified files: devnotes policy_todo.tex Log message: update date Revision Changes Path 1.4 +1 -1; commitid: 8ed8489960ca41a7; xorp/devnotes/policy_todo.tex From abittau at icir.org Wed Aug 6 01:29:10 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:29:10 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/docs/user_manual Message-ID: <200808060829.m768TAwF036622@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:29:10 UTC XORP CVS repository Modified files: docs/user_manual policy.tex Log message: incorporate pavlin's comments Revision Changes Path 1.23 +18 -14; commitid: 8ef7489960d441a7; xorp/docs/user_manual/policy.tex From abittau at icir.org Wed Aug 6 01:29:20 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:29:20 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/docs/user_manual Message-ID: <200808060829.m768TKtN036653@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:29:20 UTC XORP CVS repository Modified files: docs/user_manual policy.tex Log message: get rid of [inexistent] brackets in output Revision Changes Path 1.24 +3 -3; commitid: 8f16489960de41a7; xorp/docs/user_manual/policy.tex From abittau at icir.org Wed Aug 6 01:30:58 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:30:58 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy xorp/policy/backend xorp/policy/common xorp/policy/test Message-ID: <200808060830.m768UwLi036798@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:30:58 UTC XORP CVS repository Modified files: policy dependency.cc dependency.hh test_varrw.cc test_varrw.hh visitor_dep.cc visitor_dep.hh visitor_test.cc visitor_test.hh policy/backend policy_profiler.cc policy_profiler.hh policy/common element_base.cc policy/test policybench.cc Log message: update copyright on new files Revision Changes Path 1.4 +2 -2; commitid: 8f5e4899613841a7; xorp/policy/backend/policy_profiler.cc 1.3 +2 -2; commitid: 8f5e4899613841a7; xorp/policy/backend/policy_profiler.hh 1.3 +2 -2; commitid: 8f5e4899613841a7; xorp/policy/common/element_base.cc 1.2 +2 -2; commitid: 8f5e4899613841a7; xorp/policy/dependency.cc 1.3 +2 -2; commitid: 8f5e4899613841a7; xorp/policy/dependency.hh 1.8 +2 -2; commitid: 8f5e4899613841a7; xorp/policy/test/policybench.cc 1.2 +2 -2; commitid: 8f5e4899613841a7; xorp/policy/test_varrw.cc 1.2 +2 -2; commitid: 8f5e4899613841a7; xorp/policy/test_varrw.hh 1.2 +2 -2; commitid: 8f5e4899613841a7; xorp/policy/visitor_dep.cc 1.2 +2 -2; commitid: 8f5e4899613841a7; xorp/policy/visitor_dep.hh 1.3 +2 -2; commitid: 8f5e4899613841a7; xorp/policy/visitor_test.cc 1.3 +2 -2; commitid: 8f5e4899613841a7; xorp/policy/visitor_test.hh From abittau at icir.org Wed Aug 6 01:39:50 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 08:39:50 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp xorp/mibs xorp/policy xorp/policy/backend xorp/policy/test Message-ID: <200808060839.m768doka036969@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 08:39:50 UTC XORP CVS repository Modified files: . configure mibs configure policy lex.yy_policy_parser.cc policy/backend lex.yy_policy_backend_parser.cc policy/test lex.yy_compile_policy.cc Log message: regenerate autogenerated files Revision Changes Path 1.291 +1 -1; commitid: 90064899631941a7; xorp/configure 1.68 +1 -1; commitid: 90064899631941a7; xorp/mibs/configure 1.16 +75 -32; commitid: 90064899631941a7; xorp/policy/backend/lex.yy_policy_backend_parser.cc 1.22 +75 -32; commitid: 90064899631941a7; xorp/policy/lex.yy_policy_parser.cc 1.11 +75 -32; commitid: 90064899631941a7; xorp/policy/test/lex.yy_compile_policy.cc From abittau at icir.org Wed Aug 6 04:56:11 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 11:56:11 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/rib Message-ID: <200808061156.m76BuBjT038590@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 11:56:11 UTC XORP CVS repository Modified files: rib parser_xrl_cmds.hh Log message: fix a rib test. Use policytag's method for obtaining the xrlatomlist rather than creating one manually (which can lead to errors). Revision Changes Path 1.19 +4 -2; commitid: 96964899911741a7; xorp/rib/parser_xrl_cmds.hh From abittau at icir.org Wed Aug 6 05:20:33 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 12:20:33 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/bgp Message-ID: <200808061220.m76CKXZb038793@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 12:20:33 UTC XORP CVS repository Modified files: bgp test_policy.cc Log message: get a bgp test to compile - hopefully it'll pass too. Revision Changes Path 1.12 +13 -6; commitid: 9772489996ff41a7; xorp/bgp/test_policy.cc From bms at incunabulum.net Wed Aug 6 07:10:11 2008 From: bms at incunabulum.net (Bruce M Simpson) Date: Wed, 06 Aug 2008 15:10:11 +0100 Subject: [Xorp-cvs] XORP cvs commit: xorp/policy/common In-Reply-To: <200808060811.m768BHql033901@chum.icir.org> References: <200808060811.m768BHql033901@chum.icir.org> Message-ID: <4899B0C3.7090205@incunabulum.net> Andrea Bittau wrote: > Log message: > Ever heard of the "static initialization order fiasco"? Well, on Mac OS X, > dispatcher.cc's static stuff would get initialized first. This would tweak > static variables in register_operations.cc. Then, register_operatoins.cc's > static variables would get initialized, getting rid of the previous tweaks. > I've noticed gcc 4.3 occasionally emits incorrect code for static initializers on FreeBSD. I ran into this when attempting to port VirtualBox earlier this week. It seems that it tries to insert a reference to a local symbol which is in fact defined but prefixed with $, which the linker then cannot resolve. It would be interesting to try with llvm-gcc, however its toolchain still requires manual build, there's no packaging for it yet. From abittau at icir.org Wed Aug 6 08:54:09 2008 From: abittau at icir.org (Andrea Bittau) Date: Wed, 6 Aug 2008 15:54:09 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/rib Message-ID: <200808061554.m76Fs9u3040217@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: abittau at chum.icir.org 2008-08-06 15:54:09 UTC XORP CVS repository Modified files: rib xrl_shell_funcs.sh Log message: fixup more tests. policytags always has at least one number in it - the route tag itself used in policies by the administrator (not the traditional policy tags, which come right after). Revision Changes Path 1.11 +17 -3; commitid: 9d024899c8f241a7; xorp/rib/xrl_shell_funcs.sh From atanu at icir.org Wed Aug 6 10:41:35 2008 From: atanu at icir.org (Atanu Ghosh) Date: Wed, 6 Aug 2008 17:41:35 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy Message-ID: <200808061741.m76HfZ8t041083@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: atanu at chum.icir.org 2008-08-06 17:41:35 UTC XORP CVS repository Modified files: policy visitor_test.cc Log message: Remove an unused variable spotted by "gcc version 2.95.4 20020320 [FreeBSD]". Revision Changes Path 1.4 +1 -2; commitid: a0624899e24e41a7; xorp/policy/visitor_test.cc From atanu at icir.org Wed Aug 6 10:42:55 2008 From: atanu at icir.org (Atanu Ghosh) Date: Wed, 6 Aug 2008 17:42:55 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/policy/common Message-ID: <200808061742.m76HgtKU041129@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: atanu at chum.icir.org 2008-08-06 17:42:55 UTC XORP CVS repository Modified files: policy/common element_base.cc Log message: Missing include file spotted by "gcc version 2.95.4 20020320 [FreeBSD]". Revision Changes Path 1.4 +2 -1; commitid: a0904899e29f41a7; xorp/policy/common/element_base.cc From atanu at icir.org Wed Aug 6 11:34:59 2008 From: atanu at icir.org (Atanu Ghosh) Date: Wed, 6 Aug 2008 18:34:59 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/rib Message-ID: <200808061834.m76IYxSX042100@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: atanu at chum.icir.org 2008-08-06 18:34:59 UTC XORP CVS repository Modified files: rib parser.cc Log message: Even if the string being parsed was empty an attempt was made to check the first character spotted by the -D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC flags. Revision Changes Path 1.20 +2 -2; commitid: a45a4899eed341a7; xorp/rib/parser.cc From pavlin at icir.org Wed Aug 6 17:30:50 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Thu, 7 Aug 2008 00:30:50 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/libxorp Message-ID: <200808070030.m770UoqM045901@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-07 00:30:50 UTC XORP CVS repository Modified files: libxorp test_timeval.cc timeval.hh Log message: * Added new method TimeVal::is_zero() to test whether time value is numerically zero. * Added the corresponding test for this new method. Revision Changes Path 1.14 +19 -1; commitid: b31c489a420741a7; xorp/libxorp/test_timeval.cc 1.36 +8 -1; commitid: b31c489a420741a7; xorp/libxorp/timeval.hh From pavlin at icir.org Wed Aug 6 17:42:43 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Thu, 7 Aug 2008 00:42:43 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp xorp/config Message-ID: <200808070042.m770ghbX046026@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-07 00:42:43 UTC XORP CVS repository Modified files: . configure config acfirewall.m4 Log message: Fix the checking for header file , because on FreeBSD-4.10 it requires and Revision Changes Path 1.4 +14 -2; commitid: b3a0489a44ac41a7; xorp/config/acfirewall.m4 1.292 +67 -2; commitid: b3a0489a44ac41a7; xorp/configure From pavlin at icir.org Wed Aug 6 18:09:40 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Thu, 7 Aug 2008 01:09:40 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp xorp/config Message-ID: <200808070109.m7719eXF046276@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-07 01:09:40 UTC XORP CVS repository Modified files: . configure config acfirewall.m4 Log message: Fixed the test whether the system has complete IPVW2 so now IPFV2 is not enabled on FreeBSD-4.10. The XORP IPFW2 implementation uses opcodes like O_IP4, which are not available on FreeBSD-4.10. Bug found by: Atanu Ghosh Revision Changes Path 1.5 +2 -1; commitid: b49a489a4aa341a7; xorp/config/acfirewall.m4 1.293 +1 -0; commitid: b49a489a4aa341a7; xorp/configure From pavlin at icir.org Wed Aug 6 18:22:51 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Thu, 7 Aug 2008 01:22:51 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/fea/data_plane/firewall Message-ID: <200808070122.m771Mpoe046406@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-07 01:22:51 UTC XORP CVS repository Modified files: fea/data_plane/firewall firewall_set_dummy.cc Log message: Removed unused variables. Bug found by gcc-2.95.4 on FreeBSD-4.10. Revision Changes Path 1.5 +1 -3; commitid: b522489a4e1941a7; xorp/fea/data_plane/firewall/firewall_set_dummy.cc From pavlin at icir.org Wed Aug 6 18:36:31 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Thu, 7 Aug 2008 01:36:31 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/fea Message-ID: <200808070136.m771aV08046543@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-07 01:36:31 UTC XORP CVS repository Modified files: fea firewall_entry.cc Log message: Compilation fix on FreeBSD-4.10 with gcc-2.95.4. Replaced "const string" with "string" in a static array of structures. Note that this is actually a work-around for a compiler issue, because the compiler should accept the original code. Revision Changes Path 1.3 +2 -2; commitid: b5a0489a510941a7; xorp/fea/firewall_entry.cc From pavlin at icir.org Wed Aug 6 18:38:29 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Thu, 7 Aug 2008 01:38:29 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/fea Message-ID: <200808070138.m771cTOx046604@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-07 01:38:29 UTC XORP CVS repository Modified files: fea firewall_manager.hh Log message: Method FirewallManager::delete_browse_state() is now public. This fixes a bug found with gcc-2.95.4 on FreeBSD-4.10. Revision Changes Path 1.6 +8 -8; commitid: b5ef489a51c741a7; xorp/fea/firewall_manager.hh From atanu at icir.org Fri Aug 8 08:49:08 2008 From: atanu at icir.org (Atanu Ghosh) Date: Fri, 8 Aug 2008 15:49:08 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/docs/user_manual Message-ID: <200808081549.m78Fn8CB062041@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: atanu at chum.icir.org 2008-08-08 15:49:08 UTC XORP CVS repository Modified files: docs/user_manual ospf.tex Log message: Add an explanation of the rfc1583-compatibility bool in the OSPFv2 configuration. This bool changes the preference rules when choosing among multiple AS-external-LSAs advertising the same destination. It does not revert the behaviour of the whole OSPF to RFC1583. Bug found by: Revision Changes Path 1.18 +4 -1; commitid: f240489c6af341a7; xorp/docs/user_manual/ospf.tex From pavlin at icir.org Fri Aug 8 10:51:51 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Fri, 8 Aug 2008 17:51:51 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/fea Message-ID: <200808081751.m78Hpp5Q062872@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-08 17:51:51 UTC XORP CVS repository Modified files: fea iftree.hh Log message: Fix kdoc comment/description so it matches the code. Revision Changes Path 1.68 +3 -3; commitid: f581489c87a341a7; xorp/fea/iftree.hh From pavlin at icir.org Mon Aug 11 10:49:24 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Mon, 11 Aug 2008 17:49:24 GMT Subject: [Xorp-cvs] XORP cvs commit: www www/html_src Message-ID: <200808111749.m7BHnOPO093488@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: www Changes by: pavlin at chum.icir.org 2008-08-11 17:49:24 UTC XORP CVS repository Modified files: . news.html html_src news.html Log message: Added a news item for August 1, 2008: IT Administrator magazine publishes an article about XORP (in German). Revision Changes Path 1.35 +12 -0; commitid: 16d0648a07b6541a7; www/html_src/news.html 1.70 +12 -0; commitid: 16d0648a07b6541a7; www/news.html From pavlin at icir.org Tue Aug 12 02:03:04 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Tue, 12 Aug 2008 09:03:04 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/config xorp Message-ID: <200808120903.m7C934CC008875@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-12 09:03:04 UTC XORP CVS repository Modified files: config acipmrt.m4 . configure Log message: Fix the tests whether the system has and . Now the tests work properly for Linux kernel 2.6.26 which is the first one that supports IPv6 multicast routing. Revision Changes Path 1.12 +11 -5; commitid: 224148a1517a41a7; xorp/config/acipmrt.m4 1.294 +6 -0; commitid: 224148a1517a41a7; xorp/configure From pavlin at icir.org Tue Aug 12 02:28:31 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Tue, 12 Aug 2008 09:28:31 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/mrt/include Message-ID: <200808120928.m7C9SVSe010404@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-12 09:28:31 UTC XORP CVS repository Modified files: mrt/include ip_mroute.h Log message: Added a hack to exclude header file that is included by on Linux kernel 2.6.26 (the first Linux kernel that supports IPv6 multiast routing). Note that the problem is in the Linux header files: should not include , because doesn't contain any information that is needed by . On the other hand, the "struct pim" declaration in is different from the same declaration in the corresponding local copy of pim.h hence the reason to avoid the inclusion of . This fixes Bugzilla entry #767 Bugzilla URL: http://bugzilla.xorp.org/bugzilla/show_bug.cgi?id=767 Revision Changes Path 1.20 +13 -3; commitid: 264648a1555e41a7; xorp/mrt/include/ip_mroute.h From bms at icir.org Tue Aug 12 04:57:38 2008 From: bms at icir.org (Bruce Simpson) Date: Tue, 12 Aug 2008 11:57:38 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/mibs Message-ID: <200808121157.m7CBvcr2019417@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: bms at chum.icir.org 2008-08-12 11:57:38 UTC XORP CVS repository Modified files: mibs xorp_if_mib_xrl_target.cc Log message: Fix a typo. Bugzilla URL: http://bugzilla.xorp.org/bugzilla/show_bug.cgi?id=766 Bug found by: Javier Fernandez-Sanguino Revision Changes Path 1.12 +2 -2; commitid: 4bb648a17aa341a7; xorp/mibs/xorp_if_mib_xrl_target.cc From bms at icir.org Tue Aug 12 05:24:17 2008 From: bms at icir.org (Bruce Simpson) Date: Tue, 12 Aug 2008 12:24:17 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/mibs xorp/mibs/snmpdscripts xorp/mibs/tests Message-ID: <200808121224.m7CCOHuG021064@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: bms at chum.icir.org 2008-08-12 12:24:17 UTC XORP CVS repository Modified files: mibs Makefile.in configure configure.in mibs/snmpdscripts Makefile.in mibs/tests Makefile.in Log message: Add --agent-libs to link line for XORP net-snmp modules. Regen. Bugzilla URL: http://bugzilla.xorp.org/bugzilla/show_bug.cgi?id=765 Submitted by: Fernandez-Sanguino Revision Changes Path 1.53 +0 -1; commitid: 51e748a180ca41a7; xorp/mibs/Makefile.in 1.69 +3935 -3079; commitid: 51e748a180ca41a7; xorp/mibs/configure 1.33 +6 -2; commitid: 51e748a180ca41a7; xorp/mibs/configure.in 1.17 +0 -1; commitid: 51e748a180ca41a7; xorp/mibs/snmpdscripts/Makefile.in 1.17 +0 -1; commitid: 51e748a180ca41a7; xorp/mibs/tests/Makefile.in From pavlin at icir.org Tue Aug 12 10:12:50 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Tue, 12 Aug 2008 17:12:50 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/fea Message-ID: <200808121712.m7CHCofY026880@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-12 17:12:50 UTC XORP CVS repository Modified files: fea mfea_mrouter.cc mfea_mrouter.hh Log message: Removed leftover code that deals with buffer allocation for sending/receiving packets. This code was used when the MFEA was doing its own packet send/receive (i.e., before that code was merged with the FEA). Revision Changes Path 1.64 +1 -62; commitid: 68e748a1c43b41a7; xorp/fea/mfea_mrouter.cc 1.25 +1 -21; commitid: 68e748a1c43b41a7; xorp/fea/mfea_mrouter.hh From pavlin at icir.org Tue Aug 12 11:43:28 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Tue, 12 Aug 2008 18:43:28 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/fea/data_plane/io Message-ID: <200808121843.m7CIhSeh027498@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-12 18:43:28 UTC XORP CVS repository Modified files: fea/data_plane/io io_ip_socket.cc Log message: Added a comment to clarify the setting of _sndmh.msg_control and _sndmh.msg_controllen . Revision Changes Path 1.23 +2 -1; commitid: 6b5348a1d9a241a7; xorp/fea/data_plane/io/io_ip_socket.cc From pavlin at icir.org Tue Aug 12 14:34:22 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Tue, 12 Aug 2008 21:34:22 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/fea Message-ID: <200808122134.m7CLYMEG028651@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-12 21:34:22 UTC XORP CVS repository Modified files: fea mfea_mrouter.cc Log message: Bug fix in the processing of MfeaMrouter::delete_multicast_vif() for IPv6 on Linux. Revision Changes Path 1.65 +1 -19; commitid: 6f9548a1ff2f41a7; xorp/fea/mfea_mrouter.cc From pavlin at icir.org Tue Aug 12 15:06:39 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Tue, 12 Aug 2008 22:06:39 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/contrib/mld6igmp_lite xorp/mld6igmp Message-ID: <200808122206.m7CM6dba028925@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-12 22:06:39 UTC XORP CVS repository Modified files: contrib/mld6igmp_lite mld6igmp_vif.cc mld6igmp mld6igmp_vif.cc Log message: Bug fix when checking the source address of IGMP packets that are allowed to have IPv4 source address of 0.0.0.0. Bug found by: Tushar Mehta Revision Changes Path 1.5 +4 -3; commitid: 70d348a2093141a7; xorp/contrib/mld6igmp_lite/mld6igmp_vif.cc 1.90 +4 -3; commitid: 70d348a2093141a7; xorp/mld6igmp/mld6igmp_vif.cc From pavlin at icir.org Tue Aug 12 15:11:11 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Tue, 12 Aug 2008 22:11:11 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp Message-ID: <200808122211.m7CMBBQF028999@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-12 22:11:11 UTC XORP CVS repository Modified files: . RELEASE_NOTES Log message: Added release notes: * XORP now builds on Linux with kernel 2.6.26, the first Linux kernel to support IPv6 multicast routing. * Bug fix in IGMP/MLD. Revision Changes Path 1.212 +7 -3; commitid: 712348a20a4541a7; xorp/RELEASE_NOTES From pavlin at icir.org Tue Aug 12 15:14:07 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Tue, 12 Aug 2008 22:14:07 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp Message-ID: <200808122214.m7CME7wb029056@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-12 22:14:07 UTC XORP CVS repository Modified files: . BUILD_NOTES RELEASE_NOTES Log message: XORP now builds on Linux Debian-5.0 (lenny, unreleased). Revision Changes Path 1.106 +13 -1; commitid: 716748a20b1d41a7; xorp/BUILD_NOTES 1.213 +3 -2; commitid: 716748a20b1d41a7; xorp/RELEASE_NOTES From atanu at icir.org Mon Aug 18 14:18:38 2008 From: atanu at icir.org (Atanu Ghosh) Date: Mon, 18 Aug 2008 21:18:38 GMT Subject: [Xorp-cvs] XORP cvs commit: www www/html_src Message-ID: <200808182118.m7ILIc9d094033@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: www Changes by: atanu at chum.icir.org 2008-08-18 21:18:38 UTC XORP CVS repository Modified files: . mirrors.html html_src mirrors.html Log message: Add a mirror www21.xorp.org, adMERITia GmbH Hetzner Datacenter, Nuernberg. Revision Changes Path 1.40 +7 -0; commitid: 16f2548a9e72c41a7; www/html_src/mirrors.html 1.54 +7 -0; commitid: 16f2548a9e72c41a7; www/mirrors.html From pavlin at icir.org Tue Aug 19 14:12:05 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Tue, 19 Aug 2008 21:12:05 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/fea/data_plane/fibconfig Message-ID: <200808192112.m7JLC5DX003613@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-19 21:12:05 UTC XORP CVS repository Modified files: fea/data_plane/fibconfig fibconfig_entry_set_netlink_socket.cc Log message: Compilation bug fix for OpenSuSe 10.2 x86-64. Bug found by: Matt Stevens Revision Changes Path 1.20 +2 -2; commitid: e0648ab36f841a7; xorp/fea/data_plane/fibconfig/fibconfig_entry_set_netlink_socket.cc From atanu at icir.org Tue Aug 19 18:34:04 2008 From: atanu at icir.org (Atanu Ghosh) Date: Wed, 20 Aug 2008 01:34:04 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/ospf Message-ID: <200808200134.m7K1Y4Rb005453@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: atanu at chum.icir.org 2008-08-20 01:34:04 UTC XORP CVS repository Modified files: ospf routing_table.cc test_routing1.py Log message: If two or more routers AS boundary or area border routers had the same link-local address then only one router would be installed in the routing table. If the router that did not get its routes installed was an AS boundary router then all AS-External-LSAs that it introduced would not be installed in the routing table. When adding a router entry for OSPFv3 only install it to be indexed by router ID, don't install it by network as there is no unique address. For OSPFv2 the {router ID}/32 has to be unique. Bugzilla URL: http://bugzilla.xorp.org/bugzilla/show_bug.cgi?id=770 Bug found by: Revision Changes Path 1.69 +21 -11; commitid: 153248ab748b41a7; xorp/ospf/routing_table.cc 1.30 +104 -1; commitid: 153248ab748b41a7; xorp/ospf/test_routing1.py From pavlin at icir.org Wed Aug 20 19:57:13 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Thu, 21 Aug 2008 02:57:13 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp xorp/config Message-ID: <200808210257.m7L2vDsx025070@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-21 02:57:13 UTC XORP CVS repository Modified files: . configure config acipmrt.m4 Log message: Bug fix when checking whether the system has The Linux multicast-related header files have various issues, so we always need to use some hacks and work-arounds to get them working. In this case we need to use a hack to exclude that might be included by , because will conflict with that was included earlier. Revision Changes Path 1.13 +16 -8; commitid: 619348acd86d41a7; xorp/config/acipmrt.m4 1.295 +13 -5; commitid: 619348acd86d41a7; xorp/configure From pavlin at icir.org Wed Aug 20 20:03:31 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Thu, 21 Aug 2008 03:03:31 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/mibs xorp/mibs/snmpdscripts xorp/mibs/tests Message-ID: <200808210303.m7L33VYD025214@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-21 03:03:31 UTC XORP CVS repository Modified files: mibs Makefile.in configure mibs/snmpdscripts Makefile.in mibs/tests Makefile.in Log message: Regenerate on FreeBSD-7.0 with the default development autotools. Revision Changes Path 1.54 +1 -0; commitid: 623c48acdaea41a7; xorp/mibs/Makefile.in 1.70 +4613 -5465; commitid: 623c48acdaea41a7; xorp/mibs/configure 1.18 +1 -0; commitid: 623c48acdaea41a7; xorp/mibs/snmpdscripts/Makefile.in 1.18 +1 -0; commitid: 623c48acdaea41a7; xorp/mibs/tests/Makefile.in From atanu at icir.org Wed Aug 20 20:16:58 2008 From: atanu at icir.org (Atanu Ghosh) Date: Thu, 21 Aug 2008 03:16:58 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/ospf Message-ID: <200808210316.m7L3Gwic025404@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: atanu at chum.icir.org 2008-08-21 03:16:58 UTC XORP CVS repository Modified files: ospf routing_table.hh Log message: When printing a routing entry add some newlines to make it easier to read. Revision Changes Path 1.47 +11 -11; commitid: 632348acde2a41a7; xorp/ospf/routing_table.hh From atanu at icir.org Wed Aug 20 20:18:17 2008 From: atanu at icir.org (Atanu Ghosh) Date: Thu, 21 Aug 2008 03:18:17 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/ospf Message-ID: <200808210318.m7L3IHiq025457@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: atanu at chum.icir.org 2008-08-21 03:18:17 UTC XORP CVS repository Modified files: ospf area_router.cc Log message: Add some debugging when a routing table entry is added. Revision Changes Path 1.298 +3 -1; commitid: 635848acde7841a7; xorp/ospf/area_router.cc From atanu at icir.org Wed Aug 20 20:33:59 2008 From: atanu at icir.org (Atanu Ghosh) Date: Thu, 21 Aug 2008 03:33:59 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/ospf Message-ID: <200808210333.m7L3XxhL025682@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: atanu at chum.icir.org 2008-08-21 03:33:59 UTC XORP CVS repository Modified files: ospf test_routing1.py Log message: Simplify test r14V3, the link local addresses don't need to match for the problem to trigger. Revision Changes Path 1.31 +2 -3; commitid: 643948ace22741a7; xorp/ospf/test_routing1.py From atanu at icir.org Fri Aug 22 08:56:11 2008 From: atanu at icir.org (Atanu Ghosh) Date: Fri, 22 Aug 2008 15:56:11 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/bgp Message-ID: <200808221556.m7MFuBdY040191@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: atanu at chum.icir.org 2008-08-22 15:56:11 UTC XORP CVS repository Modified files: bgp peer.hh Log message: Radim Kolar reports that BGP crashes after a peering is taken down. A backtrace was provided: #6 0x08278859 in xlog_fatal (module_name=0x6
, where=0x0, fmt=0x0) at xlog.c:435 #7 0x08135a20 in SocketClient::connect (this=0x84f3000, cb= {_M_ptr = 0x8502120, _M_index = 318}) at socket.cc:190 #8 0x08093345 in BGPPeer::connect_to_peer (this=0x838bc00, cb=Cannot access mem ory at address 0x0 ) at peer.hh:258 #9 0x0808a1a0 in BGPPeer::event_start (this=0x838bc00) at peer.cc:576 #10 0x0808b2dc in BGPPeer::event_idle_hold_exp (this=0x838bc00) at peer.cc:952 #11 0x080975b9 in XorpMemberCallback0B0::dispatch ( this=0x8502080) at callback_nodebug.hh:305 #12 0x0829590e in OneoffTimerNode2::expire (this=0x83ab300) at timer.cc:184 #13 0x08293c93 in TimerList::expire_one (this=0x8354004, worst_priority=4) at timer.cc:477 #14 0x082939f6 in TimerList::run (this=0x8354004) at timer.cc:424 #15 0x0827e01f in EventLoop::run (this=0x8354000) at eventloop.cc:112 #16 0x0805069c in BGPMain::main_loop (this=0xbfbfea90) at bgp.cc:793 #17 0x0805de45 in main (argv=0xbfbfec48) at main.cc:86 From the stack it looks as if the idle hold timer fired and tried to make a new connection, and it looks like the _SocketClient was probably zero, hence the crash. If a peering is taken down then the idle hold timer should be cancelled. It would be good to reproduce the problem locally before applying a fix, so just add an ASSERT to check that _SocketClient is valid. Bugzilla URL: http://bugzilla.xorp.org/bugzilla/show_bug.cgi?id=729 Bug found by: Radim Kolar Revision Changes Path 1.51 +2 -1; commitid: 9ce648aee19b41a7; xorp/bgp/peer.hh From pavlin at icir.org Fri Aug 22 11:08:28 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Fri, 22 Aug 2008 18:08:28 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp Message-ID: <200808221808.m7MI8S9L041184@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-22 18:08:28 UTC XORP CVS repository Modified files: . BUILD_NOTES RELEASE_NOTES Log message: XORP now builds on Linux openSUSE-11.0. Revision Changes Path 1.107 +13 -1; commitid: a0c748af008b41a7; xorp/BUILD_NOTES 1.214 +3 -3; commitid: a0c748af008b41a7; xorp/RELEASE_NOTES From pavlin at icir.org Sat Aug 23 21:52:23 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Sun, 24 Aug 2008 04:52:23 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp Message-ID: <200808240452.m7O4qNoo062823@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-24 04:52:23 UTC XORP CVS repository Modified files: . BUILD_NOTES Log message: Removed a reference to XORP Bugzilla entry #771, because it is resolved. Revision Changes Path 1.108 +2 -3; commitid: f55048b0e8f041a7; xorp/BUILD_NOTES From pavlin at icir.org Mon Aug 25 14:51:38 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Mon, 25 Aug 2008 21:51:38 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/libxorp Message-ID: <200808252151.m7PLpcsK080317@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-25 21:51:38 UTC XORP CVS repository Modified files: libxorp timeval.hh Log message: Added static const field TimeVal::ONE_THOUSAND that can be used for translating time in milliseconds to TimeVal. Revision Changes Path 1.37 +2 -1; commitid: 139a648b3291441a7; xorp/libxorp/timeval.hh From pavlin at icir.org Thu Aug 28 11:51:30 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Thu, 28 Aug 2008 18:51:30 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp/rtrmgr Message-ID: <200808281851.m7SIpULj009888@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-28 18:51:30 UTC XORP CVS repository Modified files: rtrmgr cli.cc Log message: Set the global names for top-level CLI commands. Now the xorpsh CLI prints the appropriate error messages: ERROR: "commit" does not take any additional parameters. instead of: ERROR: "" does not take any additional parameters. Note that we have to do it explicitly for every (top-level only?) CLI command, which is not the right solution. This setting should be done in a generic way inside the CLI library (e.g., the CliCommand::add_command() methods inside file cli/cli_command.cc). Bug found by: Xiaoshuai Yang Revision Changes Path 1.141 +9 -1; commitid: 265748b6f21241a7; xorp/rtrmgr/cli.cc From pavlin at icir.org Thu Aug 28 11:56:20 2008 From: pavlin at icir.org (Pavlin Radoslavov) Date: Thu, 28 Aug 2008 18:56:20 GMT Subject: [Xorp-cvs] XORP cvs commit: xorp Message-ID: <200808281856.m7SIuKma009962@chum.icir.org> CVSROOT: /usr/local/www/data/cvs Module name: xorp Changes by: pavlin at chum.icir.org 2008-08-28 18:56:20 UTC XORP CVS repository Modified files: . RELEASE_NOTES Log message: Added a xorpsh release note. Revision Changes Path 1.215 +3 -2; commitid: 26d348b6f4cd41a7; xorp/RELEASE_NOTES