+ if (!qosEosHandler.isQosClusterOwner()) {
+ qosServiceConfiguredPorts.add(port.getUuid());
+ LOG.trace("Not Qos Cluster Owner. Ignoring setting DSCP marking");
+ return;
+ } else {
+ Interface ifState = getInterfaceStateFromOperDS(ifName);
+ Short dscpValue = dscpMark.getDscpMark().toJava();
+ int ipVersions = getIpVersions(port);
+ //1. OF rules
+ if (hasIpv4Addr(ipVersions)) {
+ LOG.trace("setting ipv4 flow for port: {}, dscp: {}", ifName, dscpValue);
+ addFlow(dpnId, dscpValue, ifName, NwConstants.ETHTYPE_IPV4, ifState);
+ }
+ if (hasIpv6Addr(ipVersions)) {
+ LOG.trace("setting ipv6 flow for port: {}, dscp: {}", ifName, dscpValue);
+ addFlow(dpnId, dscpValue, ifName, NwConstants.ETHTYPE_IPV6, ifState);
+ }
+
+ if (qosServiceConfiguredPorts.add(port.getUuid())) {
+ // bind qos service to interface
+ bindservice(ifName);
+ }
+