1752795 Members
6477 Online
108789 Solutions
New Discussion

Re: UCX to TCPIP

 
stephenbrayshaw
Advisor

UCX to TCPIP

As part of porting our application to the newer versions of OpenVMS I have found a lot of places where we have things that appear and seem to function identically where the only difference is that it will start with either UCX or TCPIP.

during the boot we ran @sys$manager:ucx$startup which told us was depricated and to use the tcpip version which I then changed.

We use UCX versions of things throughout our software and I was wondering what are the differences & as the UCX is depricated will it ever be removed?

When I say UCX things I mean both DCL commands and also with our software such as UCX$DEVICE

5 REPLIES 5
Ruslan R. Laishev
Super Advisor

Re: UCX to TCPIP

Hi !

 

I can suggest using next "pattern":

....

$DESCRIPTOR(dsc_ucxdev,	"UCX$DEVICE");
$DESCRIPTOR(dsc_tcpipdev,"TCPIP$DEVICE");

....

      /*
        ** Initialize network stuff
        */
        if ( !(1 & (status = sys$assign( &dsc_ucxdev,&chan,0,0))) )
                {
                if ( status != SS$_NOSUCHDEV )
                        return  status;
                if ( !(1 & (status = sys$assign( &dsc_tcpipdev,&chan,0,0))) )
                        return  status;
                }

...

 

See example: http://starlet.deltatelecom.ru/~laishev/work/tftp/tftp.c

Hoff
Honored Contributor

Re: UCX to TCPIP

The UCX$ prefix was replaced by the TCPIP$ prefix at the release of TCP/IP Services version V5.0, which arrived with the OpenVMS V7.2 release.   That happened a little over seventeen years ago.   In the last millennium.   I'd sincerely hope that somebody at VSI eventually gets around to ripping out all of this old UCX$ junk and cleaning up the mess — VSI is in the process of completely replacing the entire TCP/IP stack with their own — but this sort of house-cleaning is not likely at least in the near-term.   But as I find any of these references, I'd definitely replace them.   Unless you're somehow still supporting folks running releases prior to V7.2, that is.

stephenbrayshaw
Advisor

Re: UCX to TCPIP

Hoff, we have customers ranging from MicroVAX (running versions that pre-date UCX all the way through to customers running on i4 Itaniums. The work I am doing is moving some of our systems off Alpha and on to Itanium and as part of it I have been moving some of the UCX to TCPIP prefix but I want to make sure that I do not have to worry about changes to parameters to various system calls / DCL commands.

Hoff
Honored Contributor

Re: UCX to TCPIP

Same answer.

You're going to want to use the TCPIP$ settings in preference to the UCX$ settings, whenever those TCPIP$ settings exist.  

How you do that?   I've sometimes used conditional checks and dynamically-activated shareable images for the different networks, sometimes iterative code (with checks for TCPIP$ first), sometimes OpenVMS version checks, sometimes otherwise.

I don't know of a good way to spot the IP stack version, given the limitations of PCSI and VMSINSTAL and the rest, and the lack of a product-specific API for this.  Which leads to the mess you're in, and to hackery such as looking for logical names or shareable images, or parsing command output.

It would not be surprising to encounter a new prefix and a new scheme with the upcoming VSI IP stack, too.

Biggest general issue with this environment is probably security, too.   TLS and distributed authentication is going to be a problem as far back as you're working, too.   Too many legacy protocols have been breached, and sometimes with very unpleasant results, unfortunately.

stephenbrayshaw
Advisor

Re: UCX to TCPIP

I have decided that new code will get the TCPIP prefix and the UCX stuff will remain unless that system is moved on to Itanium in which case the UCX will go.

I emailed the R&D email account of VSI and The director of R&D replied saying that:

We plan on having complete upward compatibility to our new IP stack. As for UCX, VSI has not yet determined an end date but we will in the near future