The following configuration works as expected:
set term pag off loop create loop create set int ip address loop0 10.20.36.1/24 set int ip address loop1 10.20.37.1/24 set int state loop0 up set int state loop1 up packet-generator new { name s0 limit 10 size 128-128 interface loop0 node ethernet-input data { IP4: feed.face.000 -> dead.0.0 UDP: 10.20.36.168 -> 10.20.37.10 UDP: 1234 -> 2345 incrementing 114 } } packet-generator new { name s1 limit 10 size 128-128 interface loop1 node ethernet-input data { IP4: feed.face.001 -> dead.0.1 UDP: 10.20.37.10 -> 10.20.36.168 UDP: 1234 -> 2345 incrementing 114 } } ip route add 10.20.36.168/32 via drop ip route add 10.20.37.10/23 via drop classify filter pcap mask l3 ip4 src match l3 ip4 src 10.20.37.10 classify filter pcap mask l3 ip4 dst match l3 ip4 dst 10.20.37.10 DBGvpp# sh class filter Filter Used By Table(s) -------------- -------- packet tracer: first table none pcap rx/tx/drop: first table 1 DBGvpp# sh cla t index 1 verbose # Note the NextTbl field... TableIdx Sessions NextTbl NextNode 1 1 0 -1 Heap: base 0x7fffaef45000, size 128k, locked, unmap-on-destroy, name 'classify' page stats: page-size 4K, total 32, mapped 2, not-mapped 30 numa 0: 2 pages, 8k bytes total: 127.95K, used: 1.38K, free: 126.58K, trimmable: 126.50K nbuckets 8, skip 1 match 2 flag 0 offset 0 mask 0000000000000000000000000000ffffffff0000000000000000000000000000 linear-search buckets 0 [4]: heap offset 1280, elts 2, normal 0: [1280]: next_index 0 advance 0 opaque 0 action 0 metadata 0 k: 00000000000000000000000000000a14250a0000000000000000000000000000 hits 10, last_heard 0.00 1 active elements 1 free lists 0 linear-search buckets DBGvpp# sh cla t index 0 verbose TableIdx Sessions NextTbl NextNode 0 1 -1 -1 Heap: base 0x7fffaef66000, size 128k, locked, unmap-on-destroy, name 'classify' page stats: page-size 4K, total 32, mapped 2, not-mapped 30 numa 0: 2 pages, 8k bytes total: 127.95K, used: 1.34K, free: 126.61K, trimmable: 126.53K nbuckets 8, skip 1 match 1 flag 0 offset 0 mask 00000000000000000000ffffffff0000 linear-search buckets 0 [7]: heap offset 1280, elts 2, normal 0: [1280]: next_index 0 advance 0 opaque 0 action 0 metadata 0 k: 000000000000000000000a14250a0000 hits 10, last_heard 0.00 1 active elements 1 free lists 0 linear-search buckets Classification which matches either an ip4 src or and ip4 dst requires two (chained) tables, as shown in the example above. Looking at the output you sent, classifier table 1’s NextTbl field is set to ~0 which explains why the classification isn’t working. You don’t need to send traffic; make sure that you have a two-table chain with the required mask/matches installed. If you can come up with a reproducible debug CLI sequence which results in incorrect table programming, please send it so we can fix it. Thanks... Dave -----Original Message----- From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Benoit Ganne (bganne) via lists.fd.io Sent: Tuesday, August 31, 2021 12:36 PM To: chetan bhasin <chetan.bhasin...@gmail.com>; vpp-dev <vpp-dev@lists.fd.io> Subject: Re: [vpp-dev] VPp 2101 (pcap trace) > Any idea why it's not working? Or what I am doing wrong? I am not sure, it should be working but there might be a bug lurking somewhere... I'll look at it when I have time. Best ben > On Thu, Aug 26, 2021, 20:59 chetan bhasin <chetan.bhasin...@gmail.com > < <mailto:chetan.bhasin...@gmail.com> mailto:chetan.bhasin...@gmail.com> > > wrote: > > > Hi Benoit, > > I have tried those options but it is not working , it is only > capturing the section classify filter rule that is based on dst ip > address. > > 1) Tried with classify filter [Only dest ip with 10.20.36.168 is > coming in pcap] > > classify filter pcap mask l3 ip4 src match l3 ip4 src 10.20.36.168 > > classify filter pcap mask l3 ip4 dst match l3 ip4 dst 10.20.36.168 > > pcap trace rx tx max 100 filter file capture.pcap > > > > > vpp# show classify filter > > Filter Used By Table(s) > > -------------- -------- > > packet tracer: first table none > > pcap rx/tx/drop: first table 1 > > > > > vpp# show classify tables index 1 verbose > > TableIdx Sessions NextTbl NextNode > > 1 1 -1 -1 > > Heap: base 0x7f5db406c000, size 128k, locked, unmap-on-destroy, > name 'classify' > > page stats: page-size 4K, total 32, mapped 2, not-mapped 0, > unknown 30 > > numa 0: 2 pages, 8k bytes > > total: 127.95K, used: 1.31K, free: 126.64K, trimmable: > 126.56K > > nbuckets 8, skip 1 match 2 flag 0 offset 0 > > mask > 0000000000000000000000000000ffffffff0000000000000000000000000000 > > linear-search buckets 0 > > > > > [7]: heap offset 1216, elts 2, normal > > 0: [1216]: next_index 0 advance 0 opaque 0 action 0 metadata 0 > > k: > 00000000000000000000000000000a1424a80000000000000000000000000000 > > hits 45, last_heard 0.00 > > > > > 1 active elements > > 1 free lists > > 0 linear-search buckets > > > > > [root@bfs-dl360g10-47-vm14 ~]# tcpdump -n -r /tmp/capture.pcap > > reading from file /tmp/capture.pcap, link-type EN10MB (Ethernet) > > 01:00:33.671990 IP 10.20.35.126 > 10.20.36.168 < <http://10.20.36.168> > http://10.20.36.168> > : ICMP echo reply, id 26102, seq 9478, length 64 > > 01:00:33.672834 IP 10.20.35.126 > 10.20.36.168 < <http://10.20.36.168> > http://10.20.36.168> > : ICMP echo reply, id 26102, seq 9478, length 64 > > 01:00:33.672839 IP 10.20.35.126 > 10.20.36.168 < <http://10.20.36.168> > http://10.20.36.168> > : ICMP echo reply, id 26102, seq 9478, length 64 > > 01:00:34.674316 IP 10.20.35.126 > 10.20.36.168 < <http://10.20.36.168> > http://10.20.36.168> > : ICMP echo reply, id 26102, seq 9479, length 64 > > 01:00:34.675239 IP 10.20.35.126 > 10.20.36.168 < <http://10.20.36.168> > http://10.20.36.168> > : ICMP echo reply, id 26102, seq 9479, length 64 > > 01:00:34.675239 IP 10.20.35.126 > 10.20.36.168 < <http://10.20.36.168> > http://10.20.36.168> > : ICMP echo reply, id 26102, seq 9479, length 64 > > 01:00:35.676526 IP 10.20.35.126 > 10.20.36.168 < <http://10.20.36.168> > http://10.20.36.168> > : ICMP echo reply, id 26102, seq 9480, length 64 > > 01:00:35.676565 IP 10.20.35.126 > 10.20.36.168 < <http://10.20.36.168> > http://10.20.36.168> > : ICMP echo reply, id 26102, seq 9480, length 64 > > 01:00:35.676566 IP 10.20.35.126 > 10.20.36.168 < <http://10.20.36.168> > http://10.20.36.168> > : ICMP echo reply, id 26102, seq 9480, length 64 > > > > > > 2) Default behaviour without any classify filter . > > vpp# pcap trace rx tx max 100 file capture.pcap > > vpp# pcap trace off > > Write 100 packets to /tmp/capture.pcap, and stop capture... > > > > > > tcpdump -n -r /tmp/capture.pcap |grep ICMP > > reading from file /tmp/capture.pcap, link-type EN10MB (Ethernet) > > 01:02:36.635239 IP 10.20.36.168 > 10.20.35.126 < <http://10.20.35.126> > http://10.20.35.126> > : ICMP echo request, id 26102, seq 11266, length 64 > > 01:02:36.636018 IP 10.20.36.168 > 10.20.35.126 < <http://10.20.35.126> > http://10.20.35.126> > : ICMP echo request, id 26102, seq 11266, length 64 > > 01:02:36.636018 IP 10.20.36.168 > 10.20.35.126 < <http://10.20.35.126> > http://10.20.35.126> > : ICMP echo request, id 26102, seq 11266, length 64 > > 01:02:36.636108 IP 10.20.35.126 > 10.20.36.168 < <http://10.20.36.168> > http://10.20.36.168> > : ICMP echo reply, id 26102, seq 11266, length 64 > > 01:02:36.636975 IP 10.20.35.126 > 10.20.36.168 < <http://10.20.36.168> > http://10.20.36.168> > : ICMP echo reply, id 26102, seq 11266, length 64 > > 01:02:36.636975 IP 10.20.35.126 > 10.20.36.168 < <http://10.20.36.168> > http://10.20.36.168> > : ICMP echo reply, id 26102, seq 11266, length 64 > > > > > Regards, > > Chetan > > > > > > On Thu, Aug 26, 2021 at 6:00 PM chetan bhasin > < <mailto:chetan.bhasin...@gmail.com%20%3cmailto:chetan.bhasin...@gmail.com> > chetan.bhasin...@gmail.com <mailto:chetan.bhasin...@gmail.com> > wrote: > > > Hi Ben, > > Thanks for your response . Let me try this and get back to you. > > Thanks, > Chetan > > On Thu, Aug 26, 2021 at 5:52 PM Benoit Ganne (bganne) > < <mailto:bga...@cisco.com%20%3cmailto:bga...@cisco.com> bga...@cisco.com > <mailto:bga...@cisco.com> > wrote: > > > > We want to capture all packets with src ip or dest ip as > 10.20.30.40 .I > > have tried with classify filter but no success. Looks like I > am > missing > > something. > > Can anybody please suggest the commands . > > Something like this should do it: > > ~# vppctl classify filter pcap mask l3 ip4 src match l3 > ip4 src 10.20.30.40 > ~# vppctl classify filter pcap mask l3 ip4 dst match l3 > ip4 dst 10.20.30.40 > ~# vppctl pcap trace rx tx max 1000 filter > <wait for some traffic to go through...> > ~# vppctl pcap trace rx tx off > > Best > ben >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#20054): https://lists.fd.io/g/vpp-dev/message/20054 Mute This Topic: https://lists.fd.io/mt/85158833/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-