Skip to content
This repository was archived by the owner on Mar 31, 2023. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
04cbb1e
Update router manager api
DavidLiu506 Jun 29, 2021
4c100e5
Update code
DavidLiu506 Jun 29, 2021
e38bcf9
Update code
DavidLiu506 Jun 30, 2021
067a988
Update router manager
DavidLiu506 Jul 1, 2021
dd5dafd
Update router manager
DavidLiu506 Jul 1, 2021
aa76562
Merge router manager service api code
DavidLiu506 Jul 2, 2021
8ae37db
Fix getVpcRouteTables
DavidLiu506 Jul 2, 2021
f0462ae
Fix getVpcRouteTable
DavidLiu506 Jul 2, 2021
976883f
Update RouterController
DavidLiu506 Jul 6, 2021
ef7a2d2
Update code
DavidLiu506 Jul 6, 2021
670dcc6
Update code
DavidLiu506 Jun 29, 2021
59a65f0
Update code
DavidLiu506 Jun 30, 2021
1178f61
pull alcor code
DavidLiu506 Jul 9, 2021
5a98d10
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 Jul 21, 2021
e4e0792
Merge branch 'master' of https://github.com/futurewei-cloud/alcor
DavidLiu506 Aug 13, 2021
ae15be0
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 Aug 15, 2021
9c88b19
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 Aug 21, 2021
9be2bb9
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 Sep 13, 2021
733872a
Merge branch 'master' of https://github.com/futurewei-cloud/alcor
DavidLiu506 Oct 19, 2021
b3154ae
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 Oct 21, 2021
e2bed17
Merge branch 'master' of https://github.com/DavidLiu506/alcor
DavidLiu506 Oct 21, 2021
7c5013e
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 Oct 23, 2021
ac7acf8
Merge branch 'master' of https://github.com/futurewei-cloud/alcor
DavidLiu506 Oct 28, 2021
bcc0716
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 Nov 3, 2021
c499d9c
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 Nov 30, 2021
329e216
Merge branch 'master' of https://github.com/futurewei-cloud/alcor
DavidLiu506 Dec 9, 2021
43435bd
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 Dec 11, 2021
9b51767
Merge branch 'master' of https://github.com/futurewei-cloud/alcor
DavidLiu506 Dec 13, 2021
2f68edb
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 Dec 13, 2021
a6b1122
Merge branch 'master' of https://github.com/DavidLiu506/alcor
DavidLiu506 Dec 13, 2021
5dd29ef
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 Jan 13, 2022
59d0f9b
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 Jan 20, 2022
3d350a7
Merge branch 'master' of https://github.com/futurewei-cloud/alcor
DavidLiu506 Jan 20, 2022
dbf2aaf
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 Feb 1, 2022
3499f7d
Merge branch 'master' of https://github.com/futurewei-cloud/alcor
DavidLiu506 Feb 1, 2022
c11e915
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 Feb 3, 2022
22cc3af
Merge branch 'master' of https://github.com/futurewei-cloud/alcor
DavidLiu506 Feb 3, 2022
38d0798
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 May 27, 2022
4a62be1
Add consistent hash
DavidLiu506 May 28, 2022
7be13f8
Add consistent hash
DavidLiu506 May 28, 2022
8c3b223
Merge pull request #1 from DavidLiu506/gateway
DavidLiu506 May 28, 2022
6b798e0
Update code
DavidLiu506 May 31, 2022
260565a
Merge branch 'master' of https://github.com/DavidLiu506/alcor
DavidLiu506 May 31, 2022
fabd939
Revert "Update code"
DavidLiu506 May 31, 2022
ac01902
Update code
DavidLiu506 May 31, 2022
053d5ab
Revert "Update code"
DavidLiu506 May 31, 2022
ebbeefa
Update code
DavidLiu506 May 31, 2022
c1beae4
Update code
DavidLiu506 Jun 8, 2022
ce0ad7a
Update code
DavidLiu506 Jun 8, 2022
f518986
Update code
DavidLiu506 Jun 8, 2022
3fba144
Update code
DavidLiu506 Jun 8, 2022
aa43fc6
Update code
DavidLiu506 Jun 8, 2022
da6ed64
Update code
DavidLiu506 Jun 13, 2022
276b205
Merge branch 'master' of https://github.com/futurewei-cloud/alcor int…
DavidLiu506 Jun 16, 2022
85a9b3e
Merge branch 'master' of https://github.com/DavidLiu506/alcor into al…
DavidLiu506 Jun 16, 2022
5741f07
Add arion watch service for arion wing
DavidLiu506 Jun 16, 2022
ad57f7b
Update code
DavidLiu506 Jun 16, 2022
bea71bb
Update code
DavidLiu506 Jun 16, 2022
df7f8e7
Update code
DavidLiu506 Jun 16, 2022
5936c4b
Update code
DavidLiu506 Jun 16, 2022
45cb7e2
Update code
DavidLiu506 Jun 16, 2022
24896a8
Update code
DavidLiu506 Jun 16, 2022
243c799
Update code
DavidLiu506 Jun 16, 2022
5ba0d9a
Update code
DavidLiu506 Jun 16, 2022
79832ef
Update code
DavidLiu506 Jun 17, 2022
b067987
Update code
DavidLiu506 Jun 17, 2022
e4793c5
Update code
DavidLiu506 Jun 17, 2022
7122cc8
Update code
DavidLiu506 Jun 17, 2022
ba723d5
Update code
DavidLiu506 Jun 22, 2022
3d233c9
Update code
DavidLiu506 Jun 23, 2022
f2213d5
Update code
DavidLiu506 Jun 23, 2022
b2f22d8
Update code
DavidLiu506 Jul 2, 2022
92ad98a
Update code
DavidLiu506 Jul 2, 2022
85f8dce
Update code
DavidLiu506 Jul 2, 2022
f09eb24
Update code
DavidLiu506 Jul 5, 2022
ada7d09
Update code
DavidLiu506 Jul 5, 2022
0d784fa
Update code
DavidLiu506 Jul 7, 2022
378b557
Update code
DavidLiu506 Jul 7, 2022
571e8ea
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 Aug 3, 2022
0540b74
Merge branch 'master' of https://github.com/futurewei-cloud/alcor
DavidLiu506 Aug 10, 2022
156c273
Merge branch 'master' of https://github.com/futurewei-cloud/alcor
DavidLiu506 Aug 18, 2022
4174fc4
Merge branch 'futurewei-cloud:master' into master
DavidLiu506 Sep 19, 2022
de95ccd
Merge branch 'master' of https://github.com/futurewei-cloud/alcor
DavidLiu506 Sep 19, 2022
4cb811d
Merge branch 'master' of https://github.com/DavidLiu506/alcor
DavidLiu506 Nov 21, 2022
e2e2a7e
Merge branch 'master' of https://github.com/futurewei-cloud/alcor
DavidLiu506 Nov 21, 2022
8fe5f62
Add security group
DavidLiu506 Nov 29, 2022
c905782
Update code
DavidLiu506 Dec 1, 2022
b5a5370
Update code
DavidLiu506 Jan 11, 2023
35dec66
Update code
DavidLiu506 Jan 30, 2023
238ceee
Update code
DavidLiu506 Jan 30, 2023
0be7cb2
Update code
DavidLiu506 Jan 30, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions schema/proto3/goalstateprovisioner.proto
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ option java_package = "com.futurewei.alcor.schema";
import "common.proto";
import "goalstate.proto";
import "neighbor.proto";
import "securitygroup.proto";
import "port.proto";

service GoalStateProvisioner {

Expand Down Expand Up @@ -50,7 +52,10 @@ service GoalStateProvisioner {
rpc RequestGoalStates (HostRequest) returns (HostRequestReply) {
}

rpc PushGoalstates (NeighborRulesRequest) returns (GoalStateOperationReply) {
rpc PushGoalstates (ArionGoalStateRequest) returns (GoalStateOperationReply) {
}

rpc PushSecurityGroupGoalState (SecurityGroupState) returns (GoalStateOperationReply) {
}
}

Expand Down Expand Up @@ -86,11 +91,12 @@ message HostRequestReply {
uint32 total_operation_time = 3;
}

message NeighborRulesRequest {
message ArionGoalStateRequest {
uint32 format_version = 1;
string request_id = 2;

repeated NeighborState neigborstates = 3;
repeated PortState portstates = 4;
}

message GoalStateOperationReply {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
/*
MIT License
Copyright(c) 2020 Futurewei Cloud

Permission is hereby granted,
free of charge, to any person obtaining a copy of this software and associated documentation files(the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and / or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package com.futurewei.alcor.dataplane.cache;

import com.futurewei.alcor.common.db.CacheException;
import com.futurewei.alcor.common.db.CacheFactory;
import com.futurewei.alcor.common.db.ICache;
import com.futurewei.alcor.common.stats.DurationStatistics;
import com.futurewei.alcor.web.entity.securitygroup.PortBindingSecurityGroup;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Repository;
import javax.annotation.PostConstruct;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;

@Repository
@ComponentScan(value="com.futurewei.alcor.common.db")
public class PortBindingSecurityGroupRepository {
private static final Logger LOG = LoggerFactory.getLogger(PortBindingSecurityGroupRepository.class);

private ICache<String, PortBindingSecurityGroup> bindingCache;

@Autowired
public PortBindingSecurityGroupRepository(CacheFactory cacheFactory) {
bindingCache = cacheFactory.getCache(PortBindingSecurityGroup.class);
}

@PostConstruct
private void init() {
LOG.info("PortBindingSecurityGroupRepository init done");
}

@DurationStatistics
public Collection<PortBindingSecurityGroup> getPortBindingSecurityGroupBySecurityGroupId(String securityGroupId) throws CacheException {
Map<String, Object[]> filterParams = new HashMap<>();
filterParams.put("securityGroupId", new String[] {securityGroupId});

Map<String, PortBindingSecurityGroup> portBindingSecurityGroupMap = bindingCache.getAll(filterParams);
return portBindingSecurityGroupMap.values();
}

@DurationStatistics
public Collection<PortBindingSecurityGroup> getPortBindingSecurityGroupByPortId(String portId) throws CacheException {
Map<String, Object[]> filterParams = new HashMap<>();
filterParams.put("portId", new String[] {portId});

Map<String, PortBindingSecurityGroup> portBindingSecurityGroupMap = bindingCache.getAll(filterParams);
return portBindingSecurityGroupMap.values();
}

@DurationStatistics
public synchronized void addPortBindingSecurityGroup(List<PortBindingSecurityGroup> portBindingSecurityGroups) throws Exception {
Map<String, PortBindingSecurityGroup> portBindingSecurityGroupMap = portBindingSecurityGroups
.stream()
.collect(Collectors.toMap(PortBindingSecurityGroup::getId, Function.identity()));
bindingCache.putAll(portBindingSecurityGroupMap);
}

@DurationStatistics
public synchronized void deleteSecurityGroupBinding(List<PortBindingSecurityGroup> portBindingSecurityGroups) throws Exception {
for (PortBindingSecurityGroup portBindingSecurityGroup: portBindingSecurityGroups) {
bindingCache.remove(portBindingSecurityGroup.getId());
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
/*
MIT License
Copyright(c) 2020 Futurewei Cloud

Permission is hereby granted,
free of charge, to any person obtaining a copy of this software and associated documentation files(the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and / or sell copies of the Software, and to permit persons
to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
package com.futurewei.alcor.dataplane.cache;

import com.futurewei.alcor.common.db.CacheException;
import com.futurewei.alcor.common.db.CacheFactory;
import com.futurewei.alcor.common.db.ICache;
import com.futurewei.alcor.common.stats.DurationStatistics;
import com.futurewei.alcor.web.entity.securitygroup.SecurityGroupRule;
import com.futurewei.alcor.web.entity.securitygroup.SecurityGroupRuleBulkJson;
import com.futurewei.alcor.web.entity.securitygroup.SecurityGroupRuleJson;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import javax.annotation.PostConstruct;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;

@Repository
public class SecurityGroupRepository {
private static final Logger LOG = LoggerFactory.getLogger(SecurityGroupRepository.class);

private ICache<String, SecurityGroupRule> securityGroupRuleCache;

@Autowired
public SecurityGroupRepository(CacheFactory cacheFactory) {
securityGroupRuleCache = cacheFactory.getCache(SecurityGroupRule.class);
}

@PostConstruct
private void init() {
LOG.info("SecurityGroupRepository init done");
}

@DurationStatistics
public synchronized void addSecurityGroupRule(SecurityGroupRuleJson securityGroupRuleJson) throws Exception {
securityGroupRuleCache.put(securityGroupRuleJson.getSecurityGroupRule().getId(), securityGroupRuleJson.getSecurityGroupRule());
}
@DurationStatistics
public synchronized void addSecurityGroupRules(SecurityGroupRuleBulkJson securityGroupRuleBulkJson) throws Exception {
var securityGroupRules = securityGroupRuleBulkJson.getSecurityGroupRules().stream().collect(Collectors.toMap(SecurityGroupRule::getId, Function.identity()));
securityGroupRuleCache.putAll(securityGroupRules);
}

@DurationStatistics
public synchronized void deleteSecurityGroupRules(List<String> securityGroupIds) throws Exception {
securityGroupIds.forEach(securityGroupId -> {
try {
securityGroupRuleCache.remove(securityGroupId);
} catch (CacheException e) {
e.printStackTrace();
}
});
}

@DurationStatistics
public SecurityGroupRule getSecurityGroupRule(String securityGroupRuleId) throws CacheException {
return securityGroupRuleCache.get(securityGroupRuleId);
}

@DurationStatistics
public List<SecurityGroupRule> getSecurityGroupRules(List<String> securityGroupRuleIds) throws CacheException {
List<SecurityGroupRule> securityGroupRules = new ArrayList<>();
for (String securityGroupId : securityGroupRuleIds) {
SecurityGroupRule securityGroupRule = securityGroupRuleCache.get(securityGroupId);
securityGroupRules.add(securityGroupRule);
}
return securityGroupRules;
}

@DurationStatistics
public Collection<SecurityGroupRule> getSecurityGroupRules(String scurityGroupId) throws CacheException {
Map<String, Object[]> queryParams = new HashMap<>();
Object[] value = new Object[1];
value[0] = scurityGroupId;
queryParams.put("securityGroupId", value);
return securityGroupRuleCache.getAll(queryParams).values();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ free of charge, to any person obtaining a copy of this software and associated d
import com.futurewei.alcor.dataplane.entity.UnicastGoalStateV2;
import com.futurewei.alcor.schema.Goalstate.GoalState;
import com.futurewei.alcor.schema.Goalstateprovisioner.GoalStateOperationReply.GoalStateOperationStatus;
import com.futurewei.alcor.schema.SecurityGroup;
import org.springframework.stereotype.Component;

import java.util.List;
Expand All @@ -31,4 +32,5 @@ public interface DataPlaneClient <U, T> {
List<String> sendGoalStates(List<U> unicastGoalStates) throws Exception;
List<String> sendGoalStates(List<U> unicastGoalStates,
T multicastGoalState) throws Exception;
List<String> sendGoalStates(SecurityGroup.SecurityGroupState securityGroupState) throws Exception;
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ free of charge, to any person obtaining a copy of this software and associated d
import com.futurewei.alcor.schema.Goalstate;
import com.futurewei.alcor.schema.Goalstateprovisioner.GoalStateOperationReply.GoalStateOperationStatus;
import com.futurewei.alcor.schema.Goalstateprovisioner.GoalStateOperationReply;
import com.futurewei.alcor.schema.SecurityGroup;
import io.grpc.ManagedChannel;
import io.grpc.ManagedChannelBuilder;
import io.grpc.stub.StreamObserver;
Expand Down Expand Up @@ -89,6 +90,11 @@ public List<String> sendGoalStates(
return null;
}

@Override
public List<String> sendGoalStates(SecurityGroup.SecurityGroupState securityGroupState) throws Exception {
return null;
}

private List<String> doSendGoalStates(List<UnicastGoalState> unicastGoalStates) {
List<Future<String>>
futures = new ArrayList<>(unicastGoalStates.size());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,12 @@ public List<String> sendGoalStates(List<UnicastGoalStateV2> unicastGoalStates, M
return null;
}

@Override
public List<String> sendGoalStates(SecurityGroup.SecurityGroupState securityGroupState) throws Exception {
doSendGoalStateToArionMaster(securityGroupState);
return new ArrayList<>();
}

private GrpcChannelStub createGrpcChannelStub(String hostIp, int port) {
ManagedChannel channel = ManagedChannelBuilder.forAddress(hostIp, port)
.usePlaintext()
Expand Down Expand Up @@ -251,9 +257,33 @@ public void onCompleted() {
private String doSendGoalStateToArionMaster (Goalstate.GoalStateV2.Builder goalStateV2) {
GrpcChannelStub channelStub = getOrCreateGrpcChannel(arionMasterServer, arionMasterPort);
GoalStateProvisionerGrpc.GoalStateProvisionerStub asyncStub = channelStub.stub;
var neighborStateRequestBuilder = Goalstateprovisioner.NeighborRulesRequest.newBuilder();
neighborStateRequestBuilder.addAllNeigborstates(goalStateV2.getNeighborStatesMap().values());
asyncStub.pushGoalstates(neighborStateRequestBuilder.build(), new StreamObserver<Goalstateprovisioner.GoalStateOperationReply>() {
var arionGoalStateBuilder = Goalstateprovisioner.ArionGoalStateRequest.newBuilder();
arionGoalStateBuilder.addAllNeigborstates(goalStateV2.getNeighborStatesMap().values());
arionGoalStateBuilder.addAllPortstates(goalStateV2.getPortStatesMap().values());

asyncStub.pushGoalstates(arionGoalStateBuilder.build(), new StreamObserver<Goalstateprovisioner.GoalStateOperationReply>() {
@Override
public void onNext(Goalstateprovisioner.GoalStateOperationReply goalStateOperationReply) {
LOG.info("Get response: " + goalStateOperationReply.toString());
}

@Override
public void onError(Throwable throwable) {
LOG.info(throwable.getMessage());
}

@Override
public void onCompleted() {

}
});
return null;
}

private String doSendGoalStateToArionMaster (SecurityGroup.SecurityGroupState securityGroupState) {
GrpcChannelStub channelStub = getOrCreateGrpcChannel(arionMasterServer, arionMasterPort);
GoalStateProvisionerGrpc.GoalStateProvisionerStub asyncStub = channelStub.stub;
asyncStub.pushSecurityGroupGoalState(securityGroupState, new StreamObserver<Goalstateprovisioner.GoalStateOperationReply>() {
@Override
public void onNext(Goalstateprovisioner.GoalStateOperationReply goalStateOperationReply) {
LOG.info("Get response: " + goalStateOperationReply.toString());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ free of charge, to any person obtaining a copy of this software and associated d
import com.futurewei.alcor.dataplane.entity.UnicastGoalStateV2;
import com.futurewei.alcor.schema.Goalstate;
import com.futurewei.alcor.schema.Goalstateprovisioner;
import com.futurewei.alcor.schema.SecurityGroup;

import java.util.List;
import java.util.Map;
Expand All @@ -37,4 +38,9 @@ public List<String> sendGoalStates(List<UnicastGoalState> unicastGoalStates) thr
public List<String> sendGoalStates(List<UnicastGoalState> unicastGoalStates, MulticastGoalState multicastGoalState) throws Exception {
return null;
}

@Override
public List<String> sendGoalStates(SecurityGroup.SecurityGroupState securityGroupState) throws Exception {
return null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import com.futurewei.alcor.dataplane.client.DataPlaneClient;
import com.futurewei.alcor.dataplane.entity.MulticastGoalStateV2;
import com.futurewei.alcor.dataplane.entity.UnicastGoalStateV2;
import com.futurewei.alcor.schema.SecurityGroup;

import java.util.List;

Expand All @@ -34,4 +35,9 @@ public List<String> sendGoalStates(List<UnicastGoalStateV2> unicastGoalStates) t
public List<String> sendGoalStates(List<UnicastGoalStateV2> unicastGoalStates, MulticastGoalStateV2 multicastGoalState) throws Exception {
return null;
}

@Override
public List<String> sendGoalStates(SecurityGroup.SecurityGroupState securityGroupState) throws Exception {
return null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ free of charge, to any person obtaining a copy of this software and associated d
import com.futurewei.alcor.dataplane.entity.UnicastGoalState;
import com.futurewei.alcor.dataplane.exception.GroupTopicNotFound;
import com.futurewei.alcor.dataplane.exception.MulticastTopicNotFound;
import com.futurewei.alcor.schema.SecurityGroup;
import com.futurewei.alcor.web.entity.dataplane.MulticastGoalStateByte;
import com.futurewei.alcor.web.entity.dataplane.UnicastGoalStateByte;
import org.apache.pulsar.client.api.Producer;
Expand Down Expand Up @@ -152,4 +153,9 @@ public List<String> sendGoalStates(List<UnicastGoalState> unicastGoalStates, Mul

return failedHosts;
}

@Override
public List<String> sendGoalStates(SecurityGroup.SecurityGroupState securityGroupState) throws Exception {
return null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ free of charge, to any person obtaining a copy of this software and associated d
import com.futurewei.alcor.dataplane.entity.*;
import com.futurewei.alcor.dataplane.exception.GroupTopicNotFound;
import com.futurewei.alcor.dataplane.exception.MulticastTopicNotFound;
import com.futurewei.alcor.schema.SecurityGroup;
import com.futurewei.alcor.web.entity.dataplane.MulticastGoalStateByte;
import com.futurewei.alcor.web.entity.dataplane.UnicastGoalStateByte;
import org.apache.pulsar.client.api.Producer;
Expand Down Expand Up @@ -159,4 +160,9 @@ public List<String> sendGoalStates(List<UnicastGoalStateV2> unicastGoalStates, M

return failedHosts;
}

@Override
public List<String> sendGoalStates(SecurityGroup.SecurityGroupState securityGroupState) throws Exception {
return null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ free of charge, to any person obtaining a copy of this software and associated d
import com.futurewei.alcor.dataplane.client.DataPlaneClient;
import com.futurewei.alcor.dataplane.entity.MulticastGoalState;
import com.futurewei.alcor.dataplane.entity.UnicastGoalState;
import com.futurewei.alcor.schema.SecurityGroup;
import com.futurewei.alcor.web.entity.dataplane.MulticastGoalStateByte;
import com.futurewei.alcor.web.entity.dataplane.UnicastGoalStateByte;
import com.futurewei.alcor.web.entity.topic.VpcTopicInfo;
Expand Down Expand Up @@ -129,4 +130,9 @@ public List<String> sendGoalStates(List<UnicastGoalState> unicastGoalStates, Mul

return failedHosts;
}

@Override
public List<String> sendGoalStates(SecurityGroup.SecurityGroupState securityGroupState) throws Exception {
return null;
}
}
Loading