Re: bge & vlan stranges

From: Lars Erik Gullerud (lerik_at_nolink.net)
Date: 08/03/03

  • Next message: Petri Helenius: "AP 3 failed"
    To: Terry Lambert <tlambert2@mindspring.com>
    Date: 03 Aug 2003 19:31:36 +0200
    
    

    On Sun, 2003-08-03 at 02:28, Terry Lambert wrote:

    > > The fact of the matter is, if you use 802.1q encapsulation, the total
    > > frame size can be 1504. That is the standard.
    >
    > This is truly evil.

    Actually, after a lot of discussions over this very topic during the
    IEEE ratification process, the 802.1Q standard allows for both
    varieties. The 1522 total frame size has become the de-facto standard
    though, for pretty obvious reasons. If I was down at the office now, I
    could have looked up the relevant sections of the standard and related
    notes, but since I'm not, this is taken from memory.

    You all probably this part, but the 802.1Q header is inserted directly
    behind the DA/SA header fields, i.e. before the EtherType field in
    Ethernet_II frames (the Length field in legacy 802.3 ethernet frames).
    This means "legacy" implementations who doesn't understand 802.1Q and
    looks for Length/EtherType at a given offset in the Ethernet header will
    instead find "8100", the Tag Protocol Identifier in 802.1Q. These legacy
    implementations will therefore typically discard the packet.

    With this in mind, it was anticipated that devices who knew how to
    handle 802.1Q header fields would also be designed to handle the added 4
    bytes to the total frame length. This however was the topic for a lot of
    the discussion, since a lot of vendors could easily adapt their software
    to understand the required headers, but allowing for longer frame
    lengths quickly ran into hardware issues.

    So provisions were made in the standard to allow for devices to reduce
    the maximum payload size to 1496 if they can not handle frames exceeding
    1518 bytes total length. This is however left as an implementation
    detail, and it is up to the vendors and/or end-users to make sure all
    devices connected to a given Ethernet only use 1496 bytes data segments
    if using this "legacy compatibility" provision in the standard.

    > I would suggest, though, that L2 switches shouldn't be boundaries
    > for this type of encapsulation, if this is the case. Worst case,
    > though, an attempt at PMTU through a switch that did this anyway
    > should end up with whatever MTU the host has setup.
    >
    > I expect that the 802.1q encapsulation of 1500 MTU packets (yielding
    > 1504 MTU packets on the wire) was actually intended to operate in
    > switch-to-switch trunking, not sitch-to-host trunking.

    Indeed, the primary point of the 802.1Q standard was to allow for fully
    transparent trunking in the bridge-to-bridge domain, typically by
    inserting the 802.1Q tag at the boundary of the "VLAN domain" and
    stripping it when the frame leaves the 802.1Q aware domain - usually at
    the switches where the end-stations are connected.

    > Effectively, this means the machine that's doing it's own VLAN
    > stuff is really a trunk endpoint, not a traditional ethernet
    > endpoint.

    Yes, any machine that handles "VLAN stuff" is now effectively an
    extended part of the bridge domain and is no longer really an Ethernet
    end-station.

    > I have no problem with this.
    >
    > I'm just pointing out that not all cards will be able to support
    > the idea, and that if you depend on arbitrary cards supporting
    > it, you are going to get shot in the foot.

    Again, this is stated in the standard. If wish to use 802.1Q trunking on
    "legacy" devices, then it is up to you to make sure all other devices
    participating in this given Ethernet adheres to using 1496 bytes as the
    maximum payload size, as there is obviously no way for the protocol to
    "negotiate" this, nor to return any form of error messages to any
    misbehaving hosts.

    Actually, I'd say that you probably should not be doing 802.1Q trunking
    at all on a NIC not capable of exceeding a max frame size of 1518 bytes,
    as you are almost certain to run into problems - with the possible
    exception of cases like e.g. a firewall hanging off a point-to-point
    connection with a router and handling multiple VLANs, where you can set
    the correct MTU on both sides.

    /leg

    _______________________________________________
    freebsd-current@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-current
    To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"


  • Next message: Petri Helenius: "AP 3 failed"

    Relevant Pages

    • Re: Ethernet in its most basic form
      ... Ethernet cables consist of 8 pairs of wires, and from what I know, ... of "callback function" that was magically invoked whenever a frame was ... Also, as far as is possible, I like to program in Standard C ... definitely want to use a canned Ethernet controller. ...
      (comp.arch.embedded)
    • Re: Twin Paradox
      ... inertial motion in violation of the relativity ... laser has to be stationary within the inertial frame where the ... the helium-neon with respect to the bacterial spore. ... You could argue that the original standard of measurement was ...
      (sci.physics.relativity)
    • Re: End of analog TV
      ... The US television standard was set in the 1940's. ... The 20% slower frame rate allowed for 625 lines per ... That's why NTSC TVs have brightness, contrast, ... DVD's can be had in NTSC (30000/1001 fps), NTSC file, ...
      (sci.electronics.repair)
    • Re: Win 2003 Server cross-realm authentication
      ... FRAME: Base frame properties ... ETHERNET: Destination address = FFFFFFFFFFFF ... Protocol = UDP - User Datagram ... Protocol = TCP - Transmission Control ...
      (comp.protocols.kerberos)
    • Re: Ethernet in its most basic form
      ... Ethernet cables consist of 8 pairs of wires, and from what I know, only ... "callback function" that was magically invoked whenever a frame was ... Need to learn how to apply control theory in your embedded system? ... "Applied Control Theory for Embedded Systems" by Tim Wescott ...
      (comp.arch.embedded)