Hi Ehsan, You can make a packet trace (trace add dpdk-input 50), then redo the test, and see what is going on.
I suspect the behavior you see has to do that we can't do the ACL on the tagged subinterface yet. The subinterface support will require tweaking the 5-tuple extraction (which would be small enoh to tackle as a bug fix) and a more subtle change to the way acl plugin gets into the packet processing path - which was a bit too risky to get into 1707. I plan to look at it post-1707 release. Could you please send the show trace output from both of your test cases so we ensure they are covered ? Thanks! --a > On 19 Jun 2017, at 14:02, Ehsan Shahrokhi <ehsan...@gmail.com> wrote: > > hi, > > I have used ACL to control packet flow between one subinterface (subif1) and > one interface (if2). My problem is when I define an acl rule with condition > on destination port (service). In other words, I defined an ACL rule with > permit action on destination port 80. next, I connected this ACL to > subinterface. It is expected that packets comming from if2 and egressing to > subif2 ahould be permitted. but it isn't. If I define a permit ACL rule > without any condition on destination port and other parameters, packet > transfer from if2 to subif1 is done successfully. > > > Condsider the following scenario: > Devices are: > Client1 ip: 10.10.10.205 > Client2 ip: 20.20.20.206 > vpp router with two Interfaces: If1 has 1 subinterface(subif1). subif1 ip is > 10.10.10.208 and if2 ip is 20.20.20.208 > > Client1 is connected to if1 by a trunk link. Client2 is connected to if2 by a > access link. > > We defined 3 acl rules. the output of acl_dump command (in vat) is shown > below: > > vl_api_acl_details_t_handler:198: acl_index: 4, count: 1 > ipv4 action 1 src 0.0.0.0/0 dst 0.0.0.0/0 proto 6 sport 1-65535 dport 80-80 > tcpflags 0 mask 0 > > vl_api_acl_details_t_handler:198: acl_index: 5, count: 1 > ipv4 action 1 src 0.0.0.0/0 dst 0.0.0.0/0 proto 0 sport 1-65535 dport 1-65535 > tcpflags 0 mask 0 > > vl_api_acl_details_t_handler:198: acl_index: 0, count: 1 > ipv4 action 0 src 0.0.0.0/0 dst 0.0.0.0/0 proto 0 sport 1-65535 dport 1-65535 > tcpflags 0 mask 0 > > In the first scenario, we connected if1 and it's subinterface(subif1) to acl > index 4 and 0 respectively. And also, We connectd if2 to acl index 5 and 0 > respectively. > > the output of acl_interfaces_list_dump is shown below: > vl_api_acl_interface_list_details_t_handler:152: sw_if_index: 1, count: 2, > n_input: 0 > input 40 > > vl_api_acl_interface_list_details_t_handler:152: sw_if_index: 8, count: 2, > n_input: 0 > input 40 > > vl_api_acl_interface_list_details_t_handler:152: sw_if_index: 2, count: 2, > n_input: 0 > input 50 > > after this configuration, The http request from client1 to client2 has sent > successfully. > > then, I have changed input acl list related to if1, subif1 and if2 which are > shown below: > > vl_api_acl_interface_list_details_t_handler:152: sw_if_index: 1, count: 2, > n_input: 0 > input 50 > > vl_api_acl_interface_list_details_t_handler:152: sw_if_index: 8, count: 2, > n_input: 0 > input 50 > > vl_api_acl_interface_list_details_t_handler:152: sw_if_index: 2, count: 2, > n_input: 0 > input 40 > > After this new configuration, The http requests from client2 to client1 > didn't send successfully. > I don't know if it is a bug. Could you please help me :) > Thanks a lot > Regards > > _______________________________________________ > vpp-dev mailing list > vpp-dev@lists.fd.io > https://lists.fd.io/mailman/listinfo/vpp-dev
_______________________________________________ vpp-dev mailing list vpp-dev@lists.fd.io https://lists.fd.io/mailman/listinfo/vpp-dev