batman-adv: Distributed ARP Table - create DHT helper functions
[deliverable/linux.git] / net / batman-adv / distributed-arp-table.h
CommitLineData
785ea114
AQ
1/* Copyright (C) 2011-2012 B.A.T.M.A.N. contributors:
2 *
3 * Antonio Quartulli
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of version 2 of the GNU General Public
7 * License as published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17 * 02110-1301, USA
18 */
19
20#ifndef _NET_BATMAN_ADV_ARP_H_
21#define _NET_BATMAN_ADV_ARP_H_
22
23#include "types.h"
24#include "originator.h"
25
26#define BATADV_DAT_ADDR_MAX ((batadv_dat_addr_t)~(batadv_dat_addr_t)0)
27
28/**
29 * batadv_dat_init_orig_node_addr - assign a DAT address to the orig_node
30 * @orig_node: the node to assign the DAT address to
31 */
32static inline void
33batadv_dat_init_orig_node_addr(struct batadv_orig_node *orig_node)
34{
35 uint32_t addr;
36
37 addr = batadv_choose_orig(orig_node->orig, BATADV_DAT_ADDR_MAX);
38 orig_node->dat_addr = (batadv_dat_addr_t)addr;
39}
40
41/**
42 * batadv_dat_init_own_addr - assign a DAT address to the node itself
43 * @bat_priv: the bat priv with all the soft interface information
44 * @primary_if: a pointer to the primary interface
45 */
46static inline void
47batadv_dat_init_own_addr(struct batadv_priv *bat_priv,
48 struct batadv_hard_iface *primary_if)
49{
50 uint32_t addr;
51
52 addr = batadv_choose_orig(primary_if->net_dev->dev_addr,
53 BATADV_DAT_ADDR_MAX);
54
55 bat_priv->dat.addr = (batadv_dat_addr_t)addr;
56}
57
58#endif /* _NET_BATMAN_ADV_ARP_H_ */
This page took 0.029457 seconds and 5 git commands to generate.