网络包需要另外20B
以太网帧需要1.前导码和帧开始符preamble(8B),2.gap(12B)两帧之前的间隔。总共20B。
所以实际传输的最小帧为64B+20B=84B,
10Gbps的网,传输一个64B的数据包,需要84B/10Gbps=848bit/1010^9bps=67.2ns
系统为Ubuntu 16.04.1 LTS
#问题1:1
2Cant't find /usr/src/linux, so I can't compile the linuxmodule driver
(You may need the --with-linux=DIR option.)
买了块Intel 40G的网卡XL710QDA2.
由于实验室的交换机是pica8的,只有4个10G的光口,为了让XL710网卡能和交换机互连,就需要设置其工作模式。
设置其工作模式需要用到Intel的QCU工具(QSFP+ Configuration Utility),
官方有个说明文档:http://www.intel.com/content/dam/www/public/us/en/documents/guides/qsfp-configuration-utility-quick-usage-guide.pdf
转自http://blog.csdn.net/smartfox80/article/details/22508637
MSS是指应用层在一个数据包内最大能传输的字节数
MTU是指IP层在一个数据包内最大能传输的字节数
MTU= MSS+TCP层头部长度+IP层头部长度
在运行Raw Ethernet Perfomance Mode的时候,
安装驱动运行的脚本为/v7_xt_conn_trd/software/linux/v7_xt_conn_trd/linux_driver_app/run_raw_ethermode.sh
其内容为: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#!/bin/sh
compilation_error=1
module_insertion_error=2
compilation_clean_error=3
pgrep App|xargs kill -SIGINT 1>/dev/null 2>&1
sleep 5;
cd App
make clean 1>/dev/null 2>&1
make APP_MODE=RAWETHERNET 1>/dev/null 2>&1
./App 1>Applog 2>&1 &
cd ../
/bin/sh remove_modules.sh
cd driver
make DRIVER_MODE=RAWETHERNET clean
if [ "$?" != "0" ]; then
echo "Error in cleaning RAW_ETHERNET performance driver"
exit $compilation_clean_error;
fi
make DRIVER_MODE=RAWETHERNET
if [ "$?" != "0" ]; then
echo "Error in compiling RAW_ETHERNET performance driver"
exit $compilation_error;
fi
sudo make DRIVER_MODE=RAWETHERNET insert
if [ "$?" != "0" ]; then
echo "Error in inserting RAW_ETHERNET performance driver"
exit $module_insertion_error;
fi
可以看到6-12行代码,先判断系统中是否有App程序在运行,如果有就Kill掉。
然后等待5秒后,进入App目录,重新编译App程序,编译完成后以RAWETHERNET模式运行APP。
买的Xilinx官方的板子的user application的源代码是用java写,为了测试batching,需要修改源代码。
发现驱动层的调用是使用JNI。
没办法就得看JNI部分的代码,正好java代码是用eclipse看的,那就直接搞了个CDT一起开发JNI。
本文记录eclipse+CDT+JNI的配置开发流程。
https://www.xilinx.com/video/hardware/partial-reconfiguration-in-vivado.html
1.Synthesis:
- Synthesise static logic and reconfigurable modules seperately
- Use bottom-up or out-of-context synthesis
2.Partial Reconfiguration Control Sequence
3.Full configurations implemented in-context
- Static design and reconfigurable modules stored in checkpoints.