diff options
author | Klement Sekera <ksekera@cisco.com> | 2021-02-17 18:48:35 +0100 |
---|---|---|
committer | Ole Tr�an <otroan@employees.org> | 2021-02-26 13:15:32 +0000 |
commit | 5599fc2dae024bcf150fa4b3b4584e19419f8079 (patch) | |
tree | eb5f6ac95b62de0cf2e017ad04340ee391c4e6f2 /src/plugins/nat/nat44-ed/nat44_ed_inlines.h | |
parent | e7a80a98bc1deba86a41cf66280101766e04a310 (diff) |
nat: optimize flow matching in ED NAT
This saves 6 clocks in nat44-ed-in2out node. (112->106 per packet)
Type: improvement
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I48e757e7f4b6b0d250a432a4659fe6955fc52a07
Diffstat (limited to 'src/plugins/nat/nat44-ed/nat44_ed_inlines.h')
-rw-r--r-- | src/plugins/nat/nat44-ed/nat44_ed_inlines.h | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/src/plugins/nat/nat44-ed/nat44_ed_inlines.h b/src/plugins/nat/nat44-ed/nat44_ed_inlines.h index 0623940cb6d..d1cd85e2418 100644 --- a/src/plugins/nat/nat44-ed/nat44_ed_inlines.h +++ b/src/plugins/nat/nat44-ed/nat44_ed_inlines.h @@ -592,15 +592,9 @@ nat_6t_o2i_flow_init (snat_main_t *sm, u32 thread_idx, snat_session_t *s, } static_always_inline int -nat_6t_flow_match (nat_6t_flow_t *f, vlib_buffer_t *b, ip4_address_t saddr, - u16 sport, ip4_address_t daddr, u16 dport, u8 protocol, - u32 fib_index) -{ - return f->match.daddr.as_u32 == daddr.as_u32 && - f->match.dport == vnet_buffer (b)->ip.reass.l4_dst_port && - f->match.proto == protocol && f->match.fib_index == fib_index && - f->match.saddr.as_u32 == saddr.as_u32 && - f->match.sport == vnet_buffer (b)->ip.reass.l4_src_port; +nat_6t_t_eq (nat_6t_t *t1, nat_6t_t *t2) +{ + return t1->as_u64[0] == t2->as_u64[0] && t1->as_u64[1] == t2->as_u64[1]; } static inline uword |