Hi,

as we've now completed (almost) all necessary building blocks for
running OpenVPN in our intended environment, we've started testing the
feat_vlan_tagging branch in earnest.

Of course, we've immediately encountered the first problem. :)

Currently, if VLAN-tagged packets coming in on the tap device are also
priority tagged (the PCP field is != 0), then OpenVPN removes the
VLAN-tag, but keeps the priority-tagging.

This may sound nice in theory, but client-support for
802.1Q-priority-tagged packets is quite lacking.  (Linux doesn't know
what to do without explicit configuration.)  So this effectively means,
that packets that are sent VLAN- and priority-tagged somewhere on the
server-side can't be understood on the client-side.


     Server A
       |
   ====================  Tagged network
       |
     OpenVPN router
       ()
       ()
       ()
     OpenVPN client

If the OpenVPN client tries to communicate with Server A, then Server A
might know all about 802.1Q and add a priority code to the VLAN-tagged
packet.  The packet travels through the OpenVPN tunnel, where OpenVPN
strips the VLAN-tagging but leaves the priority-tagging intact. So
unfortunately, the client now recieves a priority-tagged packet and
doesn't understand it.  The communication fails.


Possible solutions I can think of:

 a) If a VLAN-tag is removed from an incoming packet, also always
    remove the priority tagging.  Effectively this means, that the
    ports operate in "untagged" mode instead of "untagged-or-priority"
    mode.  (Although strictly speaking, the priority-tagged packets
    aren't dropped, just translated.)

 a1) Same as a), but add a global option to switch between the
    current behaviour and the behaviour described in a).

 b) Same as a), but also remove the priority-tagging from packets
    where we haven't removed the VLAN-tag before.  This means
    completely untagging both VLAN-tagged and priority-tagged packets.

 b1) Make b) optional (similar to a1) ).

 c) Do b1), with a per-port setting.

Option a) would have the problem of asymmetry:  Clients could send
priority-tagged packets through OpenVPN and out through the tap device.
 Priority-tagged packets coming back in from the tap device would be
stripped though.

Option b) might be a bit too strict, in case clients indeed support
priority tagging.

Option c) on the other hand, might involve too much work for little
benefit ...


Soo ... I'd be especially interested in how typical switches with
tagging support behave regarding this stuff and what kinds of settings
they provide... maybe our Cisco certified admins may want to pitch in
here? :)

Cheers
Fabian

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to