Re: vlan and bond integration in bridge

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I did release a patch to do most of this a while ago. It was for the  
2.4 kernel series, but could be updated for 2.6 without too much  
trouble I'm sure. Search the list archives about a couple of years ago.

Simon

Sent from my iPhone

On Jan 12, 2009, at 4:41 AM, "Lv Zheng" <lv.zheng@xxxxxxxxxxxxxx> wrote:

>> I was talking about regular data packets. Usually, when refering to
>> "port based" VLAN, we mean that the host (or the hosts) connected to
>> that port has no knowledge whatsoever of what a VLAN is.
>>
>> If (and only if) this is what you want, then br0 should be directly
>> connected to the physical port (bond or eth), and not on top of a  
>> vlan
>> layer which will filter out untagged incoming packets, and tag  
>> outgoing
>> packets.
>
> Greetings.
>
> 802.1Q defines that each bridge port
>
> shall support following parameters:
> 1. acceptable frame types, one of the following:
>  A. admit only VLAN tagged frames
>  B. admit only untagged and priority-tagged frames
>  C. admit all frames (default)
> 2. a PVID for port based VLAN classification
> may support following parameters:
> 3. a VID set for port and protocol based classification
>
> For port based VLAN, a netdevice might still be
> VLAN-aware and at least 1 & 2 should be configurable
> for the netdevice (known as EISS support).
>
> I noticed following differences are exist between
> 802.1Q compatible switch chip's MAC port devices
> and a normal NIC devices:
>
> Switch port do support 802.1Q parameters will
> 1. drop untagged frames if it is configured to admit
>  only VLAN tagged frames and drop frames not
>  admitted
> 2. drop any tagged frames whose tag is not in the
>  VID set if it is configured to admit only VLAN
>  tagged frames and drop frames not admitted
> 3. handle any untagged frames as PVID tagged frames
>  if it is configured to admit untagged and
>  priority-tagged frames and handle such frames as
>  if they are coming from the default vlan
> 4. handle any tagged frames whose tag is not in the
>  VID set as PVID tagged frames if it is configured
>  to admit untagged and priority-tagged frames and
>  handle such frames as if they are coming from the
>  default vlan
>
> While Linux does not support such features.
>
> Should following attributes be added to netdevice
> to support port based VLAN?
> 1. pvid
> 2. admit_frame_types
>  VLAN ioctl command may be added for all
>  netdevice (like ADD_VLAN_CMD) to
>  manipulate above 2 vlan specific parameters:
>  SET_PVID_CMD
>  SET_FRAME_TYPES_CMD
>  SET_FRAME_ACTIONS_CMD
>  Addtional hooks might also be added to
>  netdevice:
>  vlan_set_pvid
>  vlan_set_admit_frames (types & actions)
>  if frames is not admitted, actions might be configured
>  to allow:
>  2.1 DROP: drop the frame
>  2.2 DEF_VLAN: handle the frame as if it is pvid tagged
> 3. vlan_nr_groups:
>  set by NIC driver, its default value might be a Kconfig
>  option such as CONFIG_VLAN_8021Q_GROUPS
> 4. vlan_gid_map
>  GID enabling bits, might be BITMAP(vlan_nr_groups)
> 5. vlan_groups
>  VID <-> GID mappings, might be u16[vlan_nr_groups]
>  register_vlan_device / unregister_vlan_device
>  might maintain this map and gid array
>
> If hardware do support 802.1Q parameters, it might
> report vlan_nr_groups on registration.
> Hardware vlan_gid_map and vlan_groups might be
> synchronized by supporting
> vlan_rx_add_vid / vlan_rx_kill_vid.
> Hardware PVID and admit_frame_types might be
> synchronized by supporting
> vlan_set_pvid / vlan_set_admit_frames.
>
> If PVID in netdevice was implemented, there might be
> tow options we could choose:
> 1. ensure there is always a ethx.pvid device exist
>  might be suitable for tag based switch applications
> 2. ensure there is always not a ethx.pvid device exist
>  might be suitable for port based switch applications
>
> vlan_skb_recv might be modified to support EISS features
> because this function will handle all VLAN-tagged frames
>
> netif_recv_skb might be modified to support EISS features
> because this function will handle all VLAN-untagged frames
>
> dev_hard_start_xmit might be modified to support EISS
> feauturs to do tagging on outgoing packets before hard_xmit
> if pvid is set and no ethx.pvid device exists.
>
> If I were wrong, pls let me know. Thanks in advance.
>
> Best regards/Lv Zheng
> _______________________________________________
> Bridge mailing list
> Bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx
> https://lists.linux-foundation.org/mailman/listinfo/bridge
_______________________________________________
Bridge mailing list
Bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/bridge

[Index of Archives]     [Netdev]     [AoE Tools]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux