在實(shí)際應(yīng)用中,工業(yè)網(wǎng)絡(luò)設(shè)備可能會(huì)面對復(fù)雜的網(wǎng)絡(luò)數(shù)據(jù)環(huán)境,比如復(fù)雜物理拓?fù)浣Y(jié)構(gòu)(網(wǎng)絡(luò)中大量使用路由器/交換機(jī),并且可能有外部設(shè)備接入),可能導(dǎo)致網(wǎng)絡(luò)中出現(xiàn)大量的IP廣播/多播,非目標(biāo)IP包,這些包大量出現(xiàn),就有可能把真正攜帶有效通信數(shù)據(jù)的包“淹沒”掉。為了解決這些風(fēng)險(xiǎn),T2M/N2L平臺(tái)內(nèi)置的ETHSW模塊提供了廣播/多播風(fēng)暴抑制,數(shù)據(jù)幀過濾等硬件功能。
本文主要介紹用于數(shù)據(jù)幀過濾的“模式匹配 (Pattern Matcher)”功能,并舉例T2M/N2L ETHSW模塊提供的Receive Pattern Matcher功能,可以用來和PORT接收到的Frame的特定字段對比,在normal forwarding processing的基礎(chǔ)上執(zhí)行一些預(yù)定義的特定動(dòng)作:如Discard, MGMTFWD,F(xiàn)orce_Forward,從而在ETHSW的PORT端完成對特定數(shù)據(jù)幀的識(shí)別,減少通過ETHSW Management Port進(jìn)入GMAC/CPU處理的數(shù)據(jù)幀數(shù)量,從而降低GMAC數(shù)據(jù)傳輸負(fù)載和CPU處理IP協(xié)議棧的軟件負(fù)載,降低“丟幀”發(fā)生的風(fēng)險(xiǎn);
ETHSW總共12個(gè)Pattern Matcher可用。
Pattern Matcher支持固定匹配模式和2字節(jié)匹配模式;最多可匹配到從數(shù)據(jù)幀源MAC地址字段之后最多偏移256字節(jié)處。
Pattern Matcher可以與集成的hub模塊結(jié)合使用。允許實(shí)現(xiàn)當(dāng)一個(gè)特定的幀被接收時(shí),觸發(fā)MAC傳輸。這允許在實(shí)現(xiàn)像Powerlink這樣的協(xié)議時(shí),節(jié)點(diǎn)設(shè)備被觸發(fā)傳輸,是通過接收來自中央主節(jié)點(diǎn)的特定幀來控制的。
Pattern Matcher的4種模式:
MODE 1固定模式
固定比對Frame的SRC MAC地址域后開始的12字節(jié),(第13th-24th字節(jié))因?yàn)樵摲秶薚ype_Length字段(2字節(jié)),所以最多比對10 Bytes負(fù)載內(nèi)容;
通過PTRN_CMP寄存器和PTRN_MSK寄存器配置數(shù)據(jù)幀中參與對比的每個(gè)字節(jié)的比較值和掩碼,運(yùn)行時(shí)根據(jù)掩碼對Frame中相應(yīng)字節(jié)作AND運(yùn)算,對比PTRN_CMP中的比較值,相同即為Match,然后預(yù)定義的Action操作被觸發(fā)。
MODE 2-4:flexible模式
Mode 2-4都是2字節(jié)比較,比較的具體方法描述如下,比較位置(offset值:0-256)從13 th byte開始計(jì)算偏移;
MODE 2:2 byte table look-up:Frame中Offset位置開始的2字節(jié),和最多8個(gè)比較值作比較;
MODE 3:2 byte range compare with minimum and maximum range:Frame中Offset位置開始的2字節(jié),判斷其是否在預(yù)設(shè)的最小值(min)和最大值(max)范圍內(nèi);Compare Match規(guī)則為:Min <= 2 byte Value <= Max
MODE 4:2 byte inverted 2-byte inverted range compare by using a minimum and maximum range:Frame中Offset位置開始的2字節(jié),反向比較 ,Compare Match規(guī)則為:2byte value <= Min or ?2 byte value >= Max;
Mode 2/3/4下比較值和寄存器配置的對應(yīng)關(guān)系:
舉例:
在我們的PN例程中,為了解決測試和實(shí)際應(yīng)用時(shí),網(wǎng)絡(luò)中出現(xiàn)ARP風(fēng)暴,導(dǎo)致DCP連接出現(xiàn)故障的問題,因?yàn)锳RP.request本身是廣播幀,用廣播風(fēng)暴抑制不太合適(可能會(huì)把真正需要答復(fù)的ARP.request屏蔽掉),所以用Pattern Matcher 提取針對該Station IP地址的ARP.request;
實(shí)現(xiàn)該功能使用2個(gè)Pattern Matcher(編號(hào)0xa和 0xb),工作在Mode 3(2 byte range compare)下,對比ARP.request幀中的Target IP Address 域,每個(gè)Pattern Matcher對比2字節(jié)IP地址;
UM中MODE 3的意義為:
2-byte range compare by using a minimum and maximum range,at a programmable offset, with port and queue mask for frame triggering and optional Length/Type matching.
從Offset指定的位置,F(xiàn)rame中的2字節(jié),如果這兩字節(jié)的值落在定義的Min和Max值之間,則認(rèn)為匹配成功;
Max/Min配置值與寄存器配置對應(yīng)關(guān)系如下:
代碼如下:
這段代碼可以看到:
action=MGMTFWD | MODE_2BYTE_RANGE| VLAN_SKIP | LEARNING_DIS | SWAP_BYTES |MATCH_LT| SET_PRIO;
其中比較重要的配置有:
MGMTFWD:定義為Compare Match的幀,提取到Management Port(ETHSW PORT 3),不再轉(zhuǎn)發(fā);
MODE_2BYTE_RANGE:定義Pattern Matcher 工作在MODE 3;
MATCH_LT:定義除了比較2 byte數(shù)據(jù),還需要同時(shí)比較Length_Type域,該示例中為0x0806;
max_min:分別定義IP地址的高低2字節(jié)需要匹配的值,按照上面的對照表,寫入到PTRN_CMP寄存器中;
offset:定義需要比較的2字節(jié)從數(shù)據(jù)幀MAC地址域后開始的位置;Target IP Address域的高低2字節(jié)的offset分別為26和28;
port_mask:表示在哪些PORT口上實(shí)施該P(yáng)attern Matcher;示例中port_mask = 3,即在3個(gè)PORT口上都實(shí)施;
函數(shù)ethsw_setup_mqprio_pattern_add()配置Pattern Matcher相關(guān)寄存器;這里不作詳細(xì)說明,請參考UM(Section 28.3.15)和Source Code;
以上簡單說明了ETHSW提供的Pattern Matcher的基本功能。T2M/N2L平臺(tái)的ETHSW是功能強(qiáng)大的交換機(jī),實(shí)現(xiàn)了較多Lay2級(jí)別的交換功能,后續(xù)文檔會(huì)繼續(xù)介紹如TDMA/HUB等亮點(diǎn)功能,敬請期待。
-
mcu
+關(guān)注
關(guān)注
146文章
17874瀏覽量
361156 -
瑞薩
+關(guān)注
關(guān)注
36文章
22372瀏覽量
87800 -
Mac
+關(guān)注
關(guān)注
0文章
1117瀏覽量
52717 -
數(shù)據(jù)幀
+關(guān)注
關(guān)注
0文章
49瀏覽量
6920
原文標(biāo)題:RZT2M/N2L ETHSW Pattern Matcher模塊功能說明和舉例
文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
解析RZ/N2L CANFD模塊的緩沖區(qū)機(jī)制(3)

解析RZ/N2L CANFD模塊的緩沖區(qū)機(jī)制(2)

解析RZ/N2L CANFD模塊的緩沖區(qū)機(jī)制(1)

【RA-Eco-RA4M2開發(fā)板評(píng)測】初學(xué)瑞薩-使用瑞薩flash programmer燒錄程序
Banana Pi 與瑞薩電子攜手共同推動(dòng)開源創(chuàng)新:BPI-AI2N
瑞薩面向RZ/T和RZ/N系列微處理器推出經(jīng)認(rèn)證的PROFINET-IRT和PROFIdrive軟件協(xié)議棧

【瑞薩RA2L1入門學(xué)習(xí)】00. 開箱 + 點(diǎn)燈
瑞薩RA家族精品RA2L1產(chǎn)品介紹

瑞薩電子RZ MPU家族精品RZ/N2L產(chǎn)品介紹

瑞薩RZ/T2H新產(chǎn)品量產(chǎn)上市

269元買開源以太網(wǎng)硬件?N2L EtherKit重磅發(fā)布!

瑞薩電子多協(xié)議工業(yè)以太網(wǎng)MPU介紹及RZ/N2L IO-Link方案介紹

評(píng)論