linux/net/netfilter/ipset
Stefano Brivio 8cc4ccf583 netfilter: ipset: Allow matching on destination MAC address for mac and ipmac sets
There doesn't seem to be any reason to restrict MAC address
matching to source MAC addresses in set types bitmap:ipmac,
hash:ipmac and hash:mac. With this patch, and this setup:

  ip netns add A
  ip link add veth1 type veth peer name veth2 netns A
  ip addr add 192.0.2.1/24 dev veth1
  ip -net A addr add 192.0.2.2/24 dev veth2
  ip link set veth1 up
  ip -net A link set veth2 up

  ip netns exec A ipset create test hash:mac
  dst=$(ip netns exec A cat /sys/class/net/veth2/address)
  ip netns exec A ipset add test ${dst}
  ip netns exec A iptables -P INPUT DROP
  ip netns exec A iptables -I INPUT -m set --match-set test dst -j ACCEPT

ipset will match packets based on destination MAC address:

  # ping -c1 192.0.2.2 >/dev/null
  # echo $?
  0

Reported-by: Yi Chen <yiche@redhat.com>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
2018-10-22 23:11:21 +02:00
..
ip_set_bitmap_gen.h netfilter: ipset: Fix "don't update counters" mode when counters used at the matching 2018-01-08 18:11:12 +01:00
ip_set_bitmap_ip.c netfilter: ipset: use swap macro instead of _manually_ swapping values 2018-01-08 18:11:11 +01:00
ip_set_bitmap_ipmac.c netfilter: ipset: Allow matching on destination MAC address for mac and ipmac sets 2018-10-22 23:11:21 +02:00
ip_set_bitmap_port.c netfilter: ipset: use swap macro instead of _manually_ swapping values 2018-01-08 18:11:11 +01:00
ip_set_core.c net: Drop pernet_operations::async 2018-03-27 13:18:09 -04:00
ip_set_getport.c sctp: remove the typedef sctp_sctphdr_t 2017-07-01 09:08:41 -07:00
ip_set_hash_gen.h netfilter: Replace spin_is_locked() with lockdep 2018-10-16 10:01:47 +02:00
ip_set_hash_ip.c netfilter: ipset: Fix adding an IPv4 range containing more than 2^31 addresses 2017-09-26 20:15:04 +02:00
ip_set_hash_ipmac.c netfilter: ipset: Allow matching on destination MAC address for mac and ipmac sets 2018-10-22 23:11:21 +02:00
ip_set_hash_ipmark.c netfilter: ipset: Fix adding an IPv4 range containing more than 2^31 addresses 2017-09-26 20:15:04 +02:00
ip_set_hash_ipport.c netfilter: ipset: Fix adding an IPv4 range containing more than 2^31 addresses 2017-09-26 20:15:04 +02:00
ip_set_hash_ipportip.c netfilter: ipset: Fix adding an IPv4 range containing more than 2^31 addresses 2017-09-26 20:15:04 +02:00
ip_set_hash_ipportnet.c netfilter: ipset: Fix wraparound in hash:*net* types 2018-01-31 14:52:09 +01:00
ip_set_hash_mac.c netfilter: ipset: Allow matching on destination MAC address for mac and ipmac sets 2018-10-22 23:11:21 +02:00
ip_set_hash_net.c netfilter: ipset: Fix wraparound in hash:*net* types 2018-01-31 14:52:09 +01:00
ip_set_hash_netiface.c netfilter: ipset: Fix wraparound in hash:*net* types 2018-01-31 14:52:09 +01:00
ip_set_hash_netnet.c netfilter: ipset: Fix wraparound in hash:*net* types 2018-01-31 14:52:09 +01:00
ip_set_hash_netport.c netfilter: ipset: Fix wraparound in hash:*net* types 2018-01-31 14:52:09 +01:00
ip_set_hash_netportnet.c netfilter: ipset: Fix wraparound in hash:*net* types 2018-01-31 14:52:09 +01:00
ip_set_list_set.c netfilter: ipset: Fix "don't update counters" mode when counters used at the matching 2018-01-08 18:11:12 +01:00
Kconfig netfilter: ipset: hash:ipmac type support added to ipset 2016-11-10 13:28:49 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pfxlen.c netfilter: ipset: deduplicate prefixlen maps 2017-10-04 16:19:06 +02:00