mac port

export PATH=/opt/local/bin:/opt/local/sbin:$PATH

 

sudo  port selfupdate

 

port install cdrtools

 

 

macport 是BSDer们在Mac下无法或缺的工具之一,其使用时支持的命令很多。罗列如下:

activate, archive, build, cat, cd, checksum, clean, compact, configure,
contents, deactivate, dependents, deps, destroot, dir, distcheck, dmg,
dpkg, echo, ed, edit, exit, extract, fetch, file, gohome, help, info,
install, installed, lint, list, livecheck, location, mdmg, mirror, mpkg,
outdated, patch, pkg, provides, quit, rpm, search, selfupdate, srpm,
submit, sync, test, trace, unarchive, uncompact, uninstall, upgrade,
url, usage, variants, version, work

但是最常用也就无非是install,selfupdate,upgrade,uninstall,search,list 这几个。

其实macport 还有一种叫伪名称的东东,罗列如下:

all, current, active, inactive, installed, uninstalled, and outdated.

以下是我常用的一些macport命令

port -d selfupdate #升级macport, 如同:cd /usr/ports && make update
port install xxx #安装xxx软件, 如同:cd /usr/ports/kkk/xxx && make install
port upgrade outdated #升级所有已过时的软件,作用如portupgrade -a
port installed #列出已经安装的软件,如pkg_info
port search xxx #列出与xxx条件相符的软件,如cd /usr/ports/ && make search name=xxx




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>; // 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 0x80800000 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流表 //匹配入口mac port为1,转发到cpu-port 1 ig1_flow0_key = <0 0 0 0 0 0 0 0 0 0x41000000 0 0 0>; // 0xx4100000 表示命中ingress portmacport 1的 igl_flow0_mask = <0 0 0 0 0 0 0 0 0 0xFF000000 0 0 0>; ig1_flow0_ad = <0 2 1 0 0 0 0 0 0 0 0 0>; ig1_flow0_update_dmac=<0 0>;//第1项为是否更新流表中的mac地址,第2项为是更新的是mact地址还是第二个mact地址 /匹配入口cpu port为1,转发到macport1 ig1_flow1_key= <0 0 0 0 0 0 0 0 0 0x0c000000 0 0 0>; // 0xe100e00 表示命中ingress port为cpuport 1的 ig1_flow1_mask= <0 0 0 0 0 0 0 0 0 0xFF000000 0 0 0>; ig1_flow1_ad= <0 0 1 0 0 0 0 0 0 0 0 0>; ig1_flow1_update_dmac=<0 0>;//第1项为是否更新流表中的mac地址,第2项为是更新的是mact地址还是第二个mact地址 }; 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>; 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流表 //匹配入口mac port为1,转发到cpu-port 1 ig1_flow0_key = <0 0 0 0 0 0 0 0 0 0x41000000 0 0 0>; // 0xx4100000 表示命中ingress portmacport 1的 igl_flow0_mask = <0 0 0 0 0 0 0 0 0 0xFF000000 0 0 0>; ig1_flow0_ad = <0 2 1 0 0 0 0 0 0 0 0 0>; ig1_flow0_update_dmac=<0 0>;//第1项为是否更新流表中的mac地址,第2项为是更新的是mact地址还是第二个mact地址 /匹配入口cpu port为1,转发到macport1 ig1_flow1_key= <0 0 0 0 0 0 0 0 0 0x01000000 0 0 0>; // 0x0100000 表示命中ingress port为cpuport 1的 ig1_flow1_mask= <0 0 0 0 0 0 0 0 0 0xFF000000 0 0 0>; ig1_flow1_ad= <0 0 1 0 0 0 0 0 0 0 0 0>; ig1_flow1_update_dmac=<0 0>;//第1项为是否更新流表中的mac地址,第2项为是更新的是mact地址还是第二个mact地址 }; 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通。 现在问题是eth9与eth10的设备树信息对应的macport与cpuport不知道怎么配置: //匹配入口mac port为1,转发到cpu-port 1 ig1_flow0_key = <0 0 0 0 0 0 0 0 0 0x41000000 0 0 0>; // 0xx4100000 表示命中ingress portmacport 1的 igl_flow0_mask = <0 0 0 0 0 0 0 0 0 0xFF000000 0 0 0>; ig1_flow0_ad = <0 2 1 0 0 0 0 0 0 0 0 0>; ig1_flow0_update_dmac=<0 0>;//第1项为是否更新流表中的mac地址,第2项为是更新的是mact地址还是第二个mact地址 /匹配入口cpu port为1,转发到macport1 ig1_flow1_key= <0 0 0 0 0 0 0 0 0 0x01000000 0 0 0>; // 0x0100000 表示命中ingress port为cpuport 1的 ig1_flow1_mask= <0 0 0 0 0 0 0 0 0 0xFF000000 0 0 0>; ig1_flow1_ad= <0 0 1 0 0 0 0 0 0 0 0 0>; ig1_flow1_update_dmac=<0 0>;//第1项为是否更新流表中的mac地址,第2项为是更新的是mact地址还是第二个mact地址 请帮忙进行分析
最新发布
10-14
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值