Skip to content

Commit

Permalink
[Ethernet-IB][index] Modifed the port_util to support the VoQ Inband …
Browse files Browse the repository at this point in the history
…Port (#113)

Ethernet-IB port is introduced for the VoQ chassis. This requires to define the index of the Ethernet-IB to allow the application to get the index from the port name. Follow the existing design, define the Inband port indexbase as 11000.
  • Loading branch information
mlok-nokia authored Aug 19, 2021
1 parent 6be76f4 commit 482cac2
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/swsssdk/port_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,15 @@
SONIC_VLAN_RE_PATTERN = "^Vlan(\d+)$"
SONIC_PORTCHANNEL_RE_PATTERN = "^PortChannel(\d+)$"
SONIC_MGMT_PORT_RE_PATTERN = "^eth(\d+)$"

SONIC_ETHERNET_IB_RE_PATTERN = "^Ethernet-IB(\d+)$"

class BaseIdx:
ethernet_base_idx = 1
vlan_interface_base_idx = 2000
ethernet_bp_base_idx = 9000
portchannel_base_idx = 1000
mgmt_port_base_idx = 10000
ethernet_ib_base_idx = 11000

def get_index(if_name):
"""
Expand All @@ -31,6 +32,7 @@ def get_index(if_name):
Ethernet_BP N = N + 9000
PortChannel N = N + 1000
eth N = N + 10000
Ethernet_IB N = N + 11000
"""
return get_index_from_str(if_name.decode())

Expand All @@ -43,13 +45,15 @@ def get_index_from_str(if_name):
Ethernet_BP N = N + 9000
PortChannel N = N + 1000
eth N = N + 10000
Ethernet_IB N = N + 11000
"""
patterns = {
SONIC_ETHERNET_RE_PATTERN: BaseIdx.ethernet_base_idx,
SONIC_ETHERNET_BP_RE_PATTERN: BaseIdx.ethernet_bp_base_idx,
SONIC_VLAN_RE_PATTERN: BaseIdx.vlan_interface_base_idx,
SONIC_PORTCHANNEL_RE_PATTERN: BaseIdx.portchannel_base_idx,
SONIC_MGMT_PORT_RE_PATTERN: BaseIdx.mgmt_port_base_idx
SONIC_MGMT_PORT_RE_PATTERN: BaseIdx.mgmt_port_base_idx,
SONIC_ETHERNET_IB_RE_PATTERN: BaseIdx.ethernet_ib_base_idx
}

for pattern, baseidx in patterns.items():
Expand Down

0 comments on commit 482cac2

Please sign in to comment.