OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
linux_fdb.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #ifndef vnsw_agent_ksync_linux_fdb_h
6 #define vnsw_agent_ksync_linux_fdb_h
7 
10 
11 /**************************************************************************
12  * Implements KSyncVxlanVrfObject for Linux
13  **************************************************************************/
15 public:
17  virtual ~KSyncLinuxVrfObject();
18 
19  // Allocates a KSyncVxlanFdbObject for every VRF
21 private:
23 };
24 
25 /**************************************************************************
26  * Implements KSyncVxlanRouteObject for Linux
27  **************************************************************************/
29 public:
31  virtual ~KSyncLinuxFdbObject();
32 
33  // Allocates an entry of type KSyncLinuxFdbEntry from DBEntry of type
34  // BridgeRouteEntry
36  // Allocate and initialize an entry of type KSyncLinuxFdbEntry
37  KSyncEntry *Alloc(const KSyncEntry *entry, uint32_t index);
38 private:
40 };
41 
42 /**************************************************************************
43  * Implements KSyncVxlanFdbEntry for Linux
44  **************************************************************************/
46 public:
49  const KSyncLinuxFdbEntry *entry);
50  virtual ~KSyncLinuxFdbEntry();
51 
52  // Creates a FDB entry in Vxlan Bridge
53  // Handles FDB entries on local port as well as those reachable on tunnel
54  bool Add();
55  // Modify a FDB entry in Vxlan Bridge
56  bool Change();
57  // Modify a FDB entry from Vxlan Bridge
58  bool Delete();
59 private:
61 };
62 #endif // vnsw_agent_ksync_linux_fdb_h
virtual ~KSyncLinuxVrfObject()
Definition: linux_vxlan.cc:321
DISALLOW_COPY_AND_ASSIGN(KSyncLinuxFdbEntry)
Definition: vrf.h:86
virtual ~KSyncLinuxFdbEntry()
Definition: linux_vxlan.cc:231
KSyncLinuxVrfObject(KSyncLinuxVxlan *ksync)
Definition: linux_vxlan.cc:317
KSyncEntry * DBToKSyncEntry(const DBEntry *e)
Definition: linux_vxlan.cc:309
Agent supports multiple route tables - Inet-unicast (IPv4/IPv6), Inet-multicast, bridge, EVPN (Type2/Type5). This base class contains common code for all types of route tables.
Definition: agent_route.h:109
DISALLOW_COPY_AND_ASSIGN(KSyncLinuxVrfObject)
virtual ~KSyncLinuxFdbObject()
Definition: linux_vxlan.cc:299
DISALLOW_COPY_AND_ASSIGN(KSyncLinuxFdbObject)
KSyncVxlanRouteObject * AllocBridgeRouteTable(const VrfEntry *entry)
Definition: linux_vxlan.cc:325
KSyncEntry * Alloc(const KSyncEntry *entry, uint32_t index)
Definition: linux_vxlan.cc:302
KSyncLinuxFdbObject(KSyncLinuxVrfObject *vrf, AgentRouteTable *rt_table)
Definition: linux_vxlan.cc:294
KSyncLinuxFdbEntry(KSyncLinuxFdbObject *obj, const BridgeRouteEntry *route)
Definition: linux_vxlan.cc:226
KSyncVxlan * ksync() const