Question: is icmp layer 2 or 3?
Answer: ICMP messages are encapsulated in IP packets so most people would say that it's a layer 4 protocol like UDP or TCP. However, since ICMP is a vital part of the IP protocol it is typically considered a layer 3 protocol.