X-Git-Url: https://git.stg.codes/ssmd.git/blobdiff_plain/6b235fa5a6fd3b514febe5b1328f97df14fb10bc..3c47eb51fb0eddb876f5b10bd33a4f2bedc3ee87:/src/acl.cpp diff --git a/src/acl.cpp b/src/acl.cpp index 08f0405..a882182 100644 --- a/src/acl.cpp +++ b/src/acl.cpp @@ -106,6 +106,42 @@ void ACL::appendPdu(Pdu & pdu) const pdu += vb;*/ } +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; +} + inline std::string ACL::getSuffix() const {