AclConstants.PacketHandlingType.DENY));
}
- public static List<? extends MatchInfoBase> buildIpAndElanSrcMatch(long elanTag, AllowedAddressPairs ip,
- DataBroker dataBroker) {
+ public static List<? extends MatchInfoBase> buildIpAndSrcServiceMatch(long elanTag, AllowedAddressPairs ip,
+ DataBroker dataBroker, Long vpnId) {
List<MatchInfoBase> flowMatches = new ArrayList<>();
- MatchMetadata metadatMatch =
- new MatchMetadata(MetaDataUtil.getElanTagMetadata(elanTag), MetaDataUtil.METADATA_MASK_SERVICE);
+ MatchMetadata metadatMatch = null;
+ if (vpnId == null) {
+ metadatMatch =
+ new MatchMetadata(MetaDataUtil.getElanTagMetadata(elanTag), MetaDataUtil.METADATA_MASK_SERVICE);
+ } else {
+ metadatMatch =
+ new MatchMetadata(MetaDataUtil.getVpnIdMetadata(vpnId), MetaDataUtil.METADATA_MASK_VRFID);
+ }
flowMatches.add(metadatMatch);
if (ip.getIpAddress().getIpAddress() != null) {
if (ip.getIpAddress().getIpAddress().getIpv4Address() != null) {
return flowMatches;
}
- public static List<? extends MatchInfoBase> buildIpAndElanDstMatch(Long elanTag, AllowedAddressPairs ip,
- DataBroker dataBroker) {
+ public static List<? extends MatchInfoBase> buildIpAndDstServiceMatch(Long elanTag, AllowedAddressPairs ip,
+ DataBroker dataBroker, Long vpnId) {
List<MatchInfoBase> flowMatches = new ArrayList<>();
- MatchMetadata metadatMatch =
- new MatchMetadata(MetaDataUtil.getElanTagMetadata(elanTag), MetaDataUtil.METADATA_MASK_SERVICE);
+ MatchMetadata metadatMatch = null;
+ if (vpnId == null) {
+ metadatMatch =
+ new MatchMetadata(MetaDataUtil.getElanTagMetadata(elanTag), MetaDataUtil.METADATA_MASK_SERVICE);
+ } else {
+ metadatMatch =
+ new MatchMetadata(MetaDataUtil.getVpnIdMetadata(vpnId), MetaDataUtil.METADATA_MASK_VRFID);
+ }
flowMatches.add(metadatMatch);
if (ip.getIpAddress().getIpAddress() != null) {
MatchInfoBase lportMatch = buildLPortTagMatch(lportTag, serviceMode);
InterfaceServiceUtil.mergeMetadataMatchsOrAdd(flowMatches, lportMatch);
}
+
+ static AclInterface buildAclInterfaceState(String interfaceId, InterfaceAcl aclInPort) {
+ AclInterface aclInterface = new AclInterface();
+ aclInterface.setInterfaceId(interfaceId);
+ aclInterface.setPortSecurityEnabled(aclInPort.isPortSecurityEnabled());
+ aclInterface.setSecurityGroups(aclInPort.getSecurityGroups());
+ aclInterface.setAllowedAddressPairs(aclInPort.getAllowedAddressPairs());
+ return aclInterface;
+ }
}