60 std::unique_ptr<inet::PacketFilter> filter;
62 bool dscpAsQfi =
false;
64 std::vector<QfiRule> rules_;
72 void parseRule(
const omnetpp::cValueMap *rule,
const char *what);
76 Qfi classify(inet::Packet *pkt, uint8_t dscp)
const;
80 Qfi classifyFrame(inet::Packet *pkt)
const;
82 bool empty()
const {
return rules_.empty(); }
84 friend std::ostream& operator<<(std::ostream& os,
const QfiRuleSet& e)
86 os <<
"rules=" << e.rules_.size();
87 for (
size_t i = 0; i < e.rules_.size(); i++) {
88 const auto& r = e.rules_[i];
89 os <<
" [" << i <<
": " << (r.filter ?
"filtered" :
"matchAll")
90 << (r.dscpAsQfi ?
" dscpAsQfi" :
"") <<
" qfi=" << r.qfi <<
"]";