private void addBucketToGroup(NextObjective nextObjective) { log.debug("addBucketToGroup in {}: for next objective id {}", deviceId, nextObjective.id()); Collection<TrafficTreatment> treatments = nextObjective.next(); TrafficTreatment treatment = treatments.iterator().next(); final GroupKey key = new DefaultGroupKey( appKryo.serialize(nextObjective .id())); Group group = groupService.getGroup(deviceId, key); if (group == null) { log.warn("Group is not found in {} for {}", deviceId, key); return; } GroupBucket bucket; if (group.type() == GroupDescription.Type.INDIRECT) { bucket = DefaultGroupBucket.createIndirectGroupBucket(treatment); } else if (group.type() == GroupDescription.Type.SELECT) { bucket = DefaultGroupBucket.createSelectGroupBucket(treatment); } else if (group.type() == GroupDescription.Type.ALL) { bucket = DefaultGroupBucket.createAllGroupBucket(treatment); } else { log.warn("Unsupported Group type {}", group.type()); return; } GroupBuckets bucketsToAdd = new GroupBuckets(Collections.singletonList(bucket)); log.debug("Adding buckets to group id {} of next objective id {} in device {}", group.id(), nextObjective.id(), deviceId); groupService.addBucketsToGroup(deviceId, key, bucketsToAdd, key, appId); }
DefaultGroupBucket.createSelectGroupBucket(trafficTreatment, (short) weightInt); break; case "INDIRECT":
bucket = DefaultGroupBucket.createIndirectGroupBucket(treatment); } else if (group.type() == GroupDescription.Type.SELECT) { bucket = DefaultGroupBucket.createSelectGroupBucket(treatment); } else if (group.type() == GroupDescription.Type.ALL) { bucket = DefaultGroupBucket.createAllGroupBucket(treatment);
ttb.group(new DefaultGroupId(gi.nextGroupDesc.givenGroupId())); GroupBucket sbucket = DefaultGroupBucket .createSelectGroupBucket(ttb.build()); l3ecmpGroupBuckets.add(sbucket);
TrafficTreatment.Builder ttb = DefaultTrafficTreatment.builder(); ttb.group(new DefaultGroupId(gi.nextGroupDesc.givenGroupId())); GroupBucket sbucket = DefaultGroupBucket.createSelectGroupBucket(ttb.build());
.stream() .map((treatment) -> DefaultGroupBucket .createSelectGroupBucket(treatment)) .collect(Collectors.toList()); if (!buckets.isEmpty()) {
case SELECT: groupBucket = DefaultGroupBucket.createSelectGroupBucket(treatment); break; case FF:
GroupBucket bucket = DefaultGroupBucket.createSelectGroupBucket( DefaultTrafficTreatment.builder() .group(pointedGroup.id())