Fix matching ICMPv6 mld-listener-query packets
authorAntonio Ospite <ao2@ao2.it>
Fri, 20 Apr 2018 13:55:16 +0000 (15:55 +0200)
committerAntonio Ospite <ao2@ao2.it>
Mon, 23 Apr 2018 14:47:57 +0000 (16:47 +0200)
commitd684d1e527c3554ae88b01d215d3a07d7606cbad
tree9ff20d4cb8223a4490e84fcc57f894e281cfaa5f
parent4fda8eab6d828b61ca4753cb2bc0c232578ffb90
Fix matching ICMPv6 mld-listener-query packets

Even though there is a rule to match mld-listener-query in a "nexhdr
ipv6-icmp" packet, the packets still get rejected and the following
message shows up in the logs:

  [INPUT]: ... SRC=fe80:0000:0000:0000:0000:0000:0000:0001
               DST=ff02:0000:0000:0000:0000:0000:0000:0001
               LEN=76 TC=0 HOPLIMIT=1 FLOWLBL=0
               PROTO=ICMPv6 TYPE=130 CODE=0

By looking at the  packet dump it looks like the packet come after
a Hop-by-Hop header:

  Internet Protocol Version 6, Src: fe80::1, Dst: ff02::1
      0110 .... = Version: 6
      ...
      Next Header: IPv6 Hop-by-Hop Option (0)
      Hop Limit: 1
      Source: fe80::1
      Destination: ff02::1
      ...
      IPv6 Hop-by-Hop Option
          Next Header: ICMPv6 (58)
          ...
  Internet Control Message Protocol v6
      Type: Multicast Listener Query (130)
      ...

and so "ip6 nexthdr" does not really matches it.

Use "hbh nexthdr" instead.
nftables-workstation.nft