EN JA
NG_VLAN(4)
NG_VLAN(4) FreeBSD Kernel Interfaces Manual NG_VLAN(4)

名称

ng_vlanIEEE 802.1Q VLAN タグ付き netgraph ノードタイプ

書式

#include < sys/types.h>
#include < netgraph.h>
#include < netgraph/ng_vlan.h>

解説

vlan ノードタイプは、異なるフック間の IEEE 802.1Q 標準に従ってタグが付けられたフレームを多重化します。

各ノードは、2 つの特別のフック、 downstreamnomatch、特別の VLAN タグとそれぞれ関連する“vlan”フックの任意の数を持っています。

フィルタされるために設定されるノードは、対応する“vlan”フックから送られます。 ETHERTYPE_VLAN フレームは、そのノードにタグが付けられた downstream (下流) のフック上で受け取られます。設定されたタグのうちのどれとも一致しないか、タイプ ETHERTYPE_VLAN にない場合、それは、 nomatch フックから送られます。 nomatch フックが接続されない場合、パケットが落とされます。

nomatch フック上で受け取られたイーサネットフレームは、 downstream (下流) のフックに変更せずにに渡されます。

“vlan”フックのうちのどれでも受け取られたイーサネットフレームは、それに従ってタグが付けられ、 downstream (下流) のフックに送られます。

フック

このノードタイプは、次のフックをサポートします:
downstream
一般的に、このフックは、 下部の フックを使用する ng_ether(4) ノードに接続されます。
nomatch
一般的に、このフックも、 上部の フックを使用する ng_ether(4) タイプノードに接続されます。
< 任意の有効な名前>
任意の他のフック名は、受け付けられ、その後、特別のタグに関係しているべきです。一般的に、このフックは、 ether フックを使用する ng_eiface(4) タイプノードに取り付けられます。

コントロールメッセージ

このノードタイプは、次を加えて、一般的なコントロールメッセージをサポートします:
NGM_VLAN_ADD_FILTER ( addfilter)
タグにフックを関連させます。
NGM_VLAN_DEL_FILTER ( delfilter)
タグからのフックを分離します。
NGM_VLAN_GET_TABLE ( gettable)
すべてのフック/タグ関連付けのテーブルを返します。

使用例

#!/bin/sh 
 
ETHER_IF=rl0 
 
ngctl -f- <<EOF 
shutdown ${ETHER_IF}: 
mkpeer ${ETHER_IF}: vlan lower downstream 
name ${ETHER_IF}:lower vlan 
connect ${ETHER_IF}: vlan: upper nomatch 
EOF 
 
ngctl mkpeer vlan: eiface vlan123 ether 
ngctl msg vlan: addfilter '{ vlan=123 hook="vlan123" }'

シャットダウン

このノードは、 NGM_SHUTDOWN コントロールメッセージを受け取るか、すべてのフックが切断されている時、シャットダウンします。

歴史

ng_vlan ノードタイプは、 FreeBSD 4.10 で登場しました。

作者

Ruslan Ermilov <ru@FreeBSD.org>
March 1, 2004 FreeBSD