LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: is it possible that struct ip_vs_service *svc is not filled up?

To: Ratz <ratz@xxxxxx>
Subject: Re: is it possible that struct ip_vs_service *svc is not filled up?
Cc: "lvs-users@xxxxxxxxxxxxxxxxxxxxxx" <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
From: Julian Anastasov <ja@xxxxxx>
Date: Wed, 9 Aug 2000 00:03:47 +0000 (GMT)
        Hello,

On Tue, 8 Aug 2000, Ratz wrote:

> Hi Julian,
>
> Julian Anastasov wrote:
> > >
> > > And I attached a small beautifier patch:
> > >
> > >    - I think the #ifdef / #endif is not needed anymore.
> >
> >         There is one "if", we can save CPU :)
>
> Agreed! And what about all the other IP_VS_DBG() without
> #ifdef? Did I probably miss the point of this extraordinarly
> placement of CONFIG_IP_VS_DEBUG?

        :) Every IP_VS_DBG is replaced with empty string.

#ifdef CONFIG_IP_VS_DEBUG
#define IP_VS_DBG(msg...) printk(KERN_DEBUG "IPVS: " ## msg )
#else  /* NO DEBUGGING at ALL */
#define IP_VS_DBG(msg...)
#endif

        Without debugging the extra code will look:

        if (svc == NULL)

        Looking in the LVS source I don't see other code before
IP_VS_DBG that needs to be under #ifdef CONFIG_IP_VS_DEBUG. If
you uncomment this code there will be extra "if (svc == NULL)" :)

        Or may be it is optimized from the compiler??

> >         The OOPS seems to be in this code:
> >
> > int ipfw_output_check(struct firewall_ops *this, int pf, struct device *dev,
> >                       void *phdr, void *arg, struct sk_buff **pskb)
> > {
> >         /* Locally generated bogus packets by root. <SIGH>. */
> >         if (((struct iphdr *)phdr)->ihl * 4 < sizeof(struct iphdr)
> >             || (*pskb)->len < sizeof(struct iphdr))
> >                 return FW_ACCEPT;
> >         return ip_fw_check(phdr, dev->name,
> >                            arg, IP_FW_OUTPUT_CHAIN, *pskb, SLOT_NUMBER(), 
> > 0);
> > }
> >
> >         I.e. in IP_FW_OUTPUT_CHAIN which is:
> >
> > (ip_fw_chains->next->next)
> >
> >         By some reason ip_fw_chains->next==1. For now I don't have idea
> > why.
> >
> >         Do you play any games with creating new chains, etc? If yes,
> > show some names.
>
> nope, nothing:
> lb:/root # ipchains -L -n
> Chain input (policy ACCEPT):
> Chain forward (policy ACCEPT):
> Chain output (policy ACCEPT):
> lb:/root #

        Hm, someone is overwriting memory.

>
> >         What is the binutils version? ld -v, CPU?
>
> lb:/root # ld -v
> GNU ld version 2.9.1 (with BFD 2.9.1.0.25)
> lb:/root # cat /proc/cpuinfo
> processor     : 0
> vendor_id     : GenuineIntel
> cpu family    : 6
> model         : 5
> model name    : Pentium II (Deschutes)
> stepping      : 1
> cpu MHz               : 334.095
> cache size    : 512 KB
> fdiv_bug      : no
> hlt_bug               : no
> sep_bug               : no
> f00f_bug      : no
> coma_bug      : no
> fpu           : yes
> fpu_exception : yes
> cpuid level   : 2
> wp            : yes
> flags         : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat
> pse36 mmx fxsr
> bogomips      : 666.83
> lb:/root #
>
> actually it is not so important, since this is the only
> director box, out of 8 which doesn't work, so it's definitely
> the Hardware. I'll change it ASAP and then we see.

        Are they with the same kernel+modules? Very strange oops
to be hardware related. Could this be caused from LVS?

>
> thanks alot and best regards,
> Roberto Nibali, ratz
>


Regards

--
Julian Anastasov <ja@xxxxxx>



<Prev in Thread] Current Thread [Next in Thread>