rm odltools egg files
[netvirt.git] / resources / tools / odltools / odltools / mdsal / models / odl_fib.py
1 from odltools.mdsal.model import Model
2
3
4 NAME = "odl-fib"
5
6
7 def fib_entries(store, ip=None, port=None, path=None):
8     return FibEntries(NAME, FibEntries.CONTAINER, store, ip, port, path)
9
10
11 class FibEntries(Model):
12     CONTAINER = "fibEntries"
13     VRFTABLES = "vrfTables"
14     VRFENTRY = "vrfEntry"
15     ROUTEDISTINGUISHER = "routeDistinguisher"
16     RD = "rd"
17
18     def get_vrf_tables(self):
19         return self.data[self.CONTAINER][self.VRFTABLES]
20
21     def get_vrf_entries_by_key(self, key="label"):
22         d = {}
23         vrf_tables = self.get_vrf_tables()
24         for vrf_table in vrf_tables:
25             for vrf_entry in vrf_table.get(self.VRFENTRY, []):
26                 if vrf_entry.get('label'):
27                     vrf_entry[self.RD] = vrf_table[self.ROUTEDISTINGUISHER]
28                     d[vrf_entry[key]] = vrf_entry
29         return d