I'm using the same RHEL3. Why are you worried about the x86_64 packages
for an LVS machine? Can't you just use the normal ones. I didn't think
it was particularly processor intensive.
If you are not doing anything mega complicated and you aren't balancing
at full Ethernet speed, is using the x86_64 system necessary?
Completely irrelevant to your specific problem but just a thought.
Looking at the code. I remember connect for UDP isn't supported in my
version. Looks like this code does. Therefore I'd say you've found a bug
introduced by the UDP changes.
Graham
On Tue, 2005-09-20 at 17:50, Lloyd Brown wrote:
> I noticed the difference with the variable names too. I was going to
> try UM, but I couldn't find any x86_64 packages, so I went back to using
> everything from source. It's being put on a RHEL 3 system, but we don't
> have licenses for Redhat's cluster services packages, etc. Bring on the
> SRPMS and CVS!!
>
> As far as the check being in the ld_open_socket, I don't think that is
> the case. While I'm not that good at Perl, I'm going on emperical
> evidence: it didn't work until I made the change. Besides that, I
> can't find the check in the code.
>
> Anyway, here's the ld_open_socket in its entirety:
>
> sub ld_open_socket
> {
> my ($remote, $port, $protocol) = @_;
> my ($iaddr, $paddr, $pro, $result);
> local *SOCK;
>
> $iaddr = inet_aton($remote) || die "no host: $remote";
> $paddr = sockaddr_in($port, $iaddr);
> $pro = getprotobyname($protocol);
> if ($protocol eq "udp") {
> socket(SOCK, PF_INET, SOCK_DGRAM, $pro) || die "socket: $!";
> }
> else {
> socket(SOCK, PF_INET, SOCK_STREAM, $pro) || die "socket: $!";
> }
> $result = connect(SOCK, $paddr);
> unless ($result) {
> return undef;
> }
> return *SOCK;
> }
>
>
> Thanks again,
> Lloyd
>
>
> Graham David Purcocks M.A.(Oxon.) wrote:
>
> >Yes. It's Ultramonkey V3.
> >
> >Surprising if the CVS is worse than that :(
> >
> >The fact it uses $sock rather then $result means its different code.
> >
> >Ah. Whats your ld_open_socket look like. Maybe the check is in there.
> >See the close is within ld_open_socket in my older version but you have
> >a close outside.
> >
> > $result = connect(SOCK, $paddr);
> > close(SOCK) || die "close: $!" if ($result);
> > return $result;
> >}
> >
> >
> >On Tue, 2005-09-20 at 17:27, Lloyd Brown wrote:
> >
> >
> >>I'm actually pulling from CVS. I just re-retrieved it a few minutes
> >>ago, and it still doesn't have the change. It claims to be working
> >>revision 1.120, if that helps. To quote the same block of code you did,
> >>from the ld_open socket to the cancel alarm, I have this:
> >>
> >> my $sock = &ld_open_socket($$r{server}, $port, $$v{protocol});
> >> if ($sock) {
> >> close($sock);
> >> }
> >> &ld_debug(3, "Connected to $1 (port $port)");
> >> alarm 0; # Cancel the alarm
> >>
> >>Did your version come from a distribution? Often times distro packages
> >>patch things without publicizing that fact. I kinda like your code,
> >>though. It looks a little better. I hope you don't mind if I use it.
> >>
> >>Thanks,
> >>Lloyd
> >>
> >>
> >>
> >>_______________________________________________
> >>LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
> >>Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
> >>or go to http://www.in-addr.de/mailman/listinfo/lvs-users
> >>
> >>
>
> _______________________________________________
> LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
> Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
> or go to http://www.in-addr.de/mailman/listinfo/lvs-users
--
|