lkml.org 
[lkml]   [1999]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: 2.2.12pre[13] network problem
    Date
    From
    > I've tried 2.2.12pre1 and 2.2.12pre3 today.  Output from ifconfig looks
    > normal. Interface eth0 works fine. Interface eth1 doesn't: if pinged
    > from another box, it may or may not (mostly not) wake up and ping back,
    > and if it does, and I ping from the local host, that may work for a bit;
    > but very soon (under 20 seconds) the interface seems to revert to
    > inactivity. All this time eth0 is quite normal. Taking eth1 down and
    > bringing it back up manually with ifconfig doesn't help. Rebooting
    > 2.2.11 causes the problem to go away.

    Do you have any of the IP virtual server stuff built in ?

    Can you see if backing out this helps


    diff -u --new-file --recursive --exclude-from ../exclude linux.vanilla/net/ipv4/arp.c linux.12p2/net/ipv4/arp.c
    --- linux.vanilla/net/ipv4/arp.c Tue Aug 10 21:45:41 1999
    +++ linux.12p2/net/ipv4/arp.c Wed Aug 11 22:54:16 1999
    @@ -65,6 +65,8 @@
    * clean up the APFDDI & gen. FDDI bits.
    * Alexey Kuznetsov: new arp state machine;
    * now it is in net/core/neighbour.c.
    + * Wensong Zhang : NOARP device (such as tunl) arp fix.
    + * Peter Kese : arp_solicit: saddr opt disabled for vs.
    */

    /* RFC1122 Status:
    @@ -306,9 +308,15 @@
    u32 target = *(u32*)neigh->primary_key;
    int probes = neigh->probes;

    +#if !defined(CONFIG_IP_MASQUERADE_VS) /* Virtual server */
    + /* use default interface address as source address in virtual
    + * server environment. Otherways the saddr might be the virtual
    + * address and gateway's arp cache might start routing packets
    + * to the real server */
    if (skb && inet_addr_type(skb->nh.iph->saddr) == RTN_LOCAL)
    saddr = skb->nh.iph->saddr;
    else
    +#endif
    saddr = inet_select_addr(dev, target, RT_SCOPE_LINK);

    if ((probes -= neigh->parms->ucast_probes) < 0) {
    @@ -534,6 +542,7 @@
    struct rtable *rt;
    unsigned char *sha, *tha;
    u32 sip, tip;
    + struct device *tdev;
    u16 dev_type = dev->type;
    int addr_type;
    struct in_device *in_dev = dev->ip_ptr;
    @@ -627,6 +636,13 @@
    * addresses. If this is one such, delete it.
    */
    if (LOOPBACK(tip) || MULTICAST(tip))
    + goto out;
    +
    +/*
    + * Check for the device flags for the target IP. If the IFF_NOARP
    + * is set, just delete it. No arp reply is sent. -- WZ
    + */
    + if ((tdev = ip_dev_find(tip)) && (tdev->flags & IFF_NOARP))
    goto out;

    /*
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:53    [W:0.021 / U:152.700 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site