-# Copyright (c) 2020 Cisco and/or its affiliates.
+# Copyright (c) 2024 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
:type sid_list: list
:type mode: str
"""
- cmd = u"sr_policy_add"
+ cmd = u"sr_policy_add_v2"
args = dict(
bsid_addr=IPv6Address(bsid).packed,
weight=1,
is_encap=bool(mode == u"encap"),
- is_spray=False,
- sids=SRv6.create_srv6_sid_list(sid_list)
+ type=0, # Neither SPRAY nor TEF are needed yet.
+ sids=SRv6.create_srv6_sid_list(sid_list),
+ # encap_src is optional, do not set yet.
)
err_msg = f"Failed to add SR policy for BindingSID {bsid} " \
f"on host {node[u'host']}"
:param node: Given node to show SRv6 policies on.
:type node: dict
"""
- cmd = u"sr_policies_dump"
+ cmd = u"sr_policies_v2_dump"
PapiSocketExecutor.dump_and_log(node, (cmd,))
@staticmethod
ip_addr = ip_address(ip_addr)
prefix = IPUtil.create_prefix_object(ip_addr, int(prefix))
traffic_type = getattr(
- SRv6PolicySteeringTypes, u"SR_STEER_IPV4"
- ).value if ip_addr.version == 4 else getattr(
- SRv6PolicySteeringTypes, u"SR_STEER_IPV6"
- ).value
+ SRv6PolicySteeringTypes, u"SR_STEER_IPV4"
+ ).value if ip_addr.version == 4 else getattr(
+ SRv6PolicySteeringTypes, u"SR_STEER_IPV6"
+ ).value
else:
raise ValueError(f"Unsupported mode: {mode}")
is missing.
"""
sw_if_index, prefix, traffic_type = SRv6._get_sr_steer_policy_args(
- node, mode, interface, ip_addr, prefix
- )
+ node, mode, interface, ip_addr, prefix
+ )
cmd = u"sr_steering_add_del"
args = dict(