@@ -187,29 +187,49 @@ BOOST_FIXTURE_TEST_CASE(learningBridge, AccessFlowManagerFixture) {
187
187
BOOST_FIXTURE_TEST_CASE (secGrp, AccessFlowManagerFixture) {
188
188
createObjects ();
189
189
createPolicyObjects ();
190
+ shared_ptr<modelgbp::gbp::Subnets> rs;
190
191
{
191
192
Mutator mutator (framework, " policyreg" );
193
+ rs = space->addGbpSubnets (" subnets_rule0" );
194
+
195
+ rs->addGbpSubnet (" subnets_rule0_1" )
196
+ ->setAddress (" 0.0.0.0" )
197
+ .setPrefixLen (0 );
198
+ rs->addGbpSubnet (" subnets_rule0_2" )
199
+ ->setAddress (" 0::" )
200
+ .setPrefixLen (0 );
201
+
202
+ shared_ptr<modelgbp::gbp::SecGroupRule> r1, r2, r3, r4, r5;
192
203
secGrp1 = space->addGbpSecGroup (" secgrp1" );
193
- secGrp1->addGbpSecGroupSubject (" 1_subject1" )
194
- ->addGbpSecGroupRule (" 1_1_rule1" )
195
- ->setDirection (DirectionEnumT::CONST_IN).setOrder (100 )
204
+
205
+ r1 = secGrp1->addGbpSecGroupSubject (" 1_subject1" )
206
+ ->addGbpSecGroupRule (" 1_1_rule1" );
207
+ r1->setDirection (DirectionEnumT::CONST_IN).setOrder (100 )
196
208
.addGbpRuleToClassifierRSrc (classifier1->getURI ().toString ());
197
- secGrp1->addGbpSecGroupSubject (" 1_subject1" )
198
- ->addGbpSecGroupRule (" 1_1_rule2" )
199
- ->setDirection (DirectionEnumT::CONST_IN).setOrder (150 )
209
+ r1->addGbpSecGroupRuleToRemoteAddressRSrc (rs->getURI ().toString ());
210
+
211
+ r2 = secGrp1->addGbpSecGroupSubject (" 1_subject1" )
212
+ ->addGbpSecGroupRule (" 1_1_rule2" );
213
+ r2->setDirection (DirectionEnumT::CONST_IN).setOrder (150 )
200
214
.addGbpRuleToClassifierRSrc (classifier8->getURI ().toString ());
201
- secGrp1->addGbpSecGroupSubject (" 1_subject1" )
202
- ->addGbpSecGroupRule (" 1_1_rule3" )
203
- ->setDirection (DirectionEnumT::CONST_OUT).setOrder (200 )
215
+ r2->addGbpSecGroupRuleToRemoteAddressRSrc (rs->getURI ().toString ());
216
+
217
+ r3 = secGrp1->addGbpSecGroupSubject (" 1_subject1" )
218
+ ->addGbpSecGroupRule (" 1_1_rule3" );
219
+ r3->setDirection (DirectionEnumT::CONST_OUT).setOrder (200 )
204
220
.addGbpRuleToClassifierRSrc (classifier2->getURI ().toString ());
205
- secGrp1->addGbpSecGroupSubject (" 1_subject1" )
206
- ->addGbpSecGroupRule (" 1_1_rule4" )
207
- ->setDirection (DirectionEnumT::CONST_IN).setOrder (300 )
221
+
222
+ r4 = secGrp1->addGbpSecGroupSubject (" 1_subject1" )
223
+ ->addGbpSecGroupRule (" 1_1_rule4" );
224
+ r4->setDirection (DirectionEnumT::CONST_IN).setOrder (300 )
208
225
.addGbpRuleToClassifierRSrc (classifier6->getURI ().toString ());
209
- secGrp1->addGbpSecGroupSubject (" 1_subject1" )
210
- ->addGbpSecGroupRule (" 1_1_rule5" )
211
- ->setDirection (DirectionEnumT::CONST_IN).setOrder (400 )
226
+ r4->addGbpSecGroupRuleToRemoteAddressRSrc (rs->getURI ().toString ());
227
+
228
+ r5 = secGrp1->addGbpSecGroupSubject (" 1_subject1" )
229
+ ->addGbpSecGroupRule (" 1_1_rule5" );
230
+ r5->setDirection (DirectionEnumT::CONST_IN).setOrder (400 )
212
231
.addGbpRuleToClassifierRSrc (classifier7->getURI ().toString ());
232
+ r5->addGbpSecGroupRuleToRemoteAddressRSrc (rs->getURI ().toString ());
213
233
mutator.commit ();
214
234
}
215
235
@@ -238,19 +258,25 @@ BOOST_FIXTURE_TEST_CASE(secGrp, AccessFlowManagerFixture) {
238
258
WAIT_FOR_TABLES (" two-secgrp-nocon" , 500 );
239
259
240
260
{
261
+ shared_ptr<modelgbp::gbp::SecGroupRule> r1, r2, r3;
262
+
241
263
Mutator mutator (framework, " policyreg" );
242
264
secGrp2 = space->addGbpSecGroup (" secgrp2" );
243
- secGrp2->addGbpSecGroupSubject (" 2_subject1" )
244
- ->addGbpSecGroupRule (" 2_1_rule1" )
245
- ->addGbpRuleToClassifierRSrc (classifier0->getURI ().toString ());
246
- secGrp2->addGbpSecGroupSubject (" 2_subject1" )
247
- ->addGbpSecGroupRule (" 2_1_rule2" )
248
- ->setDirection (DirectionEnumT::CONST_BIDIRECTIONAL).setOrder (20 )
265
+ r1 = secGrp2->addGbpSecGroupSubject (" 2_subject1" )
266
+ ->addGbpSecGroupRule (" 2_1_rule1" );
267
+ r1->addGbpRuleToClassifierRSrc (classifier0->getURI ().toString ());
268
+ r1->addGbpSecGroupRuleToRemoteAddressRSrc (rs->getURI ().toString ());
269
+
270
+ r2 = secGrp2->addGbpSecGroupSubject (" 2_subject1" )
271
+ ->addGbpSecGroupRule (" 2_1_rule2" );
272
+ r2->setDirection (DirectionEnumT::CONST_BIDIRECTIONAL).setOrder (20 )
249
273
.addGbpRuleToClassifierRSrc (classifier5->getURI ().toString ());
250
- secGrp2->addGbpSecGroupSubject (" 2_subject1" )
251
- ->addGbpSecGroupRule (" 2_1_rule3" )
252
- ->setDirection (DirectionEnumT::CONST_OUT).setOrder (30 )
274
+
275
+ r3 = secGrp2->addGbpSecGroupSubject (" 2_subject1" )
276
+ ->addGbpSecGroupRule (" 2_1_rule3" );
277
+ r3->setDirection (DirectionEnumT::CONST_OUT).setOrder (30 )
253
278
.addGbpRuleToClassifierRSrc (classifier9->getURI ().toString ());
279
+ r3->addGbpSecGroupRuleToRemoteAddressRSrc (rs->getURI ().toString ());
254
280
mutator.commit ();
255
281
}
256
282
@@ -259,7 +285,6 @@ BOOST_FIXTURE_TEST_CASE(secGrp, AccessFlowManagerFixture) {
259
285
initExpSecGrpSet12 (true );
260
286
WAIT_FOR_TABLES (" two-secgrp" , 500 );
261
287
262
- shared_ptr<modelgbp::gbp::Subnets> rs;
263
288
{
264
289
Mutator mutator (framework, " policyreg" );
265
290
rs = space->addGbpSubnets (" subnets_rule1" );
@@ -470,10 +495,9 @@ uint16_t AccessFlowManagerFixture::initExpSecGrp1(uint32_t setId,
470
495
ADDF (Bldr (SEND_FLOW_REM).table (IN_POL).priority (prio).cookie (ruleId)
471
496
.tcp ().reg (SEPG, setId).isIpSrc (" 10.0.0.0/8" ).isTpDst (80 )
472
497
.actions ().go (OUT).done ());
473
- } else {
474
- ADDF (Bldr (SEND_FLOW_REM).table (IN_POL).priority (prio).cookie (ruleId)
475
- .tcp ().reg (SEPG, setId).isTpDst (80 ).actions ().go (OUT).done ());
476
498
}
499
+ ADDF (Bldr (SEND_FLOW_REM).table (IN_POL).priority (prio).cookie (ruleId)
500
+ .tcp ().reg (SEPG, setId).isTpDst (80 ).actions ().go (OUT).done ());
477
501
/* classifer 8 */
478
502
ruleId = idGen.getId (" l24classifierRule" ,
479
503
classifier8->getURI ().toString ());
@@ -486,10 +510,9 @@ uint16_t AccessFlowManagerFixture::initExpSecGrp1(uint32_t setId,
486
510
.tcp6 ().reg (SEPG, setId)
487
511
.isIpv6Src (" fd34:9c39:1374:358c::/64" )
488
512
.isTpDst (80 ).actions ().go (OUT).done ());
489
- } else {
490
- ADDF (Bldr (SEND_FLOW_REM).table (IN_POL).priority (prio-128 ).cookie (ruleId)
491
- .tcp6 ().reg (SEPG, setId).isTpDst (80 ).actions ().go (OUT).done ());
492
513
}
514
+ ADDF (Bldr (SEND_FLOW_REM).table (IN_POL).priority (prio-128 ).cookie (ruleId)
515
+ .tcp6 ().reg (SEPG, setId).isTpDst (80 ).actions ().go (OUT).done ());
493
516
/* classifier 2 */
494
517
ruleId = idGen.getId (" l24classifierRule" ,
495
518
classifier2->getURI ().toString ());
0 commit comments