u32 match udp does not work (nexthdr+0) => not follows nexthdr's port location
To use nexthdr you must use "offset" with hash table. U32 is universal (read line #2 in cls_u32.c), it does not know that you are using IPv4, so .. https://lartc.vger.kernel.narkive.com/KTD6vNXU/tc-u32-match-in-nexthdr-not-working