From 7e598a7d621175e28121da14b86cdb7c6a6b2bf0 Mon Sep 17 00:00:00 2001 From: Flavio Leitner Date: Fri, 11 Apr 2014 18:34:08 -0300 Subject: [PATCH] packet: Add function ip_is_local_multicast() RFC4541- IGMP and MLD Snooping Switches Considerations recommends to have different actions for local and non-local multicast traffic. Acked-by: Daniel Borkmann Signed-off-by: Thomas Graf Signed-off-by: Flavio Leitner Signed-off-by: Ben Pfaff --- lib/packets.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/packets.h b/lib/packets.h index 10eac6705..4575dd081 100644 --- a/lib/packets.h +++ b/lib/packets.h @@ -446,6 +446,11 @@ ip_is_multicast(ovs_be32 ip) { return (ip & htonl(0xf0000000)) == htonl(0xe0000000); } +static inline bool +ip_is_local_multicast(ovs_be32 ip) +{ + return (ip & htonl(0xffffff00)) == htonl(0xe0000000); +} int ip_count_cidr_bits(ovs_be32 netmask); void ip_format_masked(ovs_be32 ip, ovs_be32 mask, struct ds *); -- 2.20.1