跳过导航链接 | |
退出打印视图 | |
管理 Oracle Solaris 11.1 网络性能 Oracle Solaris 11.1 Information Library (简体中文) |
以下过程介绍如何配置 LLDP 以与网络上的其他主机或对等方交换系统信息。
以下过程介绍如何使用系统上的 LLDP 启动通告系统功能。缺省情况下,安装完 LLDP 软件包后,LLDP 即已启用并可以使用。如果满足缺省 LLDP 配置,则大部分步骤都是可选的。
开始之前
必须安装 LLDP 软件包才能使用 LLDP。要安装该软件包,请键入以下命令:
# pkg install lldp
# svcs lldp STATE STIME FMRI online Jul_10 svc:/network/lldp:default
如果已禁用 LLDP 服务,请使用以下命令启动该服务:
# svcadm enable svc:/network/lldp:default
如果希望在系统上全局性地启用 LLDP 服务,请指定 LLDP 代理将通告的 TLV 单元。
# lldpadm set-agentprop -p property=value agent
其中,agent 是 LLDP 代理,通过启用该代理的物理链路进行标识。因此,如果在 net0 上启用了 LLDP,则代理为 net0。
注 - 发出 lldpadm 子命令时,可以使用缩写形式。例如,对于 lldpadm set-agentprop,也可键入 lldpadm set-ap。请参阅 lldpadm(1M) 手册页,了解子命令及其缩写形式。
有关 LLDP 代理的属性的说明,请参见LLDP 代理通告的信息。
要获取 LLDP 代理的属性列表,请键入 lldpadm show-agentprop。或者,请参阅表 7-1。
有关说明,请参见如何为代理的 LLDP 包指定 TLV 单元。
如果希望只在选定的端口上启用 LLDP 服务,请执行以下步骤。
将 SMF auto-enable-agents 属性更改为 no。
# svccfg -s svc:/network/lldp:default setprop lldp/auto-enable-agents = "no"
该 SMF 属性决定在系统上启用 LLDP 的方式。它有三个可能的值:yes、force 和 no。缺省情况下,该属性设置为 yes。有关这些值以及这些值所对应的 LLDP 代理的后续行为的说明,请参见LLDP 的 SMF 属性。
重新启动 LLDP 服务。
# svcadm restart svc:/network/lldp:default
在选定的端口或链路上启用 LLDP 代理。
# lldpadm set-agentprop -p mode=value agent
其中,agent 是 LLDP 代理,通过启用该代理的物理链路进行标识。因此,如果在 net0 上启用 LLDP,则代理为 net0。
可将属性 mode 设置为以下四个可能值(代表 LLDP 代理的操作模式)之一:tx、rx、both 和 disable。有关这些值的说明,请参见LLDP 代理的操作模式。
指定 LLDP 代理将通告的 TLV 单元。
# lldpadm set-agentprop -p property=value agent
有关 LLDP 代理的属性的说明,请参见LLDP 代理通告的信息。
要获取 LLDP 代理除 mode 属性之外的其他属性的列表,请键入 lldpadm show-agentprop。或者,请参阅表 7-1。
有关说明,请参见如何为代理的 LLDP 包指定 TLV 单元。
# lldpadm set-tlvprop -p property=value global-tlv
其中,property 指全局 TLV 单元的属性。
有关全局 TLV 单元的说明,请参见TLV 单元及其属性。
要获取全局 TLV 的列表,请键入 lldpadm show-tlvprop。或者,请参阅表 7-2。
有关说明,请参见如何定义 TLV 值。
# lldpadm set-agenttlvprop -p property=value -a agent per-agent-tlv
其中,property 指每代理 TLV 单元的属性。
有关每代理 TLV 单元的说明,请参见TLV 单元及其属性。
要获取每代理 TLV 的列表,请键入 lldpadm show-tlvprop。或者,请参阅表 7-2。
有关说明,请参见如何定义 TLV 值。
示例 7-1 定制 auto-enable-agents SMF 属性
以下示例显示了更改 SMF 属性值后的不同 LLDP 启用方式。假定一个系统上有四个端口,按如下所示在两个端口上配置 LLDP:
net0:Rx 和 Tx 模式
net1:仅 Rx 模式
net2 和 net3:无
SMF 属性设为缺省值 yes 时,会在 net2 和 net3 上自动启用 LLDP。LLDP 配置显示如下:
# lldpadm show-agentprop -p mode AGENT PROPERTY PERM VALUE DEFAULT POSSIBLE net0 mode rw both disable txonly,rxonly,both, disable net1 mode rw rxonly disable txonly,rxonly,both, disable net2 mode rw both disable txonly,rxonly,both, disable net3 mode rw both disable txonly,rxonly,both, disable
如果将 SMF 属性切换为 no,则当重新启动该服务时,配置会发生变化。
# svccfg -s svc:/network/lldp:default setprop lldp/auto-enable-agents = "no" # svcadm restart svc:/network/lldp:default # lldpadm show-agentprop -p mode AGENT PROPERTY PERM VALUE DEFAULT POSSIBLE net0 mode rw both disable txonly,rxonly,both, disable net1 mode rw rxonly disable txonly,rxonly,both, disable net2 mode rw disable disable txonly,rxonly,both, disable net3 mode rw disable disable txonly,rxonly,both, disable
在此输出样例中,net2 和 net3 的 LLDP 模式(先前已经自动启用)现在标记为禁用。但是,先前已配置了 LLDP 代理的 net0 和 net1 没有变化。
示例 7-2 在多个数据链路上启用 LLDP
本示例说明如何选择性地启用 LLDP。一个系统具有两个数据链路(net0 和 net1)。在 net0 上,您希望代理传送和接收 LLDP 包。在 net1 上,您希望代理只传送 LLDP 包。可键入以下命令:
# svccfg -s svc:/network/lldp:default setprop lldp/auto-enable-agents = "no" # svcadm restart svc:/network/lldp:default # lldpadm set-agentprop -p mode=both net0 # lldpadm set-agentprop -p mode=txonly net1
此过程说明如何在代理传送的 LLDP 包中指定要通告的 TLV 单元。要指定 TLV 单元,请使用 lldpadm set-agentprop 子命令。
此子命令还用于显示已为每个属性设置的 TLV 单元。
# lldpadm show-agentprop agent
如果不指定属性,此子命令将显示所有 LLDP 代理属性及其 TLV 值。
# lldpadm set-agentprop -p property[+|-]=value[,...] agent
+|- 限定符用于接受多个值的属性。这些限定符使您能够在列表中添加 (+) 或删除 (-) 值。如果您不使用限定符,则您设置的值将取代以前为该属性定义的所有值。
# lldpadm show-agentprop -p property agent
示例 7-3 将可选 TLV 单元添加到 LLDP 包
在本示例中,LLDP 代理 net0 已配置为在其 LLDP 包中通告 VLAN 信息。您希望要通告的信息还包括系统功能、链路聚合和网络虚拟化信息。不过,您希望从包中删除 VLAN 说明。
# lldpadm show-agentprop net0 AGENT PROPERTY PERM VALUE DEFAULT POSSIBLE net0 mode rw both disable txonly,rxonly,both, disable net0 basic-tlv rw sysname, none none,portdesc, sysdesc sysname,sysdesc, syscapab,mgmtaddr, all net0 dot1-tlv rw vlanname, none none,vlanname,pvid, pvid,pfc linkaggr,pfc,appln, evb,etscfg,all net0 dot3-tlv rw max-framesize none none, max-framesize, all net0 virt-tlv rw none none none,vnic,all # lldpadm set-agentprop -p basic-tlv+=syscapab,dot1-tlv+=linkaggr,virt-tlv=vnic net0 # lldpadm set-agentprop -p dot1-tlv-=vlanname net0 # lldpadm show-agentprop -p net0 AGENT PROPERTY PERM VALUE DEFAULT POSSIBLE net0 mode rw both disable txonly,rxonly,both, disable net0 basic-tlv rw sysname, none none,portdesc, sysdesc, sysname,sysdesc, syscapab syscapab,mgmtaddr, all net0 dot1-tlv rw pvid, none none,vlanname,pvid, linkaggr linkaggr,pfc,appln, evb,etscfg,all net0 dot3-tlv rw max-framesize none none, max-framesize, all net0 virt-tlv rw vnic none none,vnic,all
此过程说明如何为特定 TLV 单元提供值。使用以下子命令之一:
lldpadm set-tlvprop,用于配置全局 TLV 单元。
lldpadm set-agenttlvprop,用于配置每代理 TLV 单元。
要配置全局 TLV 单元,请设置适当的 TLV 属性以包含您要通告的值。
# lldpadm set-tlvprop -p tlv-property=value[,value,value,...] tlv-name
其中,tlv-name 是全局 TLV 单元的名称,而 tlv-property 是该 TLV 单元的一个属性。可为该属性分配多个值。有关参考信息,请参见表 7-2。
要配置每代理 TLV 单元,请配置 LLDP 代理的相应 TLV 属性以包含希望代理通告的值。
# lldpadm set-agenttlvprop -p tlv-property[+|-]=value[,value,value,...] -a agent tlv-name
其中,tlv-name 是代理 TLV 单元的名称,而 tlv-property 是该 TLV 单元的一个属性。可为该属性分配多个值。有关参考信息,请参见表 7-3。
要显示全局 TLV 属性值,请使用以下命令:
# lldpadm show-tlvprop
要显示代理的 TLV 属性值,请使用以下命令:
# lldpadm show-agenttlvprop
示例 7-4 指定系统的功能和管理 IP 地址
本示例实现两个目标:
提供有关要在 LLDP 包中通告的系统功能的特定信息。为了实现此目标,必须同时配置 syscapab TLV 单元的 supported 和 enabled 属性。
提供在通告中使用的管理 IP 地址。
# llpdadm set-tlvprop -p supported=bridge,router,repeater syscapab # llpdadm set-tlvprop -p enabled=router syscapab # llpdadm set-tlvprop -p ipaddr=192.168.1.2 mgmtaddr # llpdadm show-tlvprop TLVNAME PROPERTY PERM VALUE DEFAULT POSSIBLE syscapab supported rw bridge, bridge,router, other,router, router, station repeater,bridge, repeater wlan-ap,telephone, docis-cd,station, cvlan,svlan,tpmr syscapab enabled rw router none bridge,router, repeater mgmtaddr ipaddr rw 192.162.1.2 none --
要在各个端口上选择性地禁用 LLDP,请使用以下命令之一:
lldpadm set-agentprop -p mode=disable agent
其中,agent 是 LLDP 代理,通过启用该代理的物理链路进行标识。因此,如果在 net0 上启用 LLDP,则代理为 net0。此命令通过更改代理的模式禁用 LLDP。
lladpadm reset-agentprop
在此命令中,不设置 mode 属性的值。此命令通过从端口中删除 LLDP 配置来禁用 LLDP。
注意 - 子命令 lldpadm reset—agentprop 将从端口中彻底删除 LLDP 配置。如果设置为 no 的 auto-enable-agents 切换回 yes,则 LLDP 的行为与单纯禁用该端口上的代理模式时不同。 |
要在所有系统接口中全局性地禁用 LLDP,请执行以下步骤。
将 SMF LLDP 属性更改为 no。
# svccfg -s svc:/network/lldp:default setprop lldp/auto-enable-agents = "no"
重新启动 LLDP 服务。
# svcadm restart svc:/network/lldp:default
在保留了先前 LLDP 配置的各个端口上禁用 LLDP。
# lldpadm set-agentprop -p mode=disable agent