yes. MacIP ACLs are just for "first hop security".

for arbitrary matching, rather than macip acls, might be more
interesting to add support for the classifier-based ACLs, which can be
checking the odd places in the packet with bitmask...

--a

On 3/18/19, Neale Ranns via Lists.Fd.Io <nranns=cisco....@lists.fd.io> wrote:
>
> Hi Raj,
>
> ABF, which is a feature that runs in the L3 path, has not (to my knowledge
> anyway) been tested with MACIP ACLs – this ACL type is usually applied to L2
> traffic. Try an L3 ACL instead (i.e. use acl_add_replace to create the ACL,
> not macip_acl_rule).
>
> Regards,
> neale
>
>
> De : <vpp-dev@lists.fd.io> au nom de Raj <rajlistu...@gmail.com>
> Date : lundi 18 mars 2019 à 15:08
> À : vpp-dev <vpp-dev@lists.fd.io>
> Objet : Re: [vpp-dev] Crash while configuring ABF
>
> Hi,
>
> Tested again in 18.10, same result.
>
> Configuration:
>
> sh version
> vpp v18.10-22~g13f5dcf91 built by raj on vpp-dev-01 at Mon Mar 18 18:38:14
> IST 2019
> DBGvpp#
> DBGvpp#
> DBGvpp#  set int state GigabitEthernet86/0/3 up
> DBGvpp#  set int ip address GigabitEthernet86/0/3 xxx.xx.223.14/29
> DBGvpp#  set int ip address GigabitEthernet86/0/3 2001:470:xxxx:xxx::600/64
> DBGvpp#  ip route add 0.0.0.0/0<http://0.0.0.0/0> via xxx.xx.223.9
> GigabitEthernet86/0/3
> DBGvpp#  ip route add ::/0 via 2001:470:xxxx:xxx::1 GigabitEthernet86/0/3
> DBGvpp#  set int state GigabitEthernet86/0/2 up
> DBGvpp#  set int ip address GigabitEthernet86/0/2
> 100.69.1.1/24<http://100.69.1.1/24>
> DBGvpp#  set int ip address GigabitEthernet86/0/2 2001:xxx:xxxx:600::1/56
> DBGvpp# set int ip addr GigabitEthernet86/0/0
> 192.168.20.1/29<http://192.168.20.1/29>
> DBGvpp#  set int state GigabitEthernet86/0/0 up
> DBGvpp# sh acl-plugin macip acl
> MACIP acl_index: 0, count: 1 (true len 1) tag {} is free pool slot: 0
>   ip4_table_index 5, ip6_table_index 5, l2_table_index 5
>   out_ip4_table_index -1, out_ip6_table_index -1, out_l2_table_index -1
>     rule 0: ipv4 action 1 ip 100.69.1.4/32<http://100.69.1.4/32> mac
> 00:00:00:00:00:00 mask 00:00:00:00:00:00
> DBGvpp#
> DBGvpp# abf policy add id 0 acl 0 via 192.168.20.2 GigabitEthernet86/0/0
> DBGvpp# abf attach ip4 policy 0 priority 1 GigabitEthernet86/0/2
>
> API
>
> PUT
> https://{{machine}}/restconf/config/ietf-access-control-list:access-lists/acl/vpp-acl:vpp-macip-acl/macip-acl-2
> body
>
> {
>     "acl": [
>       {
>         "acl-name": "macip-acl-2",
>         "acl-type": "vpp-acl:vpp-macip-acl",
>         "access-list-entries": {
>           "ace": [
>               {
>               "rule-name": "macip-rule-1",
>               "matches": {
>                 "vpp-macip-ace-nodes": {
>                   "source-ipv4-network":
> "100.69.1.4/32<http://100.69.1.4/32>",
>                   "source-mac-address": "00:00:00:00:00:00",
>                   "source-mac-address-mask": "00:00:00:00:00:00"
>                 }
>               },
>               "actions": {
>                 "permit": [null]
>               }
>             }
>
>           ]
>         }
>       }
>     ]
> }
>
> GDB output:
>
> Thread 1 "vpp_main" received signal SIGABRT, Aborted.
> __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
> 51      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
> (gdb)
> (gdb) bt
> #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
> #1  0x00007ffff5b40801 in __GI_abort () at abort.c:79
> #2  0x000055555555ce54 in os_panic () at
> /home/raj/vpp-build/src/vpp/vnet/main.c:325
> #3  0x00007ffff5f2dadf in debugger () at
> /home/raj/vpp-build/src/vppinfra/error.c:84
> #4  0x00007ffff5f2df1a in _clib_error (how_to_die=2, function_name=0x0,
> line_number=0, fmt=0x7fffb4ecce50 "%s:%d (%s) assertion `%s' fails") at
> /home/raj/vpp-build/src/vppinfra/error.c:143
> #5  0x00007fffb4ec690a in hash_multi_acl_match_5tuple
> (p_acl_main=0x7fffb4eb7a00 <acl_main>, lc_index=0,
> pkt_5tuple=0x7fffb55ffb50, is_ip6=0, action=0x7fffb55ffad7 "",
> acl_pos_p=0x7fffb55ffae0,
>     acl_match_p=0x7fffb55ffadc, rule_match_p=0x7fffb55ffae4,
> trace_bitmap=0x7fffb55ffae8) at
> /home/raj/vpp-build/src/plugins/acl/public_inlines.h:651
> #6  0x00007fffb4ec6b49 in acl_plugin_match_5tuple_inline
> (p_acl_main=0x7fffb4eb7a00 <acl_main>, lc_index=0,
> pkt_5tuple=0x7fffb55ffb50, is_ip6=0, r_action=0x7fffb55ffad7 "",
> r_acl_pos_p=0x7fffb55ffae0,
>     r_acl_match_p=0x7fffb55ffadc, r_rule_match_p=0x7fffb55ffae4,
> trace_bitmap=0x7fffb55ffae8) at
> /home/raj/vpp-build/src/plugins/acl/public_inlines.h:690
> #7  0x00007fffb4ec93fe in abf_input_inline (vm=0x7ffff694b240
> <vlib_global_main>, node=0x7fffb537fb80, frame=0x7fffb5ec1640,
> fproto=FIB_PROTOCOL_IP4)
>     at /home/raj/vpp-build/src/plugins/abf/abf_itf_attach.c:569
> #8  0x00007fffb4ec9662 in abf_input_ip4 (vm=0x7ffff694b240
> <vlib_global_main>, node=0x7fffb537fb80, frame=0x7fffb5ec1640) at
> /home/raj/vpp-build/src/plugins/abf/abf_itf_attach.c:625
> #9  0x00007ffff66c6ad4 in dispatch_node (vm=0x7ffff694b240
> <vlib_global_main>, node=0x7fffb537fb80, type=VLIB_NODE_TYPE_INTERNAL,
> dispatch_state=VLIB_NODE_STATE_POLLING, frame=0x7fffb5ec1640,
>     last_time_stamp=1155022497203244) at
> /home/raj/vpp-build/src/vlib/main.c:989
> #10 0x00007ffff66c708d in dispatch_pending_node (vm=0x7ffff694b240
> <vlib_global_main>, pending_frame_index=1, last_time_stamp=1155022497203244)
> at /home/raj/vpp-build/src/vlib/main.c:1139
> #11 0x00007ffff66c8c8b in vlib_main_or_worker_loop (vm=0x7ffff694b240
> <vlib_global_main>, is_main=1) at /home/raj/vpp-build/src/vlib/main.c:1555
> #12 0x00007ffff66c9464 in vlib_main_loop (vm=0x7ffff694b240
> <vlib_global_main>) at /home/raj/vpp-build/src/vlib/main.c:1629
> #13 0x00007ffff66ca037 in vlib_main (vm=0x7ffff694b240 <vlib_global_main>,
> input=0x7fffb55fffb0) at /home/raj/vpp-build/src/vlib/main.c:1820
> #14 0x00007ffff672148a in thread0 (arg=140737330328128) at
> /home/raj/vpp-build/src/vlib/unix/main.c:607
> #15 0x00007ffff5f5085c in clib_calljmp () from
> /home/raj/vpp-build/build-root/install-vpp_debug-native/vpp/lib/libvppinfra.so.18.10
> #16 0x00007fffffffd120 in ?? ()
> #17 0x00007ffff672193b in vlib_unix_main (argc=43, argv=0x55555588e510) at
> /home/raj/vpp-build/src/vlib/unix/main.c:676
> #18 0x000055555555c898 in main (argc=43, argv=0x55555588e510) at
> /home/raj/vpp-build/src/vpp/vnet/main.c:264
>
> Thanks and Regards,
>
> Raj
>
>
> On Mon, Mar 18, 2019 at 3:53 PM Raj via Lists.Fd.Io<http://Lists.Fd.Io>
> <rajlistuser=gmail....@lists.fd.io<mailto:gmail....@lists.fd.io>> wrote:
> Thanks Andrew for looking into it.
>
> In the crash I sent, I missed adding ACL. But I was working with 18.10
> previously and there I am sure I added ACL, but there was still some
> thing amiss. I am now doing the testing once more in 18.10 and will
> get back with result.
>
> Thanks and Regards,
>
> Raj
>
> On Mon, Mar 18, 2019 at 3:41 PM Andrew 👽 Yourtchenko
> <ayour...@gmail.com<mailto:ayour...@gmail.com>> wrote:
>>
>> Raj,
>>
>> yeah so looking further at it - the abf plugin does not handle the
>> error code correctly for the case when the ACL does not exist, and
>> rather than erroring out, just keeps going. Hence the assert later on
>> when it tries to perform the lookup in the context that has not been
>> properly setup..
>>
>> --a
>>
>> On 3/18/19, Raj <rajlistu...@gmail.com<mailto:rajlistu...@gmail.com>>
>> wrote:
>> > Hello all,
>> >
>> > I am testing ABF functionality and was able to crash VPP.
>> >
>> > I was using v19.04-rc0~458-g53ba544d7. Configured VPP using following
>> > commands:
>> >
>> > set int state GigabitEthernet86/0/3 up
>> > set int ip address GigabitEthernet86/0/3 xxx.xx.223.14/29
>> > set int ip address GigabitEthernet86/0/3 2001:470:xxxx:xxx::600/64
>> >
>> > ip route add 0.0.0.0/0<http://0.0.0.0/0> via xxx.xx.223.9
>> > GigabitEthernet86/0/3
>> > ip route add ::/0 via 2001:470:xxxx:xxx::1 GigabitEthernet86/0/3
>> >
>> > set int state GigabitEthernet86/0/2 up
>> > set int ip address GigabitEthernet86/0/2
>> > 100.69.1.1/24<http://100.69.1.1/24>
>> > set int ip address GigabitEthernet86/0/2 2001:470:yyyy:yyy::1/56
>> >
>> > set int ip addr GigabitEthernet86/0/0
>> > 192.168.20.1/29<http://192.168.20.1/29>
>> > set int state GigabitEthernet86/0/0 up
>> >
>> > abf policy add id 0 acl 0 via 192.168.20.2 GigabitEthernet86/0/0
>> > abf attach ip4 policy 0 priority 1 GigabitEthernet86/0/2
>> >
>> > Running VPP under gdb, the back trace is:
>> >
>> > Thread 1 "vpp_main" received signal SIGABRT, Aborted.
>> > __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
>> > 51      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
>> > (gdb)
>> > (gdb)
>> > (gdb) bt
>> > #0  __GI_raise (sig=sig@entry=6) at
>> > ../sysdeps/unix/sysv/linux/raise.c:51
>> > #1  0x00007ffff5912801 in __GI_abort () at abort.c:79
>> > #2  0x000055555555c4c8 in os_panic () at
>> > /home/raj/vpp/src/vpp/vnet/main.c:335
>> > #3  0x00007ffff5d0125f in debugger () at
>> > /home/raj/vpp/src/vppinfra/error.c:84
>> > #4  0x00007ffff5d0169a in _clib_error (how_to_die=2,
>> > function_name=0x0, line_number=0, fmt=0x7fffb4860d40 "%s:%d (%s)
>> > assertion `%s' fails") at /home/raj/vpp/src/vppinfra/error.c:143
>> > #5  0x00007fffb485a720 in hash_multi_acl_match_5tuple
>> > (p_acl_main=0x7fffb48513e0 <acl_main>, lc_index=0,
>> > pkt_5tuple=0x7fffb6bffac0, is_ip6=0, action=0x7fffb6bffa47 "",
>> >     acl_pos_p=0x7fffb6bffa50, acl_match_p=0x7fffb6bffa4c,
>> > rule_match_p=0x7fffb6bffa54, trace_bitmap=0x7fffb6bffa58) at
>> > /home/raj/vpp/src/plugins/acl/public_inlines.h:636
>> > #6  0x00007fffb485a95f in acl_plugin_match_5tuple_inline
>> > (p_acl_main=0x7fffb48513e0 <acl_main>, lc_index=0,
>> > pkt_5tuple=0x7fffb6bffac0, is_ip6=0, r_action=0x7fffb6bffa47 "",
>> >     r_acl_pos_p=0x7fffb6bffa50, r_acl_match_p=0x7fffb6bffa4c,
>> > r_rule_match_p=0x7fffb6bffa54, trace_bitmap=0x7fffb6bffa58) at
>> > /home/raj/vpp/src/plugins/acl/public_inlines.h:675
>> > #7  0x00007fffb485d214 in abf_input_inline (vm=0x7ffff6512600
>> > <vlib_global_main>, node=0x7fffb5f36980, frame=0x7fffb6dfc400,
>> > fproto=FIB_PROTOCOL_IP4)
>> >     at /home/raj/vpp/src/plugins/abf/abf_itf_attach.c:569
>> > #8  0x00007fffb485d478 in abf_input_ip4 (vm=0x7ffff6512600
>> > <vlib_global_main>, node=0x7fffb5f36980, frame=0x7fffb6dfc400) at
>> > /home/raj/vpp/src/plugins/abf/abf_itf_attach.c:625
>> > #9  0x00007ffff6280614 in dispatch_node (vm=0x7ffff6512600
>> > <vlib_global_main>, node=0x7fffb5f36980, type=VLIB_NODE_TYPE_INTERNAL,
>> > dispatch_state=VLIB_NODE_STATE_POLLING,
>> >     frame=0x7fffb6dfc400, last_time_stamp=1082092493908744) at
>> > /home/raj/vpp/src/vlib/main.c:1209
>> > #10 0x00007ffff6280dd5 in dispatch_pending_node (vm=0x7ffff6512600
>> > <vlib_global_main>, pending_frame_index=2,
>> > last_time_stamp=1082092493908744) at
>> > /home/raj/vpp/src/vlib/main.c:1376
>> > #11 0x00007ffff6282b01 in vlib_main_or_worker_loop (vm=0x7ffff6512600
>> > <vlib_global_main>, is_main=1) at /home/raj/vpp/src/vlib/main.c:1820
>> > #12 0x00007ffff628337c in vlib_main_loop (vm=0x7ffff6512600
>> > <vlib_global_main>) at /home/raj/vpp/src/vlib/main.c:1922
>> > #13 0x00007ffff6284109 in vlib_main (vm=0x7ffff6512600
>> > <vlib_global_main>, input=0x7fffb6bfffb0) at
>> > /home/raj/vpp/src/vlib/main.c:2111
>> > #14 0x00007ffff62e13c0 in thread0 (arg=140737325901312) at
>> > /home/raj/vpp/src/vlib/unix/main.c:612
>> > #15 0x00007ffff5d24544 in clib_calljmp () from
>> > /home/raj/vpp/build-root/install-vpp_debug-native/vpp/lib/libvppinfra.so.19.04
>> > #16 0x00007fffffffd170 in ?? ()
>> > #17 0x00007ffff62e188d in vlib_unix_main (argc=43,
>> > argv=0x55555586f500) at /home/raj/vpp/src/vlib/unix/main.c:681
>> > #18 0x000055555555bf0c in main (argc=43, argv=0x55555586f500) at
>> > /home/raj/vpp/src/vpp/vnet/main.c:274
>> >
>> > Thanks and Regards,
>> >
>> > Raj
>> >
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
>
> View/Reply Online (#12571): https://lists.fd.io/g/vpp-dev/message/12571
> Mute This Topic: https://lists.fd.io/mt/30471670/157026
> Group Owner: vpp-dev+ow...@lists.fd.io<mailto:vpp-dev%2bow...@lists.fd.io>
> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub
> [rajlistu...@gmail.com<mailto:rajlistu...@gmail.com>]
> -=-=-=-=-=-=-=-=-=-=-=-
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12583): https://lists.fd.io/g/vpp-dev/message/12583
Mute This Topic: https://lists.fd.io/mt/30471670/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to