У меня в проекте для симуляции один из эзернет пакетов расписан так, может поможет:
Код
arr_pckt(IND_TCP_1)(0) <= "01" & X"000000000000001E";
arr_pckt(IND_TCP_1)(1) <= "01" & X"D555555555555578";
arr_pckt(IND_TCP_1)(2) <= "10" & X"52f401000000cccc"; -- | Source MAC HIGH | Dest MAC LOW | Dest MAC HIGH |
arr_pckt(IND_TCP_1)(3) <= "10" & X"00450008c0a95e14"; -- | T. of S. | Vers| IHL| ETHER TYPE | Source MAC LOW |
arr_pckt(IND_TCP_1)(4) <= "10" & X"0680004033192900"; -- | Protocol | Time Live| Fragment Off | Flags| Identification | Total Length |
arr_pckt(IND_TCP_1)(5) <= "10" & X"a8c00501a8c0a55d"; -- | Dest Address HIGH | Source Address LOW | Source Address HIGH | Header Checksum |
arr_pckt(IND_TCP_1)(6) <= "10" & X"9997bbbb8869a101"; -- |_Sequence_Number_HIGH|______Dest_Port______|______Source_Port____| Dest Address LOW |
arr_pckt(IND_TCP_1)(7) <= "10" & X"185001100000dd0c"; -- |_L_HDR|_R_|_Flags____|_ACK_Number_LOW______|_ACK_Number_HIGH_____|_Sequence_Num
ber_LOW_|
arr_pckt(IND_TCP_1)(8) <= "10" & X"00390000a81970ff"; -- |..........| DATA=0x39| Указатель важности |_Cheksum_____________|_WINDOW______________| Cheksum = 0x19a8
arr_pckt(IND_TCP_1)(9) <= "10" & X"32D3872700000000"; -- 64 Byte
arr_pckt(IND_TCP_1)(10) <= "01" & X"0000000000000087";
arr_pckt(IND_TCP_1)(11) <= "01" & X"000000000000001E";
здесь заданы:
Dest MAC = cccc00000001
Source MAC = f452145ea9c0