Message Forwarding

在编程中,尝试向不处理特定消息的对象发送消息会导致错误。然而,在宣布错误之前,运行时系统会给予接收对象第二次处理该消息的机会。
Sending a message to an object that does not handle that message is an error. However, before announcing the error, the runtime system gives the receiving object a second chance to handle the message.
Enhanced sFlow This section is applicable for the following families of devices: a Falcon a AlleyCat5P a AlleyCat5X At times, it is useful for the controller to obtain the original packet’s input/output port and the Ingress/Egress timestamp. The controller can then utilize this information to calculate message forwarding delay, and draw the forwarding delay jitter curve, thus provide information on network transmission quality. For that purpose, enhanced sFlow packet format is defined. Enhanced sFlow format is a proprietary format based on standard sFlow v5. Enhanced sFlow tunnel Layer4 encapsulation can be either: IPv4/UDP IPv6/UDP Enhanced sFlow Architecture Due to Falcon HW, the enhanced sFlow solution requires one free loopback port through which the mirrored traffic is looped back to the device. The following figure illustrates the engaged components, and is followed by a description of data flow. Figure 179: Enhanced sFlow Components and Data Flow The first path (light-blue arrows): Egress mirroring is enabled on Sample port X by EPCL. An EPCL rule matches the packet, assigns it any of the target analyzer IDs (1-7), and triggers a PHA thread to save target information into the copy-reserved descriptor field. The Egress Replication Engine (EREP) duplicates packet descriptor, and assigns the mirrored packet to the target analyzer ID configured by EPCL. Then, the pre-Egress engine (EQ) maps the target analyzer ID to Analyzer port (loopback port Y). A second EPCL rule matches the mirrored packet, and binds it to a second PHA thread. This second PHA thread adds an sFlow header prefixing the mirrored packet; this header incorporate most of the header fields except those of the tunnel header. PTP TSU (TimeStamping Unit) adds a Tx timestamp to the sFlow header. Port Y is set as a loopback port. The second path (blue arrows): Once packet is looped back to pipeline, a Private VLAN Edge (PVE), or an IPCL rule, matches the looped back traffic, and assigns a target ePort with a Tunnel start attribute. The ePort to Physical port (E2PHY) maps the target ePort to an output port, from which it is streamed to a Collector unit. A third EPCL rule matches the looped back traffic, and binds it to a third PHA thread, which sets the tunnel start field in the sFlow header. CPSS Implementation Considerations The application is responsible for setting the following CPSS parameters: Sampling Port, formatted as dev_id/port_num, and sampling rate 1:N Target analyzer ID: ranged 1-7 Target ePort number for Tunnel start Analyzer port number – loopback port Y in illustration Tunnel Start (TS) entry pointer Physical Analyzer port, formatted as dev_id/port_num, connected to the Collector unit – output port A in illustration Analyzer Node IP address – 32bits representing dev_id, and used for setting IP_High and IP_Low fields In addition, the application needs to configure the following components: Table 113: Component Configuration by Application Component Configuration per Steps Mirror engine Set MIRROR to analyzer port Set ratio to 1:N rate Set analyzed ePort to loopback port Y ePort for Tunnel start Set target ePort with tunnel start attributes; for example, UDP over IPv4 Tunnel Implement 2 tunnel configuration APIs—DMAC, SMAC, DIP, SIP, Dport, and Sport API for setting Tunnel Start entry pointer parameter A call of type <customer-prefix>sflowTunnelStartSet (TSentry* TSentryPointer) API for setting tunnel configuration, and mapping target ePort to an output port A connected to a collector unit; pass DMAC, SMAC, DIP, SIP, Dport, and Sport as parameter A call of type EtoPHY Assign tunnel start ePort to looped back traffic by one of two methods Method 1: Use PVE Enable PVE Set Bridge Global configuration0 register to <PVLAN Enable> (bit 14 in register) Enable ePort for PVE Set Ingress bridge ePort for loopback port Y to <PortPVLANEn> Set destination port for the set PVE port Y Set physical Analyzer output port A connected to collector unit at the Ingress bridge ePort table to <PortPVLANTrgEport>/ <PortPVLANTrgDev> Method2: Use an IPCL rule Match looped back traffic, and assign the collector unit ePort. This ePort attribute acts as tunnel start, with: Key: UDB Metadata <source port > = loopback port Y Packet first word (32bit) = 0x5 (sflow version) Action: <redirect command> = target Egress interface Target egress interface = ePort (output port A connected to collector) EPCL rules First EPCL rule Enable Egress mirroring, and trigger the first PHA thread THR61_save_target_port_info with: Key: UDB Metadata <source port> = sample port Action: <Egress Mirror to Analyzer> = Target analyzer ID //binds to an analyzer ID assigned by User <Egress Mirror mode> = Egress Mirror packet not DROPPED <PHA Thread Number Assignment Enable> = 1 <PHA Thread number> = THR61_save_target_port_info Second EPCL rule NOTE: The second EPCL rule priority must be higher than that of the first one Match mirrored traffic, and trigger the second PHA thread THR66_enhanced_sFlow Key: UDB Metadata <Egress Mtag Cmd> = TO_ANALYZER UDB Metadata <Analyzer Target ePort> = Analyzer port number (loopback port Y) Action: Disable OAM engine by <OAM Processing En> = 0. PHA counts Packet number with flow ID as index Use analyzer ID as flow index by <Flow-ID> = Target analyzer ID. Flow index is used by second PHA thread THR66_enhanced_sFlow <PHA Thread Number Assignment Enable> = 1 <PHA Thread number> = THR66_enhanced_sFlow Third EPCL rule Match looped back traffic, and trigger third PHA thread THR62_enhanced_sFlow_fill_remain_IPv4 or THR63_enhanced_sFlow_fill_remain_IPv6 Key: UDB Metadata <source port> = loopback port Y Action: <PHA Thread Number Assignment Enable> = 1 <PHA Thread number> = THR62_enhanced_sFlow_fill_remain_IPv4 or THR63_enhanced_sFlow_fill_remain_IPv6 <PHA metadata assignment enable> = True Pass node IP address to PHA to enable adding of sflow header by third PHA thread <metadata[31:0]> = Analyzer Node IP address[31:0] PHA Firmware Description First PHA thread – THR61_save_target_port_info Save target port information into the copy reserved field. Second PHA thread – THR66_enhanced_sFlow FW adds sFlow header. Since TS is moved to the next path after the loopback, currently no need to split for ipv4/ipv6. Third PHA thread – THR62_enhanced_sFlow_fill_remain_IPv4 or THR63_enhanced_sFlow_fill_remain_IPv6 FW adds remainder of sFlow field relative to tunnel start. Since TS uses IPv4/IPv6 encapsulation, this thread is split into IPv4 and IPv6. Table 114: PHA Thread Implementation by Application Thread Steps THR61_save_target_port_info Save target port information into the copy reserved field THR66_enhanced_sFlow Insert sFlow header before the mirrored packet Set sFlow header Enable PTP TSU THR62_enhanced_sFlow_fill_remain_IPv4 After loopback, traffic reenters pipeline, and Tunnel Start wraps sFlow header with IPv4 encapsulation. sFlow header offset is 44 bytes: L3 anchor + 20 Bytes for IP header + 8 Bytes for UDP header Update UDP and IP length and checksum THR63_enhanced_sFlow_fill_remain_IPv6 Same as IPv4 except Tunnel Start uses IPv6 encapsulation sFlow header offset changes according to IPv6 Update UDP and checksum 该过程IPCL和EPCL优先级有什么要求
10-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值