forked from Mellanox/SAI-Implementation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrelease notes.txt
84 lines (72 loc) · 6.9 KB
/
release notes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
Mellanox SAI implementation release notes
==========================================
Release 1.13.0
---------------
Current implementation is partial.
Not all the APIs that are defined were fully implemented in this release. Missing flows or implementation are noted in the code as "TODO : ..." comments.
The code was tested to work on X86, at Beta level.
No testing was done on PPC.
The code compiles with, and was tested with, SDK version 4.2.9105.
As a precondition to running SAI initialize switch, SDK must not be running (If it's running, terminate it with dvs_stop.sh).
The application must provide one key/value pair on profile services, "config_file=/usr/share/sai_2700.xml" / "config_file=/usr/share/sai_2410.xml" / / "config_file=/usr/share/sai_2420.xml" / "config_file=/usr/share/sai_2100.xml", depending on system type.
On shutdown switch, SAI will perform all the necessary clean up and terminate the SDK.
The following functions / attributes are not supported / implemented :
* SAI_NEXT_HOP_ATTR_ROUTER_INTERFACE_ID get in router interface API
* SAI_PORT_ATTR_FDB_LEARNING_LIMIT_VIOLATION in port API
* Port advertised and remote advertised attributes
* Only the mandatory set of attributes are accepted on Create port
* IP/IPv6 counters, SAI_PORT_STAT_IF_IN_VLAN_DISCARDS, SAI_PORT_STAT_IF_OUT_QLEN, SAI_PORT_STAT_ETHER_RX_OVERSIZE_PKTS, SAI_PORT_STAT_ETHER_TX_OVERSIZE_PKTS, SAI_PORT_STAT_ETHER_STATS_TX_NO_ERRORS, SAI_PORT_STAT_ETHER_STATS_RX_NO_ERRORS, Port EEE counters, Port PFC ON2OFF counters, clear port stats for specific counters, in port counters API
* Port ether stats/in/out packets 4K-9K counters count only packets 4K-8K
* SAI_ROUTE_ATTR_NEXT_HOP_GROUP_ID get in route API
* SAI_VIRTUAL_ROUTER_ATTR_ADMIN_V4_STATE set,
SAI_VIRTUAL_ROUTER_ATTR_ADMIN_V6_STATE set, SAI_VIRTUAL_ROUTER_ATTR_SRC_MAC_ADDRESS,
SAI_VIRTUAL_ROUTER_ATTR_VIOLATION_TTL1_ACTION, SAI_VIRTUAL_ROUTER_ATTR_VIOLATION_IP_OPTIONS in router API
* SAI_SWITCH_ATTR_FDB_TABLE_SIZE, SAI_SWITCH_ATTR_BCAST_CPU_FLOOD_ENABLE, SAI_SWITCH_ATTR_MCAST_CPU_FLOOD_ENABLE, SAI_SWITCH_ATTR_VIOLATION_TTL1_ACTION get, SAI_SWITCH_ATTR_SRC_MAC_ADDRESS set, SAI_SWITCH_ATTR_MAX_LEARNED_ADDRESSES, SAI_SWITCH_ATTR_FDB_MULTICAST_MISS_ACTION set in switch API
* SAI_BRIDGE_ATTR_MAX_LEARNED_ADDRESSES is implemented for .1D bridges but not for the .1Q bridge
* vlan counters API
* notification callbacks - switch shutdown request
* SAI_INGRESS_PRIORITY_GROUP_STAT_PACKETS, SAI_INGRESS_PRIORITY_GROUP_STAT_BYTES in buffer API
* saiobject.h query objects functions
* bulk functions
* Sample packet is supported only on ingress traffic to port, at profile mode (exclusive instance per port). Netflow mode (shared, aggregated traffic), Egress traffic on port (SAI_PORT_ATTR_EGRESS_SAMPLEPACKET_ENABLE) and ACL ingress/egress (SAI_ACL_ENTRY_ATTR_ACTION_INGRESS_SAMPLEPACKET_ENABLE, SAI_ACL_ENTRY_ATTR_ACTION_EGRESS_SAMPLEPACKET_ENABLE) are not supported.
ACL has the following limitations :
* Not all match keys / actions are supported
* Vlan ranges not implemented
* Supporting 16 ACL ranges objects
* ACL Switch bind points SAI_SWITCH_ATTR_DEFAULT_INGRESS_ACL_LIST, SAI_SWITCH_ATTR_DEFAULT_EGRESS_ACL_LIST are not implemented
* ACL table can only be a member of a single sequential ACL group. ACL table can only be a member in multiple groups if all these groups are parallel.
* ACL VLAN bind point only works for ingress stage, SAI_VLAN_ATTR_EGRESS_ACL isn't supported
* VLAN matching on egress RIF or egress Port is supported for Vlan interfaces (802.1Q) and for Port-vlan interfaces. It’s not supported for bridge interfaces (802.1D). Vlan matching not supported when there is no RIF attached to the port.
* ACL should be applied on LAG and not on member ports of a LAG
* ACL egress block list action can be applied only on egress stage, not on ingress stage
* ACL field out port doesn't support LAG
IP over IP has the following limitations :
* Set is not supported on any attribute in sai_tunnel_attr_t
* SAI_TUNNEL_ATTR_DECAP_MAPPERS is not able to be created or set
* Only SAI_TUNNEL_TTL_PIPE_MODEL is supported for SAI_TUNNEL_ATTR_DECAP_TTL_MODE on create and set
* Only SAI_TUNNEL_IPINIP and SAI_TUNNEL_IPINIP_GRE are supported for SAI_TUNNEL_ATTR_TYPE and SAI_TUNNEL_TERM_TABLE_ENTRY_ATTR_TUNNEL_TYPE on create
* get_tunnel_attribute function will fail when trying to get the following values from a tunnel created without any encap attributes
a. SAI_TUNNEL_ATTR_ENCAP_DSCP_MODE
b. SAI_TUNNEL_ATTR_ENCAP_DSCP_VAL
* Currently DSCP mode, DSCP value and ECN mode are shared between the same type of tunnels. Change DSCP mode, DSCP value and ECN mode will affect all the tunnels of the same type. Tunnels are considered ‘the same type’ if both the following conditions are satisfied
a. SAI_TUNNEL_ATTR_TYPE has the same value
b. Tunnel direction has the same value. Direction has 3 types: encap, decap and symmetry
i. Encap: no decap attributes (start with SAI_TUNNEL_ATTR_ENCAP_) are configured during tunnel creation
ii. Decap: no encap attributes (start with SAI_TUNNEL_ATTR_DECAP_) are configured during tunnel creation
iii. Symmetry: Both encap and decap attributes are configured during tunnel creation
In case WRED profile has WRED enabled for at least one color and ECN mark mode enabled for at least one color, the enabled colors for WRED and ECN must be the same (For example, can't have SAI_WRED_ATTR_GREEN_ENABLE=true and SAI_WRED_ATTR_ECN_MARK_MODE=SAI_ECN_MARK_MODE_YELLOW)
Clear queue stats for specific counters always clears all available counters
Host interface user defined traps support a single instance of each user defined trap.
Host interface wildcard table entry overwrites the configured channel value for all traps at the time of the creation, there is no priority implemented. WA - first create wildcard entry and then specific entries.
UDF has the following limitations :
* UDF Match:
a. Only L2 matches which can be ARP/IPv4/IPv6 ethertype or empty are supported
b. Empty match is only supported for SAI_UDF_BASE_L2
c. Non-empty matches (ARP/IPv4/IPv6) are only supported for SAI_UDF_BASE_L3
* UDF Base:
a. If L2 – Support only one UDF in the UDF group
b. If L3 – Support up to 3 UDFs in the UDF group. UDF matches should be unique within the UDF group
* UDF Group - Empty UDF group cannot be used as hash or ACL attribute. In additiion, is is not allowed to remove the last UDF from the UDF group if it is in use
When using 3 mirror sessions, it is not possible to edit a session. As a WA, remove and re-create it. It is possible to edit a session when using 1 or 2 sessions.
When working with WRED discards mirroring, it has to be configured last after regular mirror sessions, as with WRED discard mirroring all ports which are not analyzer ports of any session, are set as monitor port, and analyzer and monitor behavior for port is mutually exclusive.
Switch Prio (SAI TC) <-> IEEE PFC is a global property, therefor when setting different PFC->PG on different ports last value overrides.