• Stefano Brivio's avatar
    netfilter: ipset: Allow matching on destination MAC address for mac and ipmac sets · 8cc4ccf5
    Stefano Brivio authored
    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: default avatarYi Chen <yiche@redhat.com>
    Signed-off-by: default avatarStefano Brivio <sbrivio@redhat.com>
    Signed-off-by: default avatarJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
    8cc4ccf5
ip_set_hash_mac.c 4.5 KB