default List<Ace> toStandardAces(final String aclName, @Nonnull AclRule[] rules, @Nonnull final AclContextManager standardAclContext, @Nonnull final MappingContext mappingContext) { final List<Ace> aces = new ArrayList<>(rules.length); int i = 0; for (final AclRule rule : rules) { final AceBuilder ace = new AceBuilder(); final VppAceBuilder aceType = new VppAceBuilder(); final VppAceNodesBuilder nodes = new VppAceNodesBuilder(); nodes.setAceIpVersion(ipVersion(rule)); nodes.setIpProtocol(parseProtocol(rule)); aceType.setVppAceNodes(nodes.build()); ace.setMatches(new MatchesBuilder().setAceType(aceType.build()).build()); ace.setActions(actions(rule.isPermit)); final String aceName = standardAclContext.getAceName(aclName, i++, mappingContext); ace.setRuleName(aceName); ace.withKey(new AceKey(aceName)); aces.add(ace.build()); } return aces; } }
default List<Ace> toMacIpAces(final String aclName, @Nonnull MacipAclRule[] rules, @Nonnull final AclContextManager macipAclContext, @Nonnull final MappingContext mappingContext) { final List<Ace> aces = new ArrayList<>(rules.length); int i = 0; for (final MacipAclRule rule : rules) { final AceBuilder ace = new AceBuilder(); final VppMacipAceBuilder aceType = new VppMacipAceBuilder(); final VppMacipAceNodesBuilder nodes = new VppMacipAceNodesBuilder(); nodes.setAceIpVersion(ipVersion(rule)); nodes.setSourceMacAddress(sourceMac(rule)); nodes.setSourceMacAddressMask(sourceMacMask(rule)); aceType.setVppMacipAceNodes(nodes.build()); ace.setMatches(new MatchesBuilder().setAceType(aceType.build()).build()); ace.setActions(actions(rule.isPermit)); final String aceName = macipAclContext.getAceName(aclName, i++, mappingContext); ace.setRuleName(aceName); ace.withKey(new AceKey(aceName)); aces.add(ace.build()); } return aces; }