From: Frank Munkert on
Hi,

I am trying to operate a VoIP phone behind a FreeBSD 6.2 router.
Unfortunately, FreeBSD 6.2 seems to ignore all 802.1Q traffic; when I switch
off QOS on the phone (which disables) 802.1Q, everything works fine.

Can anyone tell me how to switch in 802.1Q support in FreeBSD (I already
tried to activate the VLAN and ALTQ kernel options, which did not help).

Thanks
- Frank

P.S.: These are the traces when trying to ping the FreeBSD router from the
VoIP phone (with and without 802.1Q):

With 802.1Q activated:

seagull# tcpdump -i fxp1 -n -e -vv ether host 00:01:e3:23:ea:31
tcpdump: listening on fxp1, link-type EN10MB (Ethernet), capture size 96
bytes
21:50:51.289642 00:01:e3:23:ea:31 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q
(0x8100), length 64: vlan 0, p 0, ethertype ARP, arp who-has 10.144.50.70
tell 10.144.233.112
21:50:52.283962 00:01:e3:23:ea:31 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q
(0x8100), length 64: vlan 0, p 0, ethertype ARP, arp who-has 10.144.50.70
tell 10.144.233.112
21:50:53.283997 00:01:e3:23:ea:31 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q
(0x8100), length 64: vlan 0, p 0, ethertype ARP, arp who-has 10.144.50.70
tell 10.144.233.112

With 802.1Q deactivated:

seagull# tcpdump -i fxp1 -n -e -vv ether host 00:01:e3:23:ea:31
21:39:57.962761 00:01:e3:23:ea:31 > ff:ff:ff:ff:ff:ff, ethertype ARP
(0x0806), length 64: arp who-has 10.144.0.9 tell 10.144.233.112
21:40:12.277989 00:01:e3:23:ea:31 > 00:30:48:51:fc:04, ethertype IPv4
(0x0800), length 98: (tos 0x0, ttl 64, id 106, offset 0, flags [none],
proto: ICMP (1), length: 84) 10.144.233.112 > 10.144.50.70: ICMP echo
request, id 38592, seq 0, length 64
21:40:12.278098 00:30:48:51:fc:04 > 00:01:e3:23:ea:31, ethertype IPv4
(0x0800), length 98: (tos 0x0, ttl 64, id 43761, offset 0, flags [none],
proto: ICMP (1), length: 84) 10.144.50.70 > 10.144.233.112: ICMP echo reply,
id 38592, seq 0, length 64


From: Dom on
On Thu, 2007-02-22 at 22:22 +0100, Frank Munkert wrote:
> Can anyone tell me how to switch in 802.1Q support in FreeBSD (I already
> tried to activate the VLAN and ALTQ kernel options, which did not help).
>
> 21:50:51.289642 00:01:e3:23:ea:31 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q
> (0x8100), length 64: vlan 0,

Here's how to configure a trunk interface from rc.conf in 6.1.

cloned_interfaces="vlan2"
ifconfig_vlan2="192.168.100.4 vlan 2 vlandev fxp0"

I also notice a vlan identifier of 0, which I believe to be invalid.

From: Frank Munkert on
My IP phone does not use VLANs. "vlan 0" means that only the priority tag in
the 802.1Q Ethernet frame shall be considered, and that the VLAN tag shall
be ignored.

Regards
- Frank

"Dom" <invalid(a)invalid.invalid> schrieb im Newsbeitrag
news:1172384309.20328.23.camel(a)dm.deadghost.com...
> On Thu, 2007-02-22 at 22:22 +0100, Frank Munkert wrote:
>> Can anyone tell me how to switch in 802.1Q support in FreeBSD (I already
>> tried to activate the VLAN and ALTQ kernel options, which did not help).
>>
>> 21:50:51.289642 00:01:e3:23:ea:31 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q
>> (0x8100), length 64: vlan 0,
>
> Here's how to configure a trunk interface from rc.conf in 6.1.
>
> cloned_interfaces="vlan2"
> ifconfig_vlan2="192.168.100.4 vlan 2 vlandev fxp0"
>
> I also notice a vlan identifier of 0, which I believe to be invalid.
>


From: Martin on
Frank Munkert wrote:
> My IP phone does not use VLANs. "vlan 0" means that only the priority tag in
> the 802.1Q Ethernet frame shall be considered, and that the VLAN tag shall
> be ignored.

Interesting - that was news to me, but it's confirmed here...

http://www.javvin.com/protocolVLAN.html

A basic question is whether anything on your network (FreeBSD firewall,
ethernet switches, or upstream router) is actually going to recognize
the priority tag. If not, then you might achieve the same effect in
other ways, e.g.

1) If you're using PF and ALTQ, then you could turn off the phone's
802.1Q tagging, and configure ALTQ traffic shaping based on IP address
or protocol ports.

2) Configure the phone to use VLAN 2 (say) and give priority to traffic
from that VLAN. IP phones are often configurable to use VLANs, so that
corporate deployments can easily separate VOIP frames from other traffic.

802.1Q tags add overhead bytes to the front of each frame, so be aware
that frames with full-size payloads will not necessarily survive transit
through older Ethernet cards and switches.


- Martin.
From: Frank Munkert on
If I switch off 802.1Q in my IP phone (Siemens OptiPoint), then I also would
have to switch off 802.1Q on all other phones in our network; therefore,
this is not feasible. Is it a known bug in FreeBSD that it cannot process
frames for which the VLAN ID is 0?

- Frank

"Martin" <not-for-mail(a)example.com> wrote:
> Frank Munkert wrote:
>> My IP phone does not use VLANs. "vlan 0" means that only the priority tag
>> in the 802.1Q Ethernet frame shall be considered, and that the VLAN tag
>> shall be ignored.
> A basic question is whether anything on your network (FreeBSD firewall,
> ethernet switches, or upstream router) is actually going to recognize the
> priority tag. If not, then you might achieve the same effect in other
> ways, e.g.
>
> 1) If you're using PF and ALTQ, then you could turn off the phone's 802.1Q
> tagging, and configure ALTQ traffic shaping based on IP address or
> protocol ports.
>
> 2) Configure the phone to use VLAN 2 (say) and give priority to traffic
> from that VLAN. IP phones are often configurable to use VLANs, so that
> corporate deployments can easily separate VOIP frames from other traffic.