X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp-api%2Fvom%2Facl_l3_rule.cpp;h=417dc5f2eb7446ad102c83ca01943e867e877cd2;hb=25b049484fcf9161edb2c19250066b893c38c264;hp=e4b40920dca4ced12fd1c5fe97dc0a1247bc347d;hpb=812ed39f9da336310e815c361ab5a9f118657d94;p=vpp.git diff --git a/src/vpp-api/vom/acl_l3_rule.cpp b/src/vpp-api/vom/acl_l3_rule.cpp index e4b40920dca..417dc5f2eb7 100644 --- a/src/vpp-api/vom/acl_l3_rule.cpp +++ b/src/vpp-api/vom/acl_l3_rule.cpp @@ -22,18 +22,25 @@ namespace ACL { l3_rule::l3_rule(uint32_t priority, const action_t& action, const route::prefix_t& src, - const route::prefix_t& dst) + const route::prefix_t& dst, + uint8_t proto, + uint16_t srcport_or_icmptype_first, + uint16_t srcport_or_icmptype_last, + uint16_t dstport_or_icmpcode_first, + uint16_t dstport_or_icmpcode_last, + uint8_t tcp_flags_mask, + uint8_t tcp_flags_value) : m_priority(priority) , m_action(action) , m_src(src) , m_dst(dst) - , m_proto(0) - , m_srcport_or_icmptype_first(0) - , m_srcport_or_icmptype_last(0) - , m_dstport_or_icmpcode_first(0) - , m_dstport_or_icmpcode_last(0) - , m_tcp_flags_mask(0) - , m_tcp_flags_value(0) + , m_proto(proto) + , m_srcport_or_icmptype_first(srcport_or_icmptype_first) + , m_srcport_or_icmptype_last(srcport_or_icmptype_last) + , m_dstport_or_icmpcode_first(dstport_or_icmpcode_first) + , m_dstport_or_icmpcode_last(dstport_or_icmpcode_last) + , m_tcp_flags_mask(tcp_flags_mask) + , m_tcp_flags_value(tcp_flags_value) { } @@ -43,23 +50,6 @@ l3_rule::operator<(const l3_rule& other) const return (other.m_priority < m_priority); } -void -l3_rule::to_vpp(vapi_type_acl_rule& rule) const -{ - rule.is_permit = m_action.value(); - m_src.to_vpp(&rule.is_ipv6, rule.src_ip_addr, &rule.src_ip_prefix_len); - m_dst.to_vpp(&rule.is_ipv6, rule.dst_ip_addr, &rule.dst_ip_prefix_len); - - rule.proto = m_proto; - rule.srcport_or_icmptype_first = m_srcport_or_icmptype_first; - rule.srcport_or_icmptype_last = m_srcport_or_icmptype_last; - rule.dstport_or_icmpcode_first = m_dstport_or_icmpcode_first; - rule.dstport_or_icmpcode_last = m_dstport_or_icmpcode_last; - - rule.tcp_flags_mask = m_tcp_flags_mask; - rule.tcp_flags_value = m_tcp_flags_value; -} - bool l3_rule::operator==(const l3_rule& rule) const { @@ -86,8 +76,8 @@ l3_rule::to_string() const << " srcportto: " << m_srcport_or_icmptype_last << " dstportfrom:" << m_dstport_or_icmpcode_first << " dstportto:" << m_dstport_or_icmpcode_last - << " tcpflagmask:" << m_tcp_flags_mask - << " tcpflagvalue:" << m_tcp_flags_value << "]"; + << " tcpflagmask:" << std::to_string(m_tcp_flags_mask) + << " tcpflagvalue:" << std::to_string(m_tcp_flags_value) << "]"; return (s.str()); } @@ -144,9 +134,76 @@ l3_rule::set_tcp_flags_value(uint8_t tcp_flags_value) { m_tcp_flags_value = tcp_flags_value; } + +const route::prefix_t& +l3_rule::src() const +{ + return m_src; +} + +uint32_t +l3_rule::priority() const +{ + return m_priority; +} + +const action_t& +l3_rule::action() const +{ + return m_action; +} + +const route::prefix_t& +l3_rule::dst() const +{ + return m_dst; +} + +uint8_t +l3_rule::proto() const +{ + return m_proto; +} + +uint16_t +l3_rule::srcport_or_icmptype_first() const +{ + return m_srcport_or_icmptype_first; +} + +uint16_t +l3_rule::srcport_or_icmptype_last() const +{ + return m_srcport_or_icmptype_last; } + +uint16_t +l3_rule::dstport_or_icmpcode_first() const +{ + return m_dstport_or_icmpcode_first; } +uint16_t +l3_rule::dstport_or_icmpcode_last() const +{ + return m_dstport_or_icmpcode_last; +} + +uint8_t +l3_rule::tcp_flags_mask() const +{ + return m_tcp_flags_mask; +} + +uint8_t +l3_rule::tcp_flags_value() const +{ + return m_tcp_flags_value; +} + +}; // namespace ACL +}; // namespace VOM + /* * fd.io coding-style-patch-verification: ON *