Hi guys,

I’m using VPP 19.08 with networking-vpp in an openstack stein environment, 
where we are busy building an open environment that is specifically built for 
NFV applications. One of those functions is a firewall setup, where we firewall 
a customer’s traffic and provide said customer with a ‘clean and safe’ internet 
connection.

As such, I am evaluating a VPP setup, which looks very promising. However: in 
the following scenario, I run into an issue:

I have a compute host on which I have a firewall running ánd a guest (cirros 
for now). Setup is as follows:

145.144.1.53-fa:16:3e:7c:96:d0 – VirtualEthernet0/0/2 | firewall instance | 
VirtualEthernet0/03 145.144.1.78 - fa:16:3e:26:3e:0e <–> vlan 69 <–> 
145.144.1.84 - fa:16:3e:93:0c:50- VirtualEthernet0/0/4 | cirros instance |

From the cirros instance pingin the inside interface of the firewall (0/0/3) 
works like a charm, I wouldn’t have expected any different.

When I try to ping the outside interface of the firewall (0/0/2), traces show 
the following:


0:53:47:316205: vhost-user-input

     VirtualEthernet0/0/4 queue 0

   virtio flags:

    INDIRECT Indirect descriptor

   virtio_net_hdr first_desc_len 12

     flags 0x00 gso_type 0

     num_buff 0

00:53:47:316208: ethernet-input

  frame: flags 0x1, hw-if-index 7, sw-if-index 10

  IP4: fa:16:3e:93:0c:50 -> fa:16:3e:26:3e:0e

00:53:47:316209: l2-input

  l2-input: sw_if_index 10 dst fa:16:3e:26:3e:0e src fa:16:3e:93:0c:50

00:53:47:316210: l2-input-feat-arc

  IN-FEAT-ARC: head 1 feature_bitmap 500525 ethertype 800 sw_if_index 10, 
next_index 22

00:53:47:316211: acl-plugin-in-ip4-l2

  acl-plugin: lc_index: -1, sw_if_index 10, next index 1, action: 3, match: acl 
-1 rule 44 trace_bits 80000000

  pkt info 0000000000000000 0000000000000000 0000000000000000 3501909154019091 
000a030100000008 0200ffff00000000

   lc_index 0 l3 ip4 145.144.1.84 -> 145.144.1.53 l4 lsb_of_sw_if_index 10 
proto 1 l4_is_input 1 l4_slow_path 1 l4_flags 0x03 port 8 -> 0 tcp flags 
(invalid) 00 rsvd 0

00:53:47:316214: l2-input-feat-arc-end

  IN-FEAT-ARC: head 0 feature_bitmap 100525 ethertype 0 sw_if_index -1, 
next_index 17

00:53:47:316215: l2-input-acl

  INACL: sw_if_index 10, next_index 9, table 41, offset 1392

00:53:47:316216: l2-learn

  l2-learn: sw_if_index 10 dst fa:16:3e:26:3e:0e src fa:16:3e:93:0c:50 bd_index 
3

00:53:47:316218: l2-fwd

  l2-fwd:   sw_if_index 10 dst fa:16:3e:26:3e:0e src fa:16:3e:93:0c:50 bd_index 
3 result [0x5d50000000009, 9] none

00:53:47:316219: l2-output

  l2-output: sw_if_index 9 dst fa:16:3e:26:3e:0e src fa:16:3e:93:0c:50 data 08 
00 45 00 00 54 33 9c 40 00 40 01

00:53:47:316220: l2-output-feat-arc

  OUT-FEAT-ARC: head 1 feature_bitmap 4001 ethertype 800 sw_if_index 9, 
next_index 11

00:53:47:316220: acl-plugin-out-ip4-l2

  acl-plugin: lc_index: 6, sw_if_index 9, next index 1, action: 1, match: acl 4 
rule 2 trace_bits 00000000

  pkt info 0000000000000000 0000000000000000 0000000000000000 3501909154019091 
0009020100000008 0200ffff00000006

   lc_index 6 l3 ip4 145.144.1.84 -> 145.144.1.53 l4 lsb_of_sw_if_index 9 proto 
1 l4_is_input 0 l4_slow_path 1 l4_flags 0x02 port 8 -> 0 tcp flags (invalid) 00 
rsvd 0

00:53:47:316223: l2-output-feat-arc-end

  OUT-FEAT-ARC: head 0 feature_bitmap 1 ethertype 0 sw_if_index -1, next_index 0

00:53:47:316224: VirtualEthernet0/0/3-output

  VirtualEthernet0/0/3 l2_hdr_offset_valid l3_hdr_offset_valid

  IP4: fa:16:3e:93:0c:50 -> fa:16:3e:26:3e:0e

  ICMP: 145.144.1.84 -> 145.144.1.53

    tos 0x00, ttl 64, length 84, checksum 0xe163

    fragment id 0x339c, flags DONT_FRAGMENT

  ICMP echo_request checksum 0x9914

00:53:47:316225: VirtualEthernet0/0/3-tx

     VirtualEthernet0/0/3 queue 0

   virtio flags:

    SINGLE_DESC Single descriptor packet

   virtio_net_hdr first_desc_len 4096

     flags 0x00 gso_type 0

     num_buff 1



Packet 3



00:53:47:316357: vhost-user-input

     VirtualEthernet0/0/3 queue 0

   virtio flags:

    INDIRECT Indirect descriptor

   virtio_net_hdr first_desc_len 12

     flags 0x00 gso_type 0

     num_buff 0

00:53:47:316358: ethernet-input

  frame: flags 0x1, hw-if-index 6, sw-if-index 9

  IP4: fa:16:3e:26:3e:0e -> fa:16:3e:93:0c:50

00:53:47:316358: l2-input

  l2-input: sw_if_index 9 dst fa:16:3e:93:0c:50 src fa:16:3e:26:3e:0e

00:53:47:316359: l2-input-feat-arc

  IN-FEAT-ARC: head 1 feature_bitmap 500525 ethertype 800 sw_if_index 9, 
next_index 22

00:53:47:316359: acl-plugin-in-ip4-l2

  acl-plugin: lc_index: -1, sw_if_index 9, next index 1, action: 3, match: acl 
-1 rule 97 trace_bits 80000000

  pkt info 0000000000000000 0000000000000000 0000000000000000 5401909135019091 
0009030100000000 0200ffff00000000

   lc_index 0 l3 ip4 145.144.1.53 -> 145.144.1.84 l4 lsb_of_sw_if_index 9 proto 
1 l4_is_input 1 l4_slow_path 1 l4_flags 0x03 port 0 -> 0 tcp flags (invalid) 00 
rsvd 0

00:53:47:316359: l2-input-feat-arc-end

  IN-FEAT-ARC: head 0 feature_bitmap 100525 ethertype 0 sw_if_index -1, 
next_index 17

00:53:47:316360: l2-input-acl

  INACL: sw_if_index 9, next_index 0, table 12, offset -1

00:53:47:316361: error-drop

  rx:VirtualEthernet0/0/3

00:53:47:316362: drop

  l2-input-acl: input ACL table-miss drops


The packets get dropped.. I have found all the acl’s in vpp, but I cannot 
really see what would be wrong here, or what causes the packets to be dropped. 
Has anyone else had any experiences like this, or a solution?

Regards,

Eyle

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#13909): https://lists.fd.io/g/vpp-dev/message/13909
Mute This Topic: https://lists.fd.io/mt/33152601/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