+std::ostream & GTS::operator<<(std::ostream & stream, const ACL & acl)
+{
+    std::string oidValue;
+    // MAC
+    if (acl._isUpload) {
+        oidValue = swACLEtherRuleSrcMacAddress;
+        oidValue += acl.getSuffix();
+    } else {
+        oidValue = swACLEtherRuleDstMacAddress;
+        oidValue += acl.getSuffix();
+    }
+    stream << oidValue << ":" << acl._mac << " ";
+
+    // Permit rule
+    oidValue = swACLEtherRulePermit;
+    oidValue += acl.getSuffix();
+    stream << oidValue << ":" << 2 << " ";
+
+    // Port
+    oidValue = swACLEtherRulePort;
+    oidValue += acl.getSuffix();
+    stream << oidValue << ":" << acl._port << " ";
+
+    // Shape
+    oidValue = swACLEtherRuleRxRate;
+    oidValue += acl.getSuffix();
+    stream << oidValue << ":" << acl._shape << " ";
+
+    // Create ACL
+    oidValue = swACLEtherRuleRowStatus;
+    oidValue += acl.getSuffix();
+    stream << oidValue << ":" << 4;
+
+    return stream;
+}
+