【转】Macport常用指令

本文详细介绍 MacPorts 的常用命令及其用法,包括帮助、同步、搜索、安装、卸载等功能,帮助用户更好地管理和使用 Mac 上的开源软件。

本文出处:

        http://labs.vanillatech.cn/iphone/macports-%E5%91%BD%E4%BB%A4%E8%AF%A6%E8%A7%A3/

 

MacPorts是一个mac电脑中常用的非常有用的软件编译,安装,管理开源软件的软件.
它有很多优点,会自动安装一个软件所依赖的软件,提供卸载方法.
MacPorts没有图形界面,这里介绍一些常用的命令. 如果用过ubuntu apt-get 那么macports将会非常容易上手

port常用命令列表
    help
    selfupdade
    sync
    list
    search
    info
    deps
    variants
    install
    clean
    uninstall
    contents
    installed
    outdated
    upgrade
    dependents

help
    help通常用来查看某个指令的帮助说明
        port help selfupdate

selfupdate
    同步本地和全球的软件树,有必要时,同时升级mac port自己.
        sudo port selfupdate

sync
    同步本地和全球的ports tree,但不检查自己是否有更新.
        sudo port sync

list
    列出当前所有的可用软件,如果想查找是否有自己想要的软件时,还是使用search指令方便一些.
        port list

search
    模糊搜索,可以匹配软件名字和描述,还有更高级的用法,具体看port help search
        port search rrd

info
    查看一款软件的详细信息
        port info flowd

deps
    查看一款软件的依赖关系
        port deps apache2

variants
    在安装软件前,用这个命令查看软件是否有多个版本.再选择安装一个合适的版本.
        port variants nmap

install
    安装软件命令,安装前最好使用variants命令查看是否有多个不同版本.
        sudo port install nmap

clean
    删除一些编译软件时留下的临时文件.
        port clean --all vile

uninstall
    卸载软件命令
    如果这个软件依赖与另外的一款软件,默认不删除它依赖的软件,
    使用参数 -f (force) 可以强行删除它依赖的软件.
        port -f uninstall vile

contents
    显示软件安装后的文件列表.
        port contents xorg-renderproto

installed
    列出全部或者指定的已经安装的软件.
        port installed
        port -v installed atlas

outdated
    查看已经安装的软件是否有更新,在执行这个指令前,先执行selfupdate 或者 sync更新软件树

upgrade
    更新软件,默认一起更新它依赖的所有软件,如果想不更新它依赖的软件,使用 -n 参数
    默认不删除旧软件版本,只是使旧软件变成无效状态,如果想要一起删除旧软件,使用 -u 参数
        port upgrade gnome
        port -n upgrade gnome
        更新所有的可更新软件
        port upgrade outdated
        更新软件同时删除旧版本软件
        port -u upgrade vile

dependents
    查看哪些软件时依赖与这个软件的.删除一个软件时候,最好先执行一下这个命令.
        port dependents openssl

参考 :http://guide.macports.org/#using.port

单板1设备树信息: mac_8: mac@8 { id = <0x08>; port_mode = <0x02>; mac_port_speed = <0x02>; sds_speed = <0x00>; neg_mode = <0x01>; }; poe_8: poe@8 { vcpu_id = <0x00>; add_pkt_grp = <0x08>; grp_cfg = <0x01 0x00 0x400>; }; ppe_8: ppe@8 { //cport_id = <0x08>; //dir_mode_en; //fw_tnl = <0x08 0x08 0x40 0x00 0x00>; //pool = <0x08 0xc0 0x40 0x02 0x00>; //set_promisc = <0x00 0x00>; //fw1_flow_num = <0x02>; //fw1_flow0_key = <0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80800000 0x00 0x00 0x00>; //fw1_flow0_mask = <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xfff00000 0x00 0x00 0x00>; //fw1_flow0_ad = <0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00>; //fw1_flow0_update_dmac = <0x01 0x00>; //fw1_flow1_key = <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80800000 0x00 0x00 0x00>; //fw1_flow1_mask = <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xfff00000 0x00 0x00 0x00>; //fw1_flow1_ad = <0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00>; //fw1_flow1_update_dmac = <0x00 0x00>; //pf_id = <0>; // 使用的ppe pf设备编号,1230,1260此值配置为0 //dev_id = <0>;//使用的ppe vf设备编号,1230,1260此值配置为0 cport_id = <0x08>; //dir_mode_en; // 使能端口直通模式,没有此节点为LSw模式,不配这项,就是lsw模式 fw_tnl=<0x08 0x08 0x40 0x00 0x00>;/*fw_tn1相关配置,配盂格式为<fw_tnl bind_pool_id add_vqi qos_drop_en sep_en>, fw_tnl:当前使用的fw_tn1编号 bind _pool_id: fw_tn1绑定的mam pool编号 add_vqi:fw_tn1绑定的vqi编号 qos_drop_en:fw_tnl绑定的报文优先级丢弃使能 sep-en:fw_tnl绑定的描述符和报文buffer分离使能*/ pool = <0x08 0xc0 0x40 0x02 0x00>; /*pool相关配置,配置格式为 <pool_id buffer_size(单位:64B) depth pool_sop_skip(单位:64B) pool_not_sop_skip(单位:64B)>, pool_id:配置的poo1编号 buffer_size: pool的buffer大小 depth:pool的深度 pool_sop_skip:pool的存某个包的非首个buffer的skip配置值。表示报文存储结构中skip的长度(单位64B) pool_not_sop_skip:pool的存某个包的首个buffer的skip配置值。表示报文存储结构中skip的长度(单位64B)*/ set_promisc=<0x00 0x00>;//第1项为开启混杂使能,第2项为dmac在流表中的起始位置 fw1_flow_num = <0x02>; fw1_flow0_key= <0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80800000 0x00 0x00 0x00>; fw1_flow0_mask= <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xfff00000 0x00 0x00 0x00>; fw1_flow0_ad= <0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00>; // 第四个参数表示命中的ftnl的id fw1_flow0_update_dmac=<0x01 0x00>;// 第1项为是否更新流表中的mac地址,第2项为是更新的是mact地址还是第二个mact地址 fw1_flow1_key= <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80800000 0x00 0x00 0x00>; fw1_flow1_mask= <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xfff00000 0x00 0x00 0x00>; fw1_flow1_ad=<0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00>;// 第四个参数表示命中的ftnl的id fw1_flow1_update_dmac=<0x00 0x00>;//第1项为是否更新流表中的mac地址,第2项为是更新的是mac地址还是第二个mac地址 ig1_flow_num = <0x02>; //配置lsw流表 // 从 eth9 (mac port8) 进入 → 发到 eth10 (port12) ig1_flow0_key = <0 0 0 0 0 0 0 0 0 0x48000000 0 0 0>; ig1_flow0_mask = <0 0 0 0 0 0 0 0 0 0xFF000000 0 0 0>; ig1_flow0_ad = <0 0 12 0 0 0 0 0 0 0 0 0>; // 目标端口=12 (eth10) ig1_flow0_update_dmac=<0 0>; // 从 CPU port1 进入 → 发到 eth9 (port8) ig1_flow1_key = <0 0 0 0 0 0 0 0 0 0x01000000 0 0 0>; // CPU port1 ig1_flow1_mask = <0 0 0 0 0 0 0 0 0 0xFF000000 0 0 0>; ig1_flow1_ad = <0 0 8 0 0 0 0 0 0 0 0 0>; // 目标端口=8 (eth9) ig1_flow1_update_dmac=<0 0>; }; ethernet@8 { compatible = "hi1230_eth,dev"; phy-handle = <&mdio0_phy2>; mac = <&mac_8>; poe = <&poe_8>; ppe = <&ppe_8>; ifnet-name = "eth9"; flowctrl_rx_pause_en = <0x01>; }; mac_9: mac@9 { id = <0x0c>; port_mode = <0x02>; mac_port_speed = <0x02>; sds_speed = <0x00>; neg_mode = <0x01>; }; poe_9: poe@9 { vcpu_id = <0x00>; add_pkt_grp = <0x09>; grp_cfg = <0x01 0x00 0x400>; }; ppe_9: ppe@9 { //cport_id = <0x0c>; //dir_mode_en; //fw_tnl = <0x09 0x09 0x48 0x00 0x00>; //pool = <0x09 0xc0 0x40 0x02 0x00>; //set_promisc = <0x00 0x00>; //fw1_flow_num = <0x02>; //fw1_flow0_key = <0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80c00000 0x00 0x00 0x00>; //fw1_flow0_mask = <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xfff00000 0x00 0x00 0x00>; //fw1_flow0_ad = <0x00 0x00 0x00 0x09 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00>; //fw1_flow0_update_dmac = <0x01 0x00>; //fw1_flow1_key = <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80c00000 0x00 0x00 0x00>; //fw1_flow1_mask = <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xfff00000 0x00 0x00 0x00>; //fw1_flow1_ad = <0x00 0x00 0x00 0x09 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00>; //fw1_flow1_update_dmac = <0x00 0x00>; //pf_id = <0>; // 使用的ppe pf设备编号,1230,1260此值配置为0 //dev_id = <0>;//使用的ppe vf设备编号,1230,1260此值配置为0 cport_id = <0x0c>; //dir_mode_en; // 使能端口直通模式,没有此节点为LSw模式,不配这项,就是lsw模式 fw_tnl=<0x09 0x09 0x48 0x00 0x00>;/*fw_tn1相关配置,配盂格式为<fw_tnl bind_pool_id add_vqi qos_drop_en sep_en>, fw_tnl:当前使用的fw_tn1编号 bind _pool_id: fw_tn1绑定的mam pool编号 add_vqi:fw_tn1绑定的vqi编号 qos_drop_en:fw_tnl绑定的报文优先级丢弃使能 sep-en:fw_tnl绑定的描述符和报文buffer分离使能*/ pool = <0x09 0xc0 0x40 0x02 0x00>; /*pool相关配置,配置格式为 <pool_id buffer_size(单位:64B) depth pool_sop_skip(单位:64B) pool_not_sop_skip(单位:64B)>, pool_id:配置的poo1编号 buffer_size: pool的buffer大小 depth:pool的深度 pool_sop_skip:pool的存某个包的非首个buffer的skip配置值。表示报文存储结构中skip的长度(单位64B) pool_not_sop_skip:pool的存某个包的首个buffer的skip配置值。表示报文存储结构中skip的长度(单位64B)*/ set_promisc=<0x00 0x00>;//第1项为开启混杂使能,第2项为dmac在流表中的起始位置 fw1_flow_num = <0x02>; fw1_flow0_key= <0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80c00000 0x00 0x00 0x00>; // 0x80100000 表示命中srcportmacport 1的 fw1_flow0_mask= <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xfff00000 0x00 0x00 0x00>; fw1_flow0_ad= <0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00>; // 第四个参数表示命中的ftnl的id fw1_flow0_update_dmac=<0x01 0x00>;// 第1项为是否更新流表中的mac地址,第2项为是更新的是mact地址还是第二个mact地址 fw1_flow1_key= <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80c00000 0x00 0x00 0x00>; // 0x8010000o 表示命中srcportmacport 1的 fw1_flow1_mask= <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xfff00000 0x00 0x00 0x00>; fw1_flow1_ad=<0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00>;// 第四个参数表示命中的ftnl的id fw1_flow1_update_dmac=<0x00 0x00>;//第1项为是否更新流表中的mac地址,第2项为是更新的是mac地址还是第二个mac地址 ig1_flow_num = <0x02>; //配置lsw流表 //从 eth10 (mac port12) 进入 → 发到 eth9 (port8) ig1_flow0_key = <0 0 0 0 0 0 0 0 0 0x4c000000 0 0 0>; ig1_flow0_mask = <0 0 0 0 0 0 0 0 0 0xFF000000 0 0 0>; ig1_flow0_ad = <0 0 8 0 0 0 0 0 0 0 0 0>; // 目标端口=8 (eth9) ig1_flow0_update_dmac=<0 0>; // 从 CPU port1 进入 → 发到 eth10 (port12) ig1_flow1_key = <0 0 0 0 0 0 0 0 0 0x01000000 0 0 0>; // CPU port1 ig1_flow1_mask = <0 0 0 0 0 0 0 0 0 0xFF000000 0 0 0>; ig1_flow1_ad = <0 0 12 0 0 0 0 0 0 0 0 0>; // 目标端口=12 (eth10) ig1_flow1_update_dmac=<0 0>; }; ethernet@9 { compatible = "hi1230_eth,dev"; phy-handle = <&mdio0_phy3>; mac = <&mac_9>; poe = <&poe_9>; ppe = <&ppe_9>; ifnet-name = "eth10"; flowctrl_rx_pause_en = <0x01>; }; 单板2设备树信息: mac_8: mac@8 { id = <0x08>; port_mode = <0x02>; mac_port_speed = <0x02>; sds_speed = <0x00>; neg_mode = <0x01>; }; poe_8: poe@8 { vcpu_id = <0x00>; add_pkt_grp = <0x08>; grp_cfg = <0x01 0x00 0x400>; }; ppe_8: ppe@8 { //cport_id = <0x08>; //dir_mode_en; //fw_tnl = <0x08 0x08 0x40 0x00 0x00>; //pool = <0x08 0xc0 0x40 0x02 0x00>; //set_promisc = <0x00 0x00>; //fw1_flow_num = <0x02>; //fw1_flow0_key = <0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80800000 0x00 0x00 0x00>; //fw1_flow0_mask = <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xfff00000 0x00 0x00 0x00>; //fw1_flow0_ad = <0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00>; //fw1_flow0_update_dmac = <0x01 0x00>; //fw1_flow1_key = <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80800000 0x00 0x00 0x00>; //fw1_flow1_mask = <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xfff00000 0x00 0x00 0x00>; //fw1_flow1_ad = <0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00>; //fw1_flow1_update_dmac = <0x00 0x00>; //pf_id = <0>; // 使用的ppe pf设备编号,1230,1260此值配置为0 //dev_id = <0>;//使用的ppe vf设备编号,1230,1260此值配置为0 cport_id = <0x08>; //dir_mode_en; // 使能端口直通模式,没有此节点为LSw模式,不配这项,就是lsw模式 fw_tnl=<0x08 0x08 0x40 0x00 0x00>;/*fw_tn1相关配置,配盂格式为<fw_tnl bind_pool_id add_vqi qos_drop_en sep_en>, fw_tnl:当前使用的fw_tn1编号 bind _pool_id: fw_tn1绑定的mam pool编号 add_vqi:fw_tn1绑定的vqi编号 qos_drop_en:fw_tnl绑定的报文优先级丢弃使能 sep-en:fw_tnl绑定的描述符和报文buffer分离使能*/ pool = <0x08 0xc0 0x40 0x02 0x00>; /*pool相关配置,配置格式为 <pool_id buffer_size(单位:64B) depth pool_sop_skip(单位:64B) pool_not_sop_skip(单位:64B)>, pool_id:配置的poo1编号 buffer_size: pool的buffer大小 depth:pool的深度 pool_sop_skip:pool的存某个包的非首个buffer的skip配置值。表示报文存储结构中skip的长度(单位64B) pool_not_sop_skip:pool的存某个包的首个buffer的skip配置值。表示报文存储结构中skip的长度(单位64B)*/ set_promisc=<0x00 0x00>;//第1项为开启混杂使能,第2项为dmac在流表中的起始位置 fw1_flow_num = <0x02>; fw1_flow0_key= <0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80800000 0x00 0x00 0x00>; fw1_flow0_mask= <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xfff00000 0x00 0x00 0x00>; fw1_flow0_ad= <0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00>; // 第四个参数表示命中的ftnl的id fw1_flow0_update_dmac=<0x01 0x00>;// 第1项为是否更新流表中的mac地址,第2项为是更新的是mact地址还是第二个mact地址 fw1_flow1_key= <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80800000 0x00 0x00 0x00>; fw1_flow1_mask= <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xfff00000 0x00 0x00 0x00>; fw1_flow1_ad=<0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00>;// 第四个参数表示命中的ftnl的id fw1_flow1_update_dmac=<0x00 0x00>;//第1项为是否更新流表中的mac地址,第2项为是更新的是mac地址还是第二个mac地址 ig1_flow_num = <0x02>; //配置lsw流表 // 从 eth9 (mac port8) 进入 → 发到 eth10 (port12) ig1_flow0_key = <0 0 0 0 0 0 0 0 0 0x48000000 0 0 0>; ig1_flow0_mask = <0 0 0 0 0 0 0 0 0 0xFF000000 0 0 0>; ig1_flow0_ad = <0 0 12 0 0 0 0 0 0 0 0 0>; // 目标端口=12 (eth10) ig1_flow0_update_dmac=<0 0>; // 从 CPU port1 进入 → 发到 eth9 (port8) ig1_flow1_key = <0 0 0 0 0 0 0 0 0 0x01000000 0 0 0>; // CPU port1 ig1_flow1_mask = <0 0 0 0 0 0 0 0 0 0xFF000000 0 0 0>; ig1_flow1_ad = <0 0 8 0 0 0 0 0 0 0 0 0>; // 目标端口=8 (eth9) ig1_flow1_update_dmac=<0 0>; }; ethernet@8 { compatible = "hi1230_eth,dev"; phy-handle = <&mdio0_phy2>; mac = <&mac_8>; poe = <&poe_8>; ppe = <&ppe_8>; ifnet-name = "eth9"; flowctrl_rx_pause_en = <0x01>; }; mac_9: mac@9 { id = <0x0c>; port_mode = <0x02>; mac_port_speed = <0x02>; sds_speed = <0x00>; neg_mode = <0x01>; }; poe_9: poe@9 { vcpu_id = <0x00>; add_pkt_grp = <0x09>; grp_cfg = <0x01 0x00 0x400>; }; ppe_9: ppe@9 { cport_id = <0x0c>; dir_mode_en; fw_tnl = <0x09 0x09 0x48 0x00 0x00>; pool = <0x09 0xc0 0x40 0x02 0x00>; set_promisc = <0x00 0x00>; fw1_flow_num = <0x02>; fw1_flow0_key = <0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80c00000 0x00 0x00 0x00>; fw1_flow0_mask = <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xfff00000 0x00 0x00 0x00>; fw1_flow0_ad = <0x00 0x00 0x00 0x09 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00>; fw1_flow0_update_dmac = <0x01 0x00>; fw1_flow1_key = <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80c00000 0x00 0x00 0x00>; fw1_flow1_mask = <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xfff00000 0x00 0x00 0x00>; fw1_flow1_ad = <0x00 0x00 0x00 0x09 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00>; fw1_flow1_update_dmac = <0x00 0x00>; //pf_id = <0>; // 使用的ppe pf设备编号,1230,1260此值配置为0 //dev_id = <0>;//使用的ppe vf设备编号,1230,1260此值配置为0 //cport_id = <0x0c>; ////dir_mode_en; // 使能端口直通模式,没有此节点为LSw模式,不配这项,就是lsw模式 //fw_tnl=<0x09 0x09 0x48 0x00 0x00>;/*fw_tn1相关配置,配盂格式为<fw_tnl bind_pool_id add_vqi qos_drop_en sep_en>, // fw_tnl:当前使用的fw_tn1编号 // bind _pool_id: fw_tn1绑定的mam pool编号 // add_vqi:fw_tn1绑定的vqi编号 // qos_drop_en:fw_tnl绑定的报文优先级丢弃使能 // sep-en:fw_tnl绑定的描述符和报文buffer分离使能*/ //pool = <0x09 0xc0 0x40 0x02 0x00>; /*pool相关配置,配置格式为 // <pool_id buffer_size(单位:64B) depth pool_sop_skip(单位:64B) pool_not_sop_skip(单位:64B)>, // pool_id:配置的poo1编号 // buffer_size: pool的buffer大小 // depth:pool的深度 // pool_sop_skip:pool的存某个包的非首个buffer的skip配置值。表示报文存储结构中skip的长度(单位64B) // pool_not_sop_skip:pool的存某个包的首个buffer的skip配置值。表示报文存储结构中skip的长度(单位64B)*/ //set_promisc=<0x00 0x00>;//第1项为开启混杂使能,第2项为dmac在流表中的起始位置 //fw1_flow_num = <0x02>; //fw1_flow0_key= <0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80c00000 0x00 0x00 0x00>; // 0x80100000 表示命中srcportmacport 1的 //fw1_flow0_mask= <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xfff00000 0x00 0x00 0x00>; //fw1_flow0_ad= <0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00>; // 第四个参数表示命中的ftnl的id //fw1_flow0_update_dmac=<0x01 0x00>;// 第1项为是否更新流表中的mac地址,第2项为是更新的是mact地址还是第二个mact地址 //fw1_flow1_key= <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80c00000 0x00 0x00 0x00>; // 0x8010000o 表示命中srcportmacport 1的 //fw1_flow1_mask= <0xffffffff 0xffff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xfff00000 0x00 0x00 0x00>; //fw1_flow1_ad=<0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00>;// 第四个参数表示命中的ftnl的id //fw1_flow1_update_dmac=<0x00 0x00>;//第1项为是否更新流表中的mac地址,第2项为是更新的是mac地址还是第二个mac地址 //ig1_flow_num = <0x02>; //配置lsw流表 ////从 eth10 (mac port12) 进入 → 发到 eth9 (port8) //ig1_flow0_key = <0 0 0 0 0 0 0 0 0 0x4c000000 0 0 0>; //ig1_flow0_mask = <0 0 0 0 0 0 0 0 0 0xFF000000 0 0 0>; //ig1_flow0_ad = <0 0 8 0 0 0 0 0 0 0 0 0>; // 目标端口=8 (eth9) //ig1_flow0_update_dmac=<0 0>; //// 从 CPU port1 进入 → 发到 eth10 (port12) //ig1_flow1_key = <0 0 0 0 0 0 0 0 0 0x01000000 0 0 0>; // CPU port1 //ig1_flow1_mask = <0 0 0 0 0 0 0 0 0 0xFF000000 0 0 0>; //ig1_flow1_ad = <0 0 12 0 0 0 0 0 0 0 0 0>; // 目标端口=12 (eth10) //ig1_flow1_update_dmac=<0 0>; }; ethernet@9 { compatible = "hi1230_eth,dev"; phy-handle = <&mdio0_phy3>; mac = <&mac_9>; poe = <&poe_9>; ppe = <&ppe_9>; ifnet-name = "eth10"; flowctrl_rx_pause_en = <0x01>; }; 背景描述:我单板1的eth9与pc用网线互连,eth10与单板2的eth10用网线互连,目前是想使用ppe硬,直接pc发包给单板2的eth10的ip,能正常ping通。 现在现象是pc ping不通单板1的eth9与eth10,显示来自 192.168.0.10 的回复: 无法访问目标主机。经过询问属于正常现象, 解释是单板1两个端口都配置了lsw,报文都上不到内核协议栈去,按道理单板1 eth9对应的那个mac口进去的报文,在硬件层就到另一个mac口发出去了,配了流表之后不应该能ping通单板1的eth9和eth10的 请帮忙进行分析是否正确,如果正确,为什么pc不能通过上述链接,来直接ping通单板2的eth10的ip,在eth10使用抓包指令tcpdump -i eth10 icmp,没有任何信息 请帮忙进行分析
最新发布
10-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值