Skip to content

Commit

Permalink
fib_optimizer is now ipv4/6 aware
Browse files Browse the repository at this point in the history
  • Loading branch information
dbarrosop committed Aug 17, 2015
1 parent 5297d6f commit b093506
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions fib_optimizer/fib_optimizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ def get_top_prefixes():
end_time=end_time,
limit_prefixes=limit_lem,
net_masks=conf['lem_prefixes'],
filter_proto=4,
).result]

# limit_lpm = int(conf['max_lpm_prefixes']) - len(inc_lpm) + len(exc_lpm)
Expand All @@ -123,6 +124,7 @@ def get_top_prefixes():
end_time=end_time,
limit_prefixes=limit_lpm,
net_masks=conf['lem_prefixes'],
filter_proto=4,
exclude_net_masks=1,
).result]
return lem, lpm
Expand All @@ -139,15 +141,15 @@ def _build_pl(name, prefixes):
with open('{}/{}'.format(conf['path'], name), "w") as f:
f.write(pl)

_build_pl('fib_optimizer_lpm', lpm_prefixes)
_build_pl('fib_optimizer_lem', lem_prefixes)
_build_pl('fib_optimizer_lpm_v4', lpm_prefixes)
_build_pl('fib_optimizer_lem_v4', lem_prefixes)


def install_prefix_lists():
logger.debug('Installing the prefix-lists in the system')

cli_lpm = shlex.split('printf "conf t\n ip prefix-list fib_optimizer_lpm file:{}/fib_optimizer_lpm"'.format(conf['path']))
cli_lem = shlex.split('printf "conf t\n ip prefix-list fib_optimizer_lem file:{}/fib_optimizer_lem"'.format(conf['path']))
cli_lpm = shlex.split('printf "conf t\n ip prefix-list fib_optimizer_lpm_v4 file:{}/fib_optimizer_lpm_v4"'.format(conf['path']))
cli_lem = shlex.split('printf "conf t\n ip prefix-list fib_optimizer_lem_v4 file:{}/fib_optimizer_lem_v4"'.format(conf['path']))
cli = shlex.split('sudo ip netns exec default FastCli -p 15 -A')

p_lpm = subprocess.Popen(cli_lpm, stdout=subprocess.PIPE)
Expand Down Expand Up @@ -197,8 +199,8 @@ def _merge_pl(pl, pl_file, max_p):
i += 1
return new

lem = _merge_pl(lem_prefixes, '{}/fib_optimizer_lem'.format(conf['path']), conf['max_lem_prefixes'])
lpm = _merge_pl(lpm_prefixes, '{}/fib_optimizer_lpm'.format(conf['path']), conf['max_lpm_prefixes'])
lem = _merge_pl(lem_prefixes, '{}/fib_optimizer_lem_v4'.format(conf['path']), conf['max_lem_prefixes'])
lpm = _merge_pl(lpm_prefixes, '{}/fib_optimizer_lpm_v4'.format(conf['path']), conf['max_lpm_prefixes'])

return lem, lpm

Expand Down

0 comments on commit b093506

Please sign in to comment.