diff --git a/build_num b/build_num
index 7c1e63c68..3b11ad6a9 100644
--- a/build_num
+++ b/build_num
@@ -1 +1 @@
-#define BUILD_NUM 2782
+#define BUILD_NUM 2783
diff --git a/src/cisco_lib/PolicyCompiler_iosacl.cpp b/src/cisco_lib/PolicyCompiler_iosacl.cpp
index 5437940d4..1c180fbab 100644
--- a/src/cisco_lib/PolicyCompiler_iosacl.cpp
+++ b/src/cisco_lib/PolicyCompiler_iosacl.cpp
@@ -375,6 +375,10 @@ void PolicyCompiler_iosacl::compile()
add( new processMultiAddressObjectsInDst(
"process MultiAddress objects in Dst") );
+ add( new expandGroupsInItf("expand groups in Interface" ));
+ add( new replaceClusterInterfaceInItf(
+ "replace cluster interfaces with member interfaces in the Interface rule element"));
+
add( new ItfNegation( "process negation in Itf" ) );
add( new InterfacePolicyRules(
"process interface policy rules and store interface ids") );
diff --git a/src/cisco_lib/PolicyCompiler_pix.cpp b/src/cisco_lib/PolicyCompiler_pix.cpp
index bf88626e7..03603421b 100644
--- a/src/cisco_lib/PolicyCompiler_pix.cpp
+++ b/src/cisco_lib/PolicyCompiler_pix.cpp
@@ -658,6 +658,9 @@ void PolicyCompiler_pix::compile()
add( new processMultiAddressObjectsInDst(
"process MultiAddress objects in Dst"));
+ add( new expandGroupsInItf("expand groups in Interface" ));
+ add( new replaceClusterInterfaceInItf(
+ "replace cluster interfaces with member interfaces in the Interface rule element"));
add( new ItfNegation( "process negation in Itf" ));
add( new InterfacePolicyRules(
"process interface policy rules and store interface ids"));
diff --git a/test/iosacl/cluster-tests.fwb b/test/iosacl/cluster-tests.fwb
index 3f3d6caad..7c7d107af 100644
--- a/test/iosacl/cluster-tests.fwb
+++ b/test/iosacl/cluster-tests.fwb
@@ -1,6 +1,418 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ established
+
+ established
+ -m state --state ESTABLISHED,RELATED
+
+
+
+ established
+
+ established
+ -m state --state ESTABLISHED,RELATED
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -m record_rpc
+
+
+
+
+
+
+
+
+
+ -m irc
+
+
+
+
+
+
+
+
+
+ -m psd --psd-weight-threshold 5 --psd-delay-threshold 10000
+
+
+
+
+
+
+
+
+
+ -m string --string test_pattern
+
+
+
+
+
+
+
+
+
+ -m talk
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -8,7 +420,7 @@
-
+
@@ -20,46 +432,46 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -68,24 +480,24 @@
-
+
-
+
-
+
-
+
@@ -218,9 +630,8 @@
-
-
-
+
+
@@ -241,7 +652,8 @@
-
+
+
@@ -260,7 +672,8 @@
-
+
+
@@ -279,7 +692,8 @@
-
+
+
@@ -298,7 +712,8 @@
-
+
+
@@ -317,11 +732,13 @@
-
-
-
-
-
+
+
+
+
+
+
+
@@ -338,7 +755,7 @@
-
+
@@ -359,25 +776,26 @@
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
@@ -388,18 +806,18 @@
-
-
-
+
+
+
-
-
+
+
-
+
@@ -408,11 +826,11 @@
-
+
-
+
@@ -432,7 +850,7 @@
-
+
@@ -472,25 +890,26 @@
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -501,18 +920,18 @@
-
-
-
+
+
+
-
-
+
+
-
+
@@ -521,11 +940,11 @@
-
+
-
+
@@ -545,7 +964,7 @@
-
+
@@ -585,21 +1004,22 @@
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
@@ -611,7 +1031,7 @@
-
+
@@ -623,7 +1043,7 @@
-
+
@@ -646,39 +1066,40 @@
-
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
@@ -693,28 +1114,28 @@
-
-
-
-
+
+
+
+
-
-
+
+
-
+
-
+
@@ -729,11 +1150,11 @@
-
+
-
+
@@ -751,13 +1172,13 @@
-
-
+
+
-
+
@@ -768,52 +1189,53 @@
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -828,28 +1250,28 @@
-
-
-
-
+
+
+
+
-
-
+
+
-
+
-
+
@@ -864,11 +1286,11 @@
-
+
-
+
@@ -886,13 +1308,13 @@
-
-
+
+
-
+
@@ -903,9 +1325,9 @@
-
-
-
+
+
+
@@ -926,17 +1348,19 @@
-
-
-
-
-
+
+
+
+
+
+
+
-
+
@@ -948,12 +1372,12 @@
-
+
-
+
@@ -964,7 +1388,7 @@
-
+
@@ -975,33 +1399,33 @@
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
@@ -1014,16 +1438,16 @@
-
-
-
-
+
+
+
+
-
-
+
+
@@ -1031,14 +1455,14 @@
-
+
-
+
@@ -1053,11 +1477,11 @@
-
+
-
+
@@ -1075,13 +1499,13 @@
-
-
+
+
-
+
@@ -1092,15 +1516,16 @@
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
@@ -1108,7 +1533,7 @@
-
+
@@ -1142,9 +1567,8 @@
-
-
-
+
+
@@ -1165,7 +1589,8 @@
-
+
+
@@ -1183,7 +1608,8 @@
-
+
+
@@ -1200,7 +1626,8 @@
-
+
+
@@ -1217,7 +1644,8 @@
-
+
+
@@ -1234,7 +1662,8 @@
-
+
+
@@ -1251,7 +1680,8 @@
-
+
+
@@ -1268,12 +1698,12 @@
-
+
-
+
-
+
@@ -1284,38 +1714,39 @@
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
+
@@ -1344,19 +1775,20 @@
-
+
-
+
-
+
-
-
+
+
-
+
+
@@ -1373,7 +1805,8 @@
-
+
+
@@ -1390,7 +1823,8 @@
-
+
+
@@ -1409,9 +1843,12 @@
-
+
+
+
-
+
+
@@ -1425,10 +1862,9 @@
-
-
-
-
+
+
+
@@ -1446,7 +1882,7 @@
-
+
@@ -1461,7 +1897,7 @@
-
+
@@ -1495,9 +1931,8 @@
-
-
-
+
+
@@ -1518,7 +1953,8 @@
-
+
+
@@ -1536,7 +1972,8 @@
-
+
+
@@ -1553,7 +1990,8 @@
-
+
+
@@ -1570,7 +2008,8 @@
-
+
+
@@ -1587,7 +2026,8 @@
-
+
+
@@ -1604,7 +2044,8 @@
-
+
+
@@ -1633,19 +2074,20 @@
-
+
-
+
-
+
-
-
+
+
-
+
+
@@ -1674,19 +2116,20 @@
-
+
-
+
-
+
-
-
+
+
-
+
+
@@ -1703,7 +2146,8 @@
-
+
+
@@ -1720,7 +2164,8 @@
-
+
+
@@ -1739,7 +2184,9 @@
-
+
+
+
@@ -1765,10 +2212,9 @@
-
-
-
-
+
+
+
@@ -1788,7 +2234,7 @@
-
+
@@ -1835,9 +2281,8 @@
-
-
-
+
+
@@ -1858,7 +2303,8 @@
-
+
+
@@ -1876,7 +2322,8 @@
-
+
+
@@ -1893,7 +2340,8 @@
-
+
+
@@ -1910,7 +2358,8 @@
-
+
+
@@ -1927,7 +2376,8 @@
-
+
+
@@ -1944,7 +2394,8 @@
-
+
+
@@ -1973,19 +2424,20 @@
-
+
-
+
-
+
-
-
+
+
-
+
+
@@ -2002,7 +2454,8 @@
-
+
+
@@ -2019,7 +2472,8 @@
-
+
+
@@ -2038,7 +2492,9 @@
-
+
+
+
@@ -2064,10 +2520,9 @@
-
-
-
-
+
+
+
@@ -2082,7 +2537,7 @@
-
+
@@ -2123,9 +2578,8 @@
-
-
-
+
+
@@ -2146,7 +2600,8 @@
-
+
+
@@ -2164,7 +2619,8 @@
-
+
+
@@ -2181,7 +2637,8 @@
-
+
+
@@ -2198,7 +2655,8 @@
-
+
+
@@ -2215,7 +2673,8 @@
-
+
+
@@ -2232,7 +2691,8 @@
-
+
+
@@ -2261,19 +2721,20 @@
-
+
-
+
-
+
-
-
+
+
-
+
+
@@ -2290,7 +2751,8 @@
-
+
+
@@ -2307,7 +2769,8 @@
-
+
+
@@ -2326,11 +2789,13 @@
-
-
-
-
-
+
+
+
+
+
+
+
@@ -2344,7 +2809,7 @@
-
+
@@ -2358,7 +2823,7 @@
-
+
@@ -2372,21 +2837,22 @@
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -2397,7 +2863,7 @@
-
+
@@ -2409,7 +2875,7 @@
-
+
@@ -2419,11 +2885,11 @@
-
+
-
+
@@ -2435,16 +2901,16 @@
-
-
-
-
+
+
+
+
-
-
+
+
@@ -2452,14 +2918,14 @@
-
+
-
+
@@ -2474,11 +2940,11 @@
-
+
-
+
@@ -2496,13 +2962,13 @@
-
-
+
+
-
+
@@ -2512,7 +2978,7 @@
-
+
@@ -2520,7 +2986,7 @@
-
+
@@ -2543,11 +3009,10 @@
-
+
-
-
+
@@ -2565,7 +3030,8 @@
-
+
+
@@ -2582,7 +3048,8 @@
-
+
+
@@ -2599,7 +3066,8 @@
-
+
+
@@ -2616,7 +3084,8 @@
-
+
+
@@ -2633,7 +3102,8 @@
-
+
+
@@ -2650,7 +3120,8 @@
-
+
+
@@ -2667,35 +3138,37 @@
-
-
+
+
+
+
+
-
-
+
-
+
-
+
-
+
-
+
@@ -2703,7 +3176,7 @@
-
+
@@ -2739,13 +3212,14 @@
-
+
+
-
-
+
+
-
+
@@ -2774,28 +3248,30 @@
-
+
-
+
-
-
+
+
-
-
+
+
+
+
+
-
-
+
-
+
@@ -2807,7 +3283,7 @@
-
+
@@ -2822,16 +3298,16 @@
-
-
-
-
+
+
+
+
-
-
+
+
@@ -2839,7 +3315,7 @@
-
+
@@ -2855,9 +3331,9 @@
-
+
-
+
@@ -2873,11 +3349,11 @@
-
+
-
+
@@ -2897,10 +3373,10 @@
-
+
-
+
@@ -2910,7 +3386,7 @@
-
+
@@ -2922,13 +3398,14 @@
-
+
+
-
-
+
+
-
+
@@ -2957,31 +3434,33 @@
-
+
-
+
-
-
+
+
-
-
+
+
+
+
+
-
-
+
-
+
-
+
@@ -2993,21 +3472,21 @@
-
-
-
-
+
+
+
+
-
-
+
+
-
+
@@ -3016,9 +3495,9 @@
-
+
-
+
@@ -3033,11 +3512,11 @@
-
+
-
+
@@ -3055,13 +3534,13 @@
-
-
+
+
-
+
@@ -3074,30 +3553,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/test/iosacl/objects-for-regression-tests.fwb b/test/iosacl/objects-for-regression-tests.fwb
index 6ebba46d4..4ac1dfe5a 100644
--- a/test/iosacl/objects-for-regression-tests.fwb
+++ b/test/iosacl/objects-for-regression-tests.fwb
@@ -1,6 +1,6 @@
-
+
@@ -478,6 +478,10 @@
+
+
+
+
@@ -599,7 +603,7 @@
-
+
@@ -687,7 +691,28 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -708,7 +733,7 @@
-
+
@@ -729,7 +754,7 @@
-
+
@@ -750,7 +775,7 @@
-
+
@@ -771,7 +796,7 @@
-
+
@@ -792,7 +817,7 @@
-
+
@@ -813,7 +838,7 @@
-
+
@@ -834,7 +859,7 @@
-
+
@@ -855,7 +880,7 @@
-
+
@@ -876,7 +901,7 @@
-
+
@@ -897,7 +922,7 @@
-
+
@@ -918,7 +943,7 @@
-
+
@@ -939,7 +964,7 @@
-
+
@@ -960,7 +985,7 @@
-
+
@@ -981,7 +1006,7 @@
-
+
@@ -1002,7 +1027,7 @@
-
+
@@ -1023,7 +1048,7 @@
-
+
@@ -1044,7 +1069,7 @@
-
+
diff --git a/test/pix/cluster-tests.fwb b/test/pix/cluster-tests.fwb
index f991bf8a6..30bc8e35b 100644
--- a/test/pix/cluster-tests.fwb
+++ b/test/pix/cluster-tests.fwb
@@ -1,6 +1,418 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ established
+
+ established
+ -m state --state ESTABLISHED,RELATED
+
+
+
+ established
+
+ established
+ -m state --state ESTABLISHED,RELATED
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -m record_rpc
+
+
+
+
+
+
+
+
+
+ -m irc
+
+
+
+
+
+
+
+
+
+ -m psd --psd-weight-threshold 5 --psd-delay-threshold 10000
+
+
+
+
+
+
+
+
+
+ -m string --string test_pattern
+
+
+
+
+
+
+
+
+
+ -m talk
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -282,7 +694,7 @@
-
+
@@ -401,7 +813,93 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -419,7 +917,7 @@
-
+
@@ -437,7 +935,7 @@
-
+
@@ -698,7 +1196,7 @@
-
+
@@ -882,6 +1380,8 @@
+
+
@@ -894,6 +1394,8 @@
+
+
@@ -937,6 +1439,10 @@
+
+
+
+
@@ -1732,24 +2238,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-