return data
-def add_filter_xml(group, filter_type, entries, ip):
+def add_filter_xml(group, filter_type, entries, ip, policy=None):
"""Generate xml for Add Filter request
:param group: Name of group containing filter
:type entries: string
:param ip: Ipv4 address of node
:type ip: string
+ :param policy: Policy of filter update mechanism
+ :type policy: string
:returns: String containing xml data for request
"""
+ if policy:
+ policy = "<filter-policy>" + policy + "</filter-policy>"
+ else:
+ policy = ""
templ = Template('''<input>
<requested-node xmlns="urn:opendaylight:sxp:controller">$ip</requested-node>
<peer-group-name xmlns="urn:opendaylight:sxp:controller">$group</peer-group-name>
<sxp-filter xmlns="urn:opendaylight:sxp:controller">
+ $filter_policy
<filter-type>$filter_type</filter-type>$entries
</sxp-filter>
</input>''')
data = templ.substitute(
- {'group': group, 'filter_type': filter_type, 'ip': ip, 'entries': entries})
+ {'group': group, 'filter_type': filter_type, 'ip': ip, 'entries': entries, 'filter_policy': policy})
return data
index = 0
prefixes = ''
while index < end:
- prefixes += get_ip_from_number(index, start) + '/32'
+ prefixes += get_ip_from_number(index + start) + '/32'
index += 1
if index < end:
prefixes += ','