DESERT
3.5.1
Loading...
Searching...
No Matches
marptable.cpp
Go to the documentation of this file.
1
//
2
// Copyright (c) 2017 Regents of the SIGNET lab, University of Padova.
3
// All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions
7
// are met:
8
// 1. Redistributions of source code must retain the above copyright
9
// notice, this list of conditions and the following disclaimer.
10
// 2. Redistributions in binary form must reproduce the above copyright
11
// notice, this list of conditions and the following disclaimer in the
12
// documentation and/or other materials provided with the distribution.
13
// 3. Neither the name of the University of Padova (SIGNET lab) nor the
14
// names of its contributors may be used to endorse or promote products
15
// derived from this software without specific prior written permission.
16
//
17
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
21
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
24
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
//
29
30
// This module has only slightly modification as respect to the mll module
31
// contained in Miracle,
32
// released under the same BSD copyright and implemented by
33
// Erik Andersson, Emil Ljungdahl, Lars-Olof Moilanen (Karlstad University)
34
44
#include "
marptable.h
"
45
46
UWARPTable::UWARPTable
()
47
{
48
}
49
50
UWARPTable::~UWARPTable
()
51
{
52
}
53
54
void
55
UWARPTable::addEntry
(
UWARPEntry
*entry)
56
{
57
table_
[entry->
ipaddr_
] = entry;
58
}
59
60
UWARPEntry
*
61
UWARPTable::lookup
(nsaddr_t addr)
62
{
63
map<nsaddr_t, UWARPEntry *>::iterator it;
64
it =
table_
.find(addr);
65
if
(it !=
table_
.end())
66
return
it->second;
67
else
68
return
0;
69
}
70
71
void
72
UWARPTable::clear
()
73
{
74
table_
.clear();
75
}
UWARPEntry
ARP table entry.
Definition
marptable.h:64
UWARPEntry::ipaddr_
nsaddr_t ipaddr_
network address
Definition
marptable.h:82
UWARPTable::table_
map< nsaddr_t, UWARPEntry * > table_
The ARP table as an associative array.
Definition
marptable.h:122
UWARPTable::UWARPTable
UWARPTable()
Constructor.
Definition
marptable.cpp:46
UWARPTable::~UWARPTable
~UWARPTable()
Desctructor.
Definition
marptable.cpp:50
UWARPTable::lookup
UWARPEntry * lookup(nsaddr_t addr)
Lookup entry in table.
Definition
marptable.cpp:61
UWARPTable::clear
void clear()
Remove all entries in table.
Definition
marptable.cpp:72
UWARPTable::addEntry
void addEntry(UWARPEntry *entry)
Add entry to ARP table.
Definition
marptable.cpp:55
marptable.h
Provides the definition of the ARP table of MLL module.
DESERT_Framework
DESERT
data_link
uwmll
marptable.cpp
Generated by
1.9.8