2.3.1 创建协议vlan的协议模板
1. 配置准备
配置基于协议的vlan之前,首先要创建vlan。
2. 配置步骤

在创建协议vlan的协议模板命令中,使用at、ip、ipx参数来创建标准模板;使用mode参数创建自定义模板。
同一个vlan下不能配置两个定义了相同的协议类型和封装格式的模板,当设置自定义模板的参数取值为某些特殊数值时,定义的封装将与标准模板完全相同。此时自定义模板和标准模板不能同时配置。
请注意以下的协议模板配置限制:
不能在同一vlan下同时配置llc型自定义模板和ipx llc标准模板。
不能在同一vlan下同时配置dsap和ssap取值均为ff的llc型自定义模板和ipx raw标准模板。
不能在同一vlan下同时配置etype取值为8137的ethernetii型自定义模板和ipx ethernetii标准模板。
不能在同一vlan下同时配置etype取值为8137的snap型自定义模板和ipx snap标准模板。
当dsap-id和ssap-id的取值是aa时,报文的封装类型将不再是llc,而将被定义为snap。为避免模板冲突,系统不允许用户在配置llc封装的自定义模板时将dsap-id和ssap-id值取为aa。
另外,在设置ip协议模板时还请注意:
如果报文既能匹配基于ipv4子网的vlan,又匹配基于其他协议的vlan,则优先匹配基于ipv4子网的vlan。
ip [ ip-address [ net-mask ] ]定义的是基于ipv4子网的vlan。如果需要定义基于ip协议和不同封装格式的vlan,请使用 mode { ethernetii [ etype etype-id ] }和 snap [ etype etype-id ],其中etype-id为0x0800。
2.3.2 创建端口与基于协议vlan的关联
1. 配置准备
已经创建协议vlan的协议模板。
将端口配置为hybrid类型,并配置在转发协议vlan的报文时去除vlan tag。
2. 配置步骤

有关端口以untag方式加入vlan的操作,请参见本手册“端口基本配置”部分的介绍。
同一个vlan下不能配置相同的协议类型和封装格式;不同的vlan下可以配置相同的协议类型和封装格式,但不能下发到同一端口(包括定义了相同封装的自定义模板和标准模板)。
如果vlan内已经下发了协议,则该vlan不能被删除。
如果端口上已经下发了该vlan的协议,则该vlan不能从端口上被删除。
如果vlan内的协议已经下发到端口,则不能从该vlan内删除该协议。
2.3.3 创建单板与基于协议vlan的关联
请在系统视图下进行下列配置。

用户首先必须将指定单板上需要协议生效的端口加入到该基于协议的vlan。
目前,只有非a型单板(包括业务板和主控板)支持该命令。
如果基于协议vlan已经与单板关联,则该vlan不能被删除。
如果vlan内的协议已经与单板关联,则不能从该vlan内删除该协议。
关于创建基于协议的vlan的命令与单板类型之间的对应关系,请参见表2-10。

a型单板包括:ls81ft48a、ls81fm24a、ls81fs24a、ls81gb8ua、ls81gt8ua、isalience i、salience i、salience ii。
2.3.4 协议vlan配置显示
完成上述配置后,在任意视图下执行display命令,可以显示配置协议vlan后的运行情况。通过查看显示信息,用户可以验证配置的效果。

2.3.5 基于协议的vlan典型配置举例
1. 基于标准模板的协议vlan配置举例
(1)组网需求
创建vlan 5,并配置为基于协议的vlan。创建索引值1,协议类型为ip。
配置ethernet1/0/5端口与协议vlan相关联,由此端口进入的ip数据流自动加上vlan 5的vlan标识,在vlan 5中传输。
(2)配置步骤
# 创建vlan 5并进入其视图。
[h3c] system-view
[h3c] vlan 5
[h3c-vlan5]
# 配置vlan 5的索引值1关联的协议类型为ip。
[h3c-vlan5] protocol-vlan 1 ip
# 进入ethernet1/0/5的端口视图。
[h3c-vlan5] interface ethernet 1/0/5
# 配置端口为hybrid端口。
[h3c-ethernet1/0/5] port link-type hybrid
# 将端口加入vlan 5,并将vlan 5添加到端口允许通过的untagged vlan列表。
[h3c-ethernet1/0/5] port hybrid vlan 5 untagged
# 将端口与协议vlan的索引值1相关联。
[h3c-ethernet1/0/5] port hybrid protocol-vlan vlan 5 1
2. 基于自定义模板的协议vlan配置举例
(1)组网需求
创建vlan 7为协议vlan。
在vlan 7中创建2个索引。索引1用来匹配802.2 llc封装中dsap与ssap字段取值分别为01和ac的报文;索引2用来匹配802.2 snap封装中type字段取值为0xabcd的报文。
将端口ethernet1/0/7与协议vlan 7的两个索引关联。当符合其中一个索引的报文从此端口进入时,自动添加vlan 7的vlan tag。
(2)配置步骤
# 创建vlan 7并进入其视图。
[h3c] system-view
[h3c] vlan 7
[h3c-vlan7]
# 根据组网需求配置vlan 7的索引值1。
[h3c-vlan7] protocol-vlan 1 mode llc dsap 01 ssap ac
# 根据组网需求配置vlan 7的索引值2。
[h3c-vlan7] protocol-vlan 2 mode snap etype abcd
# 进入ethernet1/0/7的端口视图。
[h3c-vlan7] interface ethernet 1/0/7
# 配置端口为hybrid端口。
[h3c-ethernet1/0/7] port link-type hybrid
# 将端口加入vlan 7,并将vlan 7添加到端口允许通过的untagged vlan列表。
[h3c-ethernet1/0/7] port hybrid vlan 7 untagged
# 将端口与协议vlan 7的两个索引相关联。
[h3c-ethernet1/0/7] port hybrid protocol-vlan vlan 7 1 to 2