Hi ,
I am trying ipv6 ping .It is not working when ip6 classifier is configured.
Reason of non-working case from below traces ,seems classify gets attached
for icmpv6 packets and since no rule is to handle v6 classifier ping
doesn't work. Any clue how this can be changed to work?

non-working case trace :
00:03:31:436323: dpdk-input
  GigabitEthernet1/0/0 rx queue 0
  buffer 0x4d19: current data 14, length 72, free-list 0, clone-count 0,
totlen-nifb 0, trace 0x3
                 ext-hdr-valid
                 l4-cksum-computed l4-cksum-correct l2-hdr-offset 0
l3-hdr-offset 14
  PKT MBUF: port 0, nb_segs 1, pkt_len 86
    buf_len 2176, data_len 86, ol_flags 0x180, data_off 128, phys_addr
0xff9346c0
    packet_type 0x41 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
    Packet Offload Flags
      PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid
      PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid
    Packet Types
      RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet
      RTE_PTYPE_L3_IPV6 (0x0040) IPv6 packet without extension headers
  IP6: 54:ab:3a:79:85:40 -> 54:ab:3a:da:66:1f
  ICMP6: fe80::311d:805e:fe6f:6d12 -> 2001::1
    tos 0x00, flow label 0x0, hop limit 255, payload length 32
  ICMP neighbor_solicitation checksum 0x7bc
    target address 2001::1
00:03:31:436330: ip6-input
  ICMP6: fe80::311d:805e:fe6f:6d12 -> 2001::1
    tos 0x00, flow label 0x0, hop limit 255, payload length 32
  ICMP neighbor_solicitation checksum 0x7bc
    target address 2001::1
00:03:31:436335: ip6-lookup
  fib 0 dpo-idx 0 flow hash: 0x00000000
  ICMP6: fe80::311d:805e:fe6f:6d12 -> 2001::1
    tos 0x00, flow label 0x0, hop limit 255, payload length 32
  ICMP neighbor_solicitation checksum 0x7bc
    target address 2001::1
00:03:31:436337: ip6-classify
  IP_CLASSIFY: next_index 0, table 0, entry -1
00:03:31:436340: ip6-drop
    ICMP6: fe80::311d:805e:fe6f:6d12 -> 2001::1
      tos 0x00, flow label 0x0, hop limit 255, payload length 32
    ICMP neighbor_solicitation checksum 0x7bc
    target address 2001::1
00:03:31:436345: error-drop
  dpdk-input: no error


Non-working case fib entries:
DBGvpp#  show ip6 fib
ipv6-VRF:0, fib_index:0, flow hash:[src dst sport dport proto ]
locks:[src:default-route:1, ]
::/0
  unicast-ip6-chain
  [@0]: dpo-load-balance: [proto:ip6 index:6 buckets:1 uRPF:5 to:[1:168]]
    [0] [@0]: dpo-drop ip6
2001::/64
  unicast-ip6-chain
  [@0]: dpo-load-balance: [proto:ip6 index:9 buckets:1 uRPF:8 to:[0:0]]
    [0] [@4]: ipv6-glean: GigabitEthernet1/0/0: mtu:9202
ffffffffffff54ab3ada661f86dd
2001::1/128
  unicast-ip6-chain
  [@0]: dpo-load-balance: [proto:ip6 index:10 buckets:1 uRPF:17 to:[5:424]]
    [0] [@17]: ip6-classify:[0]:table:0
2001::2/128
  unicast-ip6-chain
  [@0]: dpo-load-balance: [proto:ip6 index:14 buckets:1 uRPF:9 to:[1:104]]
    [0] [@5]: ipv6 via 2001::2 GigabitEthernet1/0/0: mtu:9202
54ab3a79854054ab3ada661f86dd
fe80::/10
  unicast-ip6-chain
  [@0]: dpo-load-balance: [proto:ip6 index:7 buckets:1 uRPF:6 to:[0:0]]
    [0] [@13]: ip6-link-local
-------------------------------------------------------------------------------------------
DBGvpp#  show ip6 fib 2001::1/128 verbose
ipv6-VRF:0, fib_index:0, flow hash:[src dst sport dport proto ]
locks:[src:default-route:1, ]
2001::1/128 fib:0 index:8 locks:3
  src:classify refs:1 src-flags:added,contributing,active,
    path-list:[19] locks:2 uPRF-list:17 len:0 itfs:[]
      path:[23] pl-index:19 ip6 weight=1 pref=0 exclusive:
oper-flags:resolved,
        [@0]: ip6-classify:[0]:table:0
  src:interface refs:1 entry-flags:connected,local, src-flags:added,
cover:-1
    path-list:[14] locks:1 flags:local, uPRF-list:11 len:0 itfs:[]
      path:[14] pl-index:14 ip6 weight=1 pref=0 receive:
oper-flags:resolved, cfg-flags:local,
        [@0]: dpo-receive: 2001::1 on GigabitEthernet1/0/0
 forwarding:   unicast-ip6-chain
  [@0]: dpo-load-balance: [proto:ip6 index:10 buckets:1 uRPF:17 to:[5:424]]
    [0] [@17]: ip6-classify:[0]:table:0
----------------------------------------------------------------------------------------------------

Working case traces:

00:01:10:583987: dpdk-input
  GigabitEthernet1/0/0 rx queue 0
  buffer 0x4db5: current data 14, length 104, free-list 0, clone-count 0,
totlen-nifb 0, trace 0x4
                 ext-hdr-valid
                 l4-cksum-computed l4-cksum-correct l2-hdr-offset 0
l3-hdr-offset 14
  PKT MBUF: port 0, nb_segs 1, pkt_len 118
    buf_len 2176, data_len 118, ol_flags 0x180, data_off 128, phys_addr
0xff936dc0
    packet_type 0x41 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
    Packet Offload Flags
      PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid
      PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid
    Packet Types
      RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet
      RTE_PTYPE_L3_IPV6 (0x0040) IPv6 packet without extension headers
  IP6: 54:ab:3a:79:85:40 -> 54:ab:3a:da:66:1f
  ICMP6: 2001::2 -> 2001::1
    tos 0x00, flow label 0xb1cd2, hop limit 64, payload length 64
  ICMP echo_request checksum 0x9763
00:01:10:586196: ip6-input
  ICMP6: 2001::2 -> 2001::1
    tos 0x00, flow label 0xb1cd2, hop limit 64, payload length 64
  ICMP echo_request checksum 0x9763
00:01:10:586204: ip6-lookup
  fib 0 dpo-idx 6 flow hash: 0x00000000
  ICMP6: 2001::2 -> 2001::1
    tos 0x00, flow label 0xb1cd2, hop limit 64, payload length 64
  ICMP echo_request checksum 0x9763
00:01:10:586210: ip6-local
    ICMP6: 2001::2 -> 2001::1
      tos 0x00, flow label 0xb1cd2, hop limit 64, payload length 64
    ICMP echo_request checksum 0x9763
00:01:10:586216: ip6-icmp-input
  ICMP6: 2001::2 -> 2001::1
    tos 0x00, flow label 0xb1cd2, hop limit 64, payload length 64
  ICMP echo_request checksum 0x9763
00:01:10:586218: ip6-icmp-echo-request
  ICMP6: 2001::2 -> 2001::1
    tos 0x00, flow label 0xb1cd2, hop limit 64, payload length 64
  ICMP echo_request checksum 0x9763
00:01:10:586220: ip6-lookup
  fib 0 dpo-idx 2 flow hash: 0x00000000
  ICMP6: 2001::1 -> 2001::2
    tos 0x00, flow label 0xb1cd2, hop limit 64, payload length 64
  ICMP echo_reply checksum 0x9663
00:01:10:586223: ip6-rewrite
  tx_sw_if_index 1 adj-idx 2 : ipv6 via 2001::2 GigabitEthernet1/0/0:
mtu:9202 54ab3a79854054ab3ada661f86dd flow hash: 0x00000000
  00000000: 54ab3a79854054ab3ada661f86dd600b1cd200403a3f20010000000000000000
  00000020: 0000000000012001000000000000000000000000000281009663615d00019dac
  00000040: c25a0000000019e40e0000000000101112131415161718191a1b1c1d1e1f2021
  00000060: 22232425262728292a2b2c2d2e2f3031323334353637ee7d14b40000
00:01:10:586226: GigabitEthernet1/0/0-output
  GigabitEthernet1/0/0
  IP6: 54:ab:3a:da:66:1f -> 54:ab:3a:79:85:40
  ICMP6: 2001::1 -> 2001::2
    tos 0x00, flow label 0xb1cd2, hop limit 63, payload length 64
  ICMP echo_reply checksum 0x9663
00:01:10:586231: GigabitEthernet1/0/0-tx
  GigabitEthernet1/0/0 tx queue 1
  buffer 0x4db5: current data 0, length 118, free-list 0, clone-count 0,
totlen-nifb 0, trace 0x4
                 ext-hdr-valid
                 l4-cksum-computed l4-cksum-correct l2-hdr-offset 0
l3-hdr-offset 14
  PKT MBUF: port 0, nb_segs 1, pkt_len 118
    buf_len 2176, data_len 118, ol_flags 0x180, data_off 128, phys_addr
0xff936dc0
    packet_type 0x41 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
    Packet Offload Flags
      PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid
      PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid
    Packet Types
      RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet
      RTE_PTYPE_L3_IPV6 (0x0040) IPv6 packet without extension headers
  IP6: 54:ab:3a:da:66:1f -> 54:ab:3a:79:85:40
  ICMP6: 2001::1 -> 2001::2
    tos 0x00, flow label 0xb1cd2, hop limit 63, payload length 64
  ICMP echo_reply checksum 0x9663

Fib entries :
DBGvpp# show ip6 fib 2001::1/128
ipv6-VRF:0, fib_index:0, flow hash:[src dst sport dport proto ]
locks:[src:default-route:1, ]
2001::1/128 fib:0 index:8 locks:2
  src:interface refs:1 entry-flags:connected,local,
src-flags:added,contributing,active, cover:7
    path-list:[14] locks:2 flags:local, uPRF-list:11 len:0 itfs:[]
      path:[14] pl-index:14 ip6 weight=1 pref=0 receive:
oper-flags:resolved, cfg-flags:local,
        [@0]: dpo-receive: 2001::1 on GigabitEthernet1/0/0
 forwarding:   unicast-ip6-chain
  [@0]: dpo-load-balance: [proto:ip6 index:10 buckets:1 uRPF:11 to:[0:0]]
    [0] [@2]: dpo-receive: 2001::1 on GigabitEthernet1/0/0

Regards,
Bindiya

Reply via email to