recv buffer for each network card? - Networking

This is a discussion on recv buffer for each network card? - Networking ; Let's say i have two ethernet cards connected to the same subnet. So when someone sends an ethernet framework to this host, it will be picked up by both network cards, right? So there will be two interrupts. How does ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: recv buffer for each network card?

  1. recv buffer for each network card?

    Let's say i have two ethernet cards connected to the same subnet.

    So when someone sends an ethernet framework to this host, it will be
    picked up by both network cards, right? So there will be two
    interrupts.

    How does the driver figure out these two frames are actually the same
    one? Specifically, is there a seperate recv buffer for each card?
    Maybe the driver does not bother to do that, and just pass it to the
    ip stack?

    Thanks in advance!


  2. Re: recv buffer for each network card?

    Pei Zheng wrote:
    > Let's say i have two ethernet cards connected to the same subnet.
    >
    > So when someone sends an ethernet framework to this host, it will be
    > picked up by both network cards, right? So there will be two
    > interrupts.


    No. Generally (i.e. excepting broadcast frames, multicast frames and
    cards operating in promiscuous mode) ethernet cards are programmed to
    receive only frames addressed to their own MAC address.

    Robert

    >
    > How does the driver figure out these two frames are actually the same
    > one? Specifically, is there a seperate recv buffer for each card?
    > Maybe the driver does not bother to do that, and just pass it to the
    > ip stack?
    >
    > Thanks in advance!
    >


  3. Re: recv buffer for each network card?

    On Apr 29, 5:33 pm, Pei Zheng wrote:

    > Let's say i have two ethernet cards connected to the same subnet.


    You mean that you are bridging? Are we talking a typical IP world?

    > So when someone sends an ethernet framework to this host, it will be
    > picked up by both network cards, right? So there will be two
    > interrupts.


    No for several reasons. The most obvious is this: Consider a switch
    with 8 ports. A packet is sent from port 1 to port 8. Port 2 is
    connected to the same subnet as port 8, but a packet sent to the
    machine on port 8 will not always be seen by a machine connected to
    port 2.

    A subnet is a high-level logical construct that doesn't map 1-to-1 to
    the physical wiring layer.

    > How does the driver figure out these two frames are actually the same
    > one? Specifically, is there a seperate recv buffer for each card?
    > Maybe the driver does not bother to do that, and just pass it to the
    > ip stack?


    In the vast majority of legal configurations, it won't receive both
    frames. For example, if STP and bridging is used, one port will be
    disabled. If the two bridge ports go to different logical segments of
    the LAN, the frame will only be seen on the interface that faces the
    side that generated the frame.

    DS


+ Reply to Thread