Skip to content

Commit

Permalink
Merge pull request sonic-net#136 from BRCM-SONIC/subif
Browse files Browse the repository at this point in the history
Addressing review comments
  • Loading branch information
dks19 authored Feb 8, 2021
2 parents 335b2f1 + 778ac16 commit 753613e
Showing 1 changed file with 51 additions and 24 deletions.
75 changes: 51 additions & 24 deletions L3/Subinterfaces/sonic-sub-port-intf-hld.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@
* [3.29 MTU](#329-mtu)
* [3.30 NAT](#330-nat)
* [3.31 SPAN/ERSPAN](#331-span/erspan)
* [3.32 NTP](#332-NTP)
* [3.33 DNS](#332-DNS)
* [3.34 TACACS](#332-TACACS)
* [4 Event flow diagrams](#4-event-flow-diagrams)
* [4.1 Sub port interface creation](#41-sub-port-interface-creation)
* [4.2 Sub port interface runtime admin status change](#42-sub-port-interface-runtime-admin-status-change)
Expand All @@ -77,19 +80,23 @@
* [7.3.2 Remove all IP addresses from a sub port interface](#732-remove-all-ip-addresses-from-a-sub-port-interface)
* [7.3.3 Remove a sub port interface](#733-remove-a-sub-port-interface)
* [8 Scalability](#8-scalability)
* [9 Port channel renaming](#9-port-channel-renaming)
* [10 Appendix](#10-appendix)
* [10.1 Difference between a sub port interface and a vlan interface](#101-difference-between-a-sub-port-interface-and-a-vlan-interface)
* [12 Acknowledgment](#11-acknowledgment)
* [13 References](#12-references)
* [9 Broadcom Internal Design](#9-broadcom-internal-design)
* [9.1 Platforms Supported](#91-platforms-supported)
* [9.2 Scalability](#92-scalability)
* [10 Upgrade/Downgrade considerations](#10-Upgrade_Downgrade-considerations)
* [11 Appendix](#10-appendix)
* [11.1 Difference between a sub port interface and a vlan interface](#101-difference-between-a-sub-port-interface-and-a-vlan-interface)
* [12 Open questions](#12-open-questions)
* [13 Acknowledgment](#11-acknowledgment)
* [14 References](#12-references)

<!-- /TOC -->

# Revision history
| Rev | Date | Author | Change Description |
| :--: | :--------: | :------------: | --------------------------- |
| 0.1 | 07/01/2019 | Wenda Ni | Initial version |
| 0.2 | 12/17/2020 | Preetham Singh | Update with Feature support |
| Rev | Date | Author | Change Description |
| :--: | :--------: | :----------------------------: | --------------------------- |
| 0.1 | 07/01/2019 | Wenda Ni | Initial version |
| 0.2 | 12/17/2020 | Broadcom Subinterface Dev Team | Update with Feature support |

# Scope
A sub port interface is a logical interface that can be created on a physical port or a port channel.
Expand Down Expand Up @@ -588,7 +595,7 @@ OSPF will be supported on sub-interfaces.
All Config commands, show commands and show command displays shall adapt to port name conversion from SONiC backend short names to user interface visible sub-interface name.

## 3.17 OSPFv3:
OSPFv3 will be supported on sub-interfaces.
OSPFv3 will NOT be supported on sub-interfaces.

## 3.18 BFD:
BFD sessions can run on subinterfaces.
Expand Down Expand Up @@ -646,7 +653,7 @@ isSag = true/false;
SAG can be configured on MCLAG client port subinterfaces. ARP/ND sync across mclag nodes will happen for those learnt on subinterfaces.

## 3.23 VxLAN:
Underlay: If VxLAN tunnel IPs are reachable via subinterfaces, tunnels will NOT be provisioned in hardware
Underlay: If VxLAN tunnel IPs are reachable via subinterfaces, VxLAN tunnels should be provisioned and tunnels should come UP.

## 3.24 MCLAG:
- Subinterfaces as MCLAG Clients:
Expand Down Expand Up @@ -676,10 +683,10 @@ If (outer vlan == incoming port’s VLAN) and inner TPID is 0x8100, following t


## 3.26 PIM:
PIM is not supported on sub-interfaces in this release.
PIM is supported on sub-interfaces.

## 3.27 IGMP:
IGMP is not supported on sub-interfaces in this release.
IGMP is supported on sub-interfaces.

## 3.28 QoS:
QoS settings are inherited from parent interface.
Expand All @@ -696,6 +703,14 @@ NAT feature will not be supported on sub-interfaces.
- ERSPAN destination can be reachable via sub-interfaces.
- Sub-interface as mirror destination port will not be supported.

## 3.32 NTP:
NTP over subinterfaces is supported.

## 3.33 DNS:
DNS over subinterfaces is supported.

## 3.34 TACACS:
TACACS over subinterfaces is supported.

# 4 Event flow diagrams
## 4.1 Sub port interface creation
Expand Down Expand Up @@ -919,32 +934,44 @@ Test shall cover the parent interface being a physical port or a port channel.
Scalability is ASIC-dependent.
We enforce a minimum scalability requirement on the number of sub port interfaces that shall be supported on a SONiC switch.

| Name | Scaling value |
| ---------------------------------------- | ------------- |
| Name | Scaling value |
| --------------------------------------------------------------- | ------------- |
| Number of sub port interfaces per physical port or port channel | 250 |
| Number of sub port interfaces per switch | 750 |
| Number of sub port interfaces per switch | 750 |

# 9 Broadcom Internal Design

## 9.1 Platforms supported:
Subinterfaces feature will be supported on all Trident3 based platforms.

# 9 Appendix
## 9.1 Difference between a sub port interface and a vlan interface
## 9.2 Scalability
Below is the scale numbers for subinterfaces feature on Trident3 based platforms.
| Name | Scaling value |
| --------------------------------------------------------------- | ------------- |
| Number of sub port interfaces per physical port or port channel | TBD |
| Number of sub port interfaces per switch | TBD |

# 10 Appendix
## 10.1 Difference between a sub port interface and a vlan interface
Sub port interface is a router interface (RIF type sub port Vlan#) between a VRF and a physical port or a port channel.
Vlan interface is a router interface (RIF type vlan Vlan#) facing a .1Q bridge. It is an interface between a bridge port type router (connecting to a .1Q bridge) and a VRF, as shown in Fig. 3.

![](images/vlan_intf_rif.png "Fig. 3: Vlan interface")
__Fig. 3: Vlan interface__

# 10 Open questions:
# 11 Upgrade/Downgrade considerations
Upgrade/downgrade from/to the SONiC community release will be handled by migrating config DB schema.

# 12 Open questions:
1. Miss policy to be defined in SAI specification

When a 802.1q tagged packet is received on a physical port or a port channel, it will go to the sub port interface that matches the VLAN id inside the packet.
If no sub port interfaces match the VLAN id in the packet tag, what is the default policy on handling the packet?

As shown in Fig. 1, there is possiblity that a physical port or a port channel may not have a RIF type port created.
In this case, if an untagged packet is received on the physical port or port channel, what is the policy on handling the untagged packet?

# 11 Acknowledgment
# 13 Acknowledgment
Wenda would like to thank his colleagues with Microsoft SONiC team, Shuotian, Prince, Pavel, and Qi in particular, Itai with Mellanox for all discussions that shape the design proposal, and community members for comments and feedbacks that improve the design.

# 12 References
# 14 References
[1] SAI_Proposal_Bridge_port_v0.9.docx https://github.com/opencomputeproject/SAI/blob/master/doc/bridge/SAI_Proposal_Bridge_port_v0.9.docx

[2] Remove the need to create an object id for vlan in creating a sub port router interface https://github.com/opencomputeproject/SAI/pull/998
Expand Down

0 comments on commit 753613e

Please sign in to comment.