RINASim
October 2016
Documentation of framework for OMNeT++
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
SimpleSpineForwarding.h
Go to the documentation of this file.
1
// The MIT License (MIT)
2
//
3
// Copyright (c) 2014-2016 Brno University of Technology, PRISTINE project
4
//
5
// Permission is hereby granted, free of charge, to any person obtaining a copy
6
// of this software and associated documentation files (the "Software"), to deal
7
// in the Software without restriction, including without limitation the rights
8
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
// copies of the Software, and to permit persons to whom the Software is
10
// furnished to do so, subject to the following conditions:
11
//
12
// The above copyright notice and this permission notice shall be included in
13
// all copies or substantial portions of the Software.
14
//
15
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
// THE SOFTWARE.
22
23
#pragma once
24
25
#include "
SimpleDCForwarding.h
"
26
27
namespace
NSPSimpleDC
{
28
29
using namespace
std
;
30
31
struct
sFWDEntry
{
32
char
entryType
;
//0 == NONE, 1 == UP, 2 DOWN, 3 BOTH
33
bool
inverseStorage
;
34
set<Port>
ports
;
35
36
sFWDEntry
();
37
};
38
39
class
SimpleSpineForwarding
:
public
iSimpleDCForwarding
{
40
41
public
:
42
bool
setNeigh(
const
DCAddr
& n_addr,
Port
port);
43
void
setDst(
const
DCAddr
& n_addr,
const
set<DCAddr> & next);
44
void
finish();
45
46
47
protected
:
48
int
upCount
, downCount;
49
Port
*
portsArray
;
50
vector<Port>
upV
, downV, bothV;
51
map<DCAddr, sFWDEntry>
table
;
52
53
void
onPolicyInit();
54
vector<Port> search(
const
DCAddr
& n_addr);
55
56
sFWDEntry
getFWDEntryUP(
const
set<int> & pIds);
57
sFWDEntry
getFWDEntryDOWN(
const
set<int> & pIds);
58
sFWDEntry
getFWDEntryBOTH(
const
set<int> & pIdsU,
const
set<int> & pIdsD);
59
};
60
61
}
NSPSimpleDC::SimpleSpineForwarding
Definition:
SimpleSpineForwarding.h:39
std
SimpleDCForwarding.h
NSPSimpleDC::DCAddr
Definition:
DCAddr.h:9
NSPSimpleDC::sFWDEntry
Definition:
SimpleSpineForwarding.h:31
NSPSimpleDC::SimpleSpineForwarding::portsArray
Port * portsArray
Definition:
SimpleSpineForwarding.h:49
NSPSimpleDC::SimpleSpineForwarding::upCount
int upCount
Definition:
SimpleSpineForwarding.h:48
NSPSimpleDC::iSimpleDCForwarding
Definition:
SimpleDCForwarding.h:40
NSPSimpleDC::sFWDEntry::ports
set< Port > ports
Definition:
SimpleSpineForwarding.h:34
NSPSimpleDC::sFWDEntry::entryType
char entryType
Definition:
SimpleSpineForwarding.h:32
NSPSimpleDC::SimpleSpineForwarding::upV
vector< Port > upV
Definition:
SimpleSpineForwarding.h:50
NSPSimpleDC::SimpleSpineForwarding::table
map< DCAddr, sFWDEntry > table
Definition:
SimpleSpineForwarding.h:51
RMTPort
Definition:
RMTPort.h:36
NSPSimpleDC
Definition:
SimpleDCGenerator.cc:21
NSPSimpleDC::sFWDEntry::inverseStorage
bool inverseStorage
Definition:
SimpleSpineForwarding.h:33
policies
DIF
RMT
PDUForwarding
SimpleDCForwarding
Spine
SimpleSpineForwarding.h
Generated on Tue Oct 25 2016 21:08:56 for RINASim by
1.8.10