注1:a)实验python环境OK;b)网卡与交换机连接OK,可sendp;c)ARP表设置完全;d)代码是最新版本;e)ovs+odl OK;f)cuda OK
注2:部分交换机重启后没有设置反代理,需通过外网访问computer26,然后访问。
已测试的每个server共同部分的网卡(X为server号,1、2、8…)
SSH连接相同的ip地址时因有连接记录直接使用失效的协议信息去验证该ip服务器,所以报错,使用下面命令清除known_hosts里旧缓存文件即可
参考PUBLIC_Tofino-Native-Arch-Document.pdf文档,https://github.com/Fangjin98/distributed_PS_ML此代码只要数据包数据链路层(MAC)和网络层(IPv4)按要求即可,数据包后面内容不影响转发,不需要更高层协议。根据网络层dst_IP直接转发到交换机对应端口。
以对$sde/bc/ngaa文件夹内跑文件编译为例,在$sde目录下:
编译生成的二进制文件存储在$sde/build/p4-build/目录下
需要在三个shell里的$sde目录下分别依次执行下列“1)、2)、3)”三步
注意运行run_switchd.sh时直接用p4文件名即可(无需路径),会自动定位$sde/build/p4-build/目录下的ngaa文件
四虎影院在线观看
可编程交换机共有32个端口,每个端口可以以10Gbps/25Gbps/40Gbps/100Gbps的速率运行,我们需要以特定速率启用特定端口,才能使交换机接收到来自主机的包。
可以在bfshell下进入ucli再进入port manager来逐步设置端口
也可以使用port.bfsh文件批量设置端口
其中port.bfsh文件内容及说明如下
添加端口:port-add <conn_id/chnl> <speed (1G, 10G, 25G, 40G, 40G_NB, 50G, 100G, 40G_NON_BREAKABLE)> <fec (NONE, FC, RS)>
删除端口:port-del <conn_id/chnl>
启用端口:port-enb <conn_id/chnl>
禁用端口:port-dis <conn_id/chnl>
显示端口信息:show -a -p <conn_id/chnl> [-d]
端口自动协商:an-set <conn_id/chnl_id> <AN_setting>
0 接受SDE 确定的默认值;
1 强制启用 AN;
2 强制禁用 AN。
AN_setting 是以下之一:
** 通配符“-”**代表全部端口或通道,例如bf-sde.bf_pltfm.pm> port-enb 1/- 表示启动端口1的全部通道
在P4程序中我们定义了一些table,这些table需要接收key来执行对应的action。我们需要对照自己的P4程序编写相应的setup.py文件并在新的终端运行。
其中setup.py代码与p4文件的table相对应,具体如下:
该左侧代码add_with_ipv4_forward实现功能:交换机收到一个包,解析出目的ip地址,若为ip01,发往端口port01
其中左侧代码port01、port02…为可编程交换机的物理端口,该型号交换机端口可通过bf-sde.pm> show查看,如下图(由于设置为100G带宽,33个端口都仅有通道0)
至此P4程序就算成功运行了,接下来的任务就是主机端向对应的网口发定义好的包,然后交换机会根据P4程序对包进⾏解析处理转发等⼯作。
由于已经运行一个p4进程导致的冲突,kill进程重启bf_switchd即可
在跳板机computer26,将当前目录下的ngaa文件夹复制到172.16.50.241交换机的bc
scp -r https://blog.csdn.net/Edwardshenbc/article/details/ngaa root@172.16.50.241:/root/bf-sde-9.3.1/bc
在跳板机computer26,将当前目录下的ngaa文件夹复制到172.16.50.1服务器的bc
scp -r -P 6001 https://blog.csdn.net/Edwardshenbc/article/details/ngaa sdn@172.16.50.1:/home/sdn/bc
若“#port 22”则为默认端口22,ssh链接时无需“-p”明确端口,若无井号注释则需
可ssh登录交换机使用CLI控制转发(尚未研究)
目前使用主机Open vSwitch构建虚拟非可编程交换机,以根据mac地址转发转发数据包
参考资料:https://www.cnblogs.com/goldsunshine/p/10331606.html
https://github.com/openvswitch/ovs
server好多已经有ovs环境了,暂略此部分
下载OpenDaylight源文件“distribution-karaf-0.6.4-Carbon.tar.gz”(目前下载过慢,使用scp)
解压并进入文件
安装Java
vim /etc/environment 进入环境变量配置文件,在第二行加入java的环境变量(具体路径查看/usr/lib/jvm目录下的文件名称)
vim bin/setenv,在最后一行增加(具体路径查看/usr/lib/jvm目录下的文件名称)
vim etc/org.apache.karaf.management.cfg
简单配置ODL的运行文件
开启ODL控制器
安装必要的插件
查看端口验证ODL是否启动成功
当ODL启动成功之后会监听在6633端口,监听交换机的连接。新建一个窗口,如果6633端口有监听,那就说明ODL启动是正常的
注意:添加网桥端口(绑定物理网卡)后该网卡将不能正常使用,勿使用ssh连接的网卡
· https://blog.csdn.net/qq_37960243/article/details/123066359 ,需要python2
· 接下来,目前网卡型号为 NVIDIA Mellanox ConnectX-6,默认使用Infiniband模式,需要转换为Ethernet模式https://blog.csdn.net/qq_44777969/article/details/108033334
· 接下来配置ip并重启端口
先在可编程交换机运行代码(3步,端口需要打开与该网卡连接的端口,速度设置100G),可以看到OPR列已经UP了,说明连接OK,严谨起见,继续下面步骤
接着在网卡所在主机执行ibstat,达到下图State: Active且Physical state: LinkUp即可
最后在网卡所在主机ping任意ip(或者发任意Ethernet包)
此时在交换机端口面板使用show命令刷新,对应端口的“FRAMES RX”列不为0即可,如下图
此时测试通过
注意:必须启动可编程交换机(三个窗口),另外如果想通过ping测试两台主机连接,必须两台主机全部在自己ARP表中增加对方的IP-MAC对应
https://blog.csdn.net/weixin_39592789/article/details/116732213
https://zhuanlan.zhihu.com/p/47868341
软连接时若提示failed to create symbolic link ‘/usr/bin/python’: File exists,在/usr/bin/下删除python文件
同时需要链接到/usr/bin/python3,使用时用python3 xxx.py即可
首先安装CUDA11.3(含显卡驱动)
https://blog.csdn.net/Edwardshenbc/article/details/125047459?spm=1001.2014.3001.5502
其次执行下面步骤
其次安装pytorch相关
https://blog.csdn.net/Edwardshenbc/article/details/125047459?spm=1001.2014.3001.5502
若报错见下面5的解决方案
若报错是因为python3不支持,使用命令备份(或删除)lsb_release即可
在/etc/resolv.conf中添加 nameserver 8.8.8.8
由于200网段的主机之间使用可编程交换机Tofino相连接,而Tofino尚未实现ARP协议。主机在执行socket.socket.sendto函数发送UDP数据时(utils.DataManager.py使用此函数),会先查找本机APR表,然而因为没有172.16.200.X的IP对应的MAC,会发送3条ARP包至交换机。这也是为什么如果不执行此步骤直接运行会出现Tofino端口FRAMES RX仅增加3,RX无变化的情况。
解决办法:
在主机手动增加ARP表项
巴黎人娱乐平台注册
权限问题导致client无法运行client.py,改权限即可
错误提示如下所示
原因在于网卡在ETH模式时重新安装了网卡驱动,导致失败
将网卡模式从EHT改为IB再改为ETH即可
返回结果表头:
USER: 启动该进程的用户账号名称
PID: 该进程的ID号,在当前系统中是唯一的
%CPU: CPU占用的百分比
%MEM: 内存占用的百分比
VSZ: 占用虚拟内存(swap空间)的大小
RSS: 占用常驻内存(物理内存)的大小
TTY: 该进程在哪个终端上运行。“?”表未知或不需要终端
STAT: 显示了进程当前的状态,如S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程)。对处于僵死状态的进程应予以手动终止。
START: 启动该进程的时间
TIME: 该进程占用CPU时间
COMMAND: 启动该进程的命令的名称
https://www.runoob.com/w3cnote/linux-check-port-usage.html
1、https://github.com/Fangjin98/distributed_PS_ML黑料不打详
2、https://gitlab.tongyuejun.cn/zhangjx/p4_doc/-pt老虎机总代/blob/main/Wedge100BF_User_Manual.org pt老虎机总代 四虎影院最新网址更新
四虎github 四虎影院在线观看