Application Telemetry Overview
	
  Application Telemetry is a tool used in
		Extreme Analytics to extract network analytics information (e.g. running application
		details, flow pathway, latency, bandwidth etc). It uses sFlow and ERSPAN (Encapsulated
		Remote Span) to extract and transport specific raw packets and sampled flows from the SLXOS
		switches to Extreme Analytics processing engines for further analysis. 
		Supported Devices
			
			The following devices support Application Telemetry.
			
				- Devices based on the Broadcom
					XGS® chipset family:
						-  ExtremeSwitching SLX 9250
						
-  ExtremeSwitching SLX 9150
- ExtremeSwitching SLX 9540
 
Performance and Scale
 
	 
			All entries present in telemetry.pol file will be configured in the space reserved for
				App-Telemetry rules in the hardware. A maximum of 768 rules for SLX  9150/9250 and
				1024 rules for SLX 9540 are supported in the telemetry.pol file. 
			Some of these rule types may need to expand before hardware installation. For
				example: App-telemetry rules given to check port-range is not written as one single
				rule, instead it is expanded in HW to support the full range. With these kind of
				rules,  the maximum support is reduced. 
 
    
		Non-Goals and Limitations
			
			
				
					- FlexACLs are used internally to support this feature and are not user
						configurable.
- When telemetry.pol file content is changed, user needs to remove and reapply
						using the rules using the provided configuration command. 
- On reload of the switch, telemetry.pol file will be read, and telemetry ACLs
						will be installed, if the configuration is saved.  
- Rules given in telemetry.pol file are called flex-rules.
- FlexACLs are used internally to support this feature and are not user
						configurable.Only 4 offsets per flex-rule are supported. 
- Telemetry rules and ACL statistics are not persistent on system reload.
- The offsets can different for the TCP and UDP rules, otherwise all UDP rules
						should use same offset, and all TCP rules should use the same offset. 
- The counters for every app-telemetry rule only indicate if packet matching
						the corresponding rules matched. It does not show the number of packet
						actually tunneled and sent out of the switch. 
- The rules are considered in decreasing order of precedence when writing the
						ACL rules from file. Meaning 2 rules written in HW, which can match the same
						packet, only the counter of the rule written first will increment. 
- In NightHawk, UDF‘s are BCM hardware resource which is used to compare
						pre-programed information against the incoming packet in an offset. A chunk
						can match 16-bit information and each UDF can be mapped to 2 chunks. For
						App-Telmetry rules with offsets, we will match the L5 information
						(UnknownL5), with offset starting from the L4 header. 
 
			For UnknownL5, the following packet types can be matched:
			
				
					- UDP: all protocol packets except VxLAN | BFD | 1588 | GPE | GENEVE | INT
						will match UDF. Apart from VxLAN | BFD | 1588 | GPE | GENEVE | INT, 4 more
						custom formats by setting the register of the form
						PARSER_n_USER_DEFINED_m_UDP_DEST_PORT.
- TCP: all protocol packets except INT header followed by TCP header will
						match UDF. 
 
			When unsupported packet types are received, they don‘t match the rules (with offsets)
				in HW and will not get mirrored to Analytics engine. 
		
		TCAM Profile
			
			The TCAM lib show command displays the number of entries supported
				for the default TCAM profile as displayed below.
			SLX# show hardware profile current  
 
switch type: SLX9150-48Y 
 
            current TCAM profile: DEFAULT 
                          l2-acl: 4096 
                        l3v4-acl: 4096 
                        l3v6-acl: 2048 
                  l3v4-acl-vxlan: 0 
                        l2l3v4Of: 0 
                       egrl2-acl: 1024 
                       egrl3-acl: 1024 
                         l3v6-of: 0 
                        Flex-acl: 0 
                     App-tel-acl: 0 
 …