# batman-adv mesh interface

# Dummy-Interface als MainIF mit manueller MAC fuer batman-adv
auto meshdummy0
iface meshdummy0 inet manual
    pre-up ip link add $IFACE type dummy
    pre-up ip link set address {{mesh_mac}} dev $IFACE
    pre-up ip link set up dev $IFACE
    post-down ip link set down dev $IFACE
    post-down ip link del dev $IFACE
    up batctl if add $IFACE

# batman-adv Mesh Interface, wird von meshdummy0 per Hotplug aktiviert
allow-hotplug bat0
iface bat0 inet static
    address {{mesh_ipv4|ipaddr('address')}}
    netmask {{mesh_ipv4|ipaddr('netmask')}}
    hwaddress {{bat_mac}}
    pre-up ip rule add from {{mesh_ipv4}} table 42
    pre-up ip rule add to {{mesh_ipv4}} table 42
    pre-up batctl it 5000
    pre-up batctl bl 0
    pre-up batctl gw server 48mbit/48mbit
    pre-up echo 120 > /sys/class/net/$IFACE/mesh/hop_penalty
    post-down ip rule del from {{mesh_ipv4}} table 42
    post-down ip rule del to {{mesh_ipv4}} table 42

{% if mesh_ipv6 is defined %}
iface bat0 inet6 static
    address {{mesh_ipv6}}
    pre-up ip -6 rule add from {{mesh_ipv6|ipaddr('cidr')}} table 42
    pre-up ip -6 rule add to {{mesh_ipv6|ipaddr('cidr')}} table 42
    post-down ip -6 rule del from {{mesh_ipv6|ipaddr('cidr')}} table 42
    post-down ip -6 rule del to {{mesh_ipv6|ipaddr('cidr')}} table 42
    #pre-up ebtables -A FORWARD -p IPv6 -i $IFACE --ip6-proto ipv6-icmp --ip6-icmp-type router-advertisement -j DROP
{% endif %}