Re: IUCV 2WAY missing from AF_IUCV in zLinux?

2020-08-20 Thread Timothy Sipples
Alan Altmark wrote:
>But imagine what you could do if an AF_INET/AF_INET6 provider could be
>configured to simply acts as a shim layer, redirecting all AF_INET and
>AF_INET6 socket calls to the VM TCPIP machine.  Linux's own TCP/IP stack
>would be effectively inop. That would enable almost any Linux network app
>to work on behalf of VM.  The possibilities are tantalizing.

Analogous to the z/VSE Fast Path to Linux?

https://www.ibm.com/support/knowledgecenter/SSB27H_6.2.0/fa2ti_lfp_overview.html

Any parallels, inspiration, etc. that could be drawn from that available 
piece of software (no additional charge to all z/VSE licensees)? Or not 
really?

- - - - - - - - - -
Timothy Sipples
I.T. Architect Executive
Digital Asset & Other Industry Solutions
IBM Z & LinuxONE
- - - - - - - - - -
E-Mail: sipp...@sg.ibm.com

--
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390


Re: IUCV 2WAY missing from AF_IUCV in zLinux?

2020-08-19 Thread Christian Svensson
I am proposing adding a new SCM for AF_IUCV that contains the receive
buffer for a 2WAY call.

This means a sendmsg() call could be made into a 2WAY by setting a
CMSG with SCM_IUCV_2WAY and whatever data needed to complete the 2WAY
call.
FWIW, there is already one SCM in use; SCM_IUCV_TRGCLS.

I might end up writing a patch for AF_IUCV unless somebody can
convince me it is a bad idea. At least initially for my own use so I
can validate that the approach is sane.

Regards,

On Wed, Aug 19, 2020 at 3:29 PM Dave Jones  wrote:
>
> Alan Altmark said:
>
> "But imagine what you could do if an AF_INET/AF_INET6 provider could be
> configured to simply acts as a shim layer, redirecting all AF_INET and
> AF_INET6 socket calls to the VM TCPIP machine.  Linux's own TCP/IP stack
> would be effectively inop. That would enable almost any Linux network
> app
> to work on behalf of VM.  The possibilities are tantalizing."
>
> +++1 for that idea.
> DJ
>
> ---
> DAVID JONES | MANAGING DIRECTOR FOR ZSYSTEMS SERVICES | z/VM, Linux, and
> Cloud
> 703.237.7370 (Office) | 281.578.7544 (CELL)
>
> INFORMATION TECHNOLOGY COMPANY
>
> On 08.18.2020 10:44 PM, Alan Altmark wrote:
> > On Tuesday, 08/18/2020 at 01:47 GMT, Ursula Braun
> > 
> > wrote:
> >
> >> Probably not: Either there is a good idea why to include
> > message_send2way into
> >> the standard socket interface AF_IUCV, or there is a new kernel module
> > for
> >> communication with the TCPIP service, built on top of net/iucv/iucv.c
> > similar
> >> to other specific IUCV exploiters like drivers/s390/char/vmlogrdr.c,
> >> drivers/s390/net/netiucv.c, drivers/s390/net/smsgiucv.c,
> > drivers/tty/hvc/...
> >
> > But imagine what you could do if an AF_INET/AF_INET6 provider could be
> > configured to simply acts as a shim layer, redirecting all AF_INET and
> > AF_INET6 socket calls to the VM TCPIP machine.  Linux's own TCP/IP
> > stack
> > would be effectively inop. That would enable almost any Linux network
> > app
> > to work on behalf of VM.  The possibilities are tantalizing.
> >
> > Alan Altmark
> >
> > Senior Managing z/VM and Linux Consultant
> > IBM Systems Lab Services
> > IBM Z Delivery Practice
> > ibm.com/systems/services/labservices
> > office: 607.429.3323
> > mobile; 607.321.7556
> > alan_altm...@us.ibm.com
> > IBM Endicott
> >
> >
> > --
> > For LINUX-390 subscribe / signoff / archive access instructions,
> > send email to lists...@vm.marist.edu with the message: INFO LINUX-390
> > or visit
> > http://www2.marist.edu/htbin/wlvindex?LINUX-390
>
> --
> For LINUX-390 subscribe / signoff / archive access instructions,
> send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
> http://www2.marist.edu/htbin/wlvindex?LINUX-390

--
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390


Re: IUCV 2WAY missing from AF_IUCV in zLinux?

2020-08-19 Thread Mark Post
On 8/19/20 4:45 PM, Christian Svensson wrote:
> I might end up writing a patch for AF_IUCV unless somebody can
> convince me it is a bad idea.

I would say that trying to get this upstream would be preferable for
everyone.


Mark Post

--
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390


Re: IUCV 2WAY missing from AF_IUCV in zLinux?

2020-08-19 Thread Christian Svensson
Neale: I have gotten a copy of that from a friend, it indeed looked
useful and I might end up using that now when I know AF_IUCV might be
too limited for me.
IIRC it was open-source licensed so I can just dust it off and put it
on Github for any modifications I need.

Alan: Yes! Indeed, having the possibility of zLinux doing socket
operations on the VM's TCPIP would be wonderful :-). I am happy
somebody else sees the prospect interesting, makes it less unlikely
that I am crazy ;-).

Another possibility is that if there was a standard way for user-space
to do 2WAY IUCV and call the VM TCPIP service, one could do a straight
forward vmtcpip.so that can be LD_PRELOAD'ed onto any software (wget /
yum / apache2 / ...).
It is what you said Alan but instead of hooking all AF_INET* stuff in
kernel, you could control it in user-space. This is what I am trying
to do now more or less. The in-kernel option is also very interesting
of course, but I see both approaches have different use cases.


On Wed, Aug 19, 2020 at 7:44 AM Alan Altmark  wrote:
>
> On Tuesday, 08/18/2020 at 01:47 GMT, Ursula Braun 
> wrote:
>
> > Probably not: Either there is a good idea why to include
> message_send2way into
> > the standard socket interface AF_IUCV, or there is a new kernel module
> for
> > communication with the TCPIP service, built on top of net/iucv/iucv.c
> similar
> > to other specific IUCV exploiters like drivers/s390/char/vmlogrdr.c,
> > drivers/s390/net/netiucv.c, drivers/s390/net/smsgiucv.c,
> drivers/tty/hvc/...
>
> But imagine what you could do if an AF_INET/AF_INET6 provider could be
> configured to simply acts as a shim layer, redirecting all AF_INET and
> AF_INET6 socket calls to the VM TCPIP machine.  Linux's own TCP/IP stack
> would be effectively inop. That would enable almost any Linux network app
> to work on behalf of VM.  The possibilities are tantalizing.
>
> Alan Altmark
>
> Senior Managing z/VM and Linux Consultant
> IBM Systems Lab Services
> IBM Z Delivery Practice
> ibm.com/systems/services/labservices
> office: 607.429.3323
> mobile; 607.321.7556
> alan_altm...@us.ibm.com
> IBM Endicott
>
>
> --
> For LINUX-390 subscribe / signoff / archive access instructions,
> send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
> http://www2.marist.edu/htbin/wlvindex?LINUX-390

--
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390


Re: IUCV 2WAY missing from AF_IUCV in zLinux?

2020-08-19 Thread Dave Jones

Alan Altmark said:

"But imagine what you could do if an AF_INET/AF_INET6 provider could be
configured to simply acts as a shim layer, redirecting all AF_INET and
AF_INET6 socket calls to the VM TCPIP machine.  Linux's own TCP/IP stack
would be effectively inop. That would enable almost any Linux network
app
to work on behalf of VM.  The possibilities are tantalizing."

+++1 for that idea.
DJ

---
DAVID JONES | MANAGING DIRECTOR FOR ZSYSTEMS SERVICES | z/VM, Linux, and
Cloud
703.237.7370 (Office) | 281.578.7544 (CELL)

INFORMATION TECHNOLOGY COMPANY

On 08.18.2020 10:44 PM, Alan Altmark wrote:

On Tuesday, 08/18/2020 at 01:47 GMT, Ursula Braun

wrote:


Probably not: Either there is a good idea why to include

message_send2way into

the standard socket interface AF_IUCV, or there is a new kernel module

for

communication with the TCPIP service, built on top of net/iucv/iucv.c

similar

to other specific IUCV exploiters like drivers/s390/char/vmlogrdr.c,
drivers/s390/net/netiucv.c, drivers/s390/net/smsgiucv.c,

drivers/tty/hvc/...

But imagine what you could do if an AF_INET/AF_INET6 provider could be
configured to simply acts as a shim layer, redirecting all AF_INET and
AF_INET6 socket calls to the VM TCPIP machine.  Linux's own TCP/IP
stack
would be effectively inop. That would enable almost any Linux network
app
to work on behalf of VM.  The possibilities are tantalizing.

Alan Altmark

Senior Managing z/VM and Linux Consultant
IBM Systems Lab Services
IBM Z Delivery Practice
ibm.com/systems/services/labservices
office: 607.429.3323
mobile; 607.321.7556
alan_altm...@us.ibm.com
IBM Endicott


--
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390
or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390


--
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390


Re: IUCV 2WAY missing from AF_IUCV in zLinux?

2020-08-18 Thread Alan Altmark
On Tuesday, 08/18/2020 at 01:47 GMT, Ursula Braun  
wrote:

> Probably not: Either there is a good idea why to include 
message_send2way into
> the standard socket interface AF_IUCV, or there is a new kernel module 
for
> communication with the TCPIP service, built on top of net/iucv/iucv.c 
similar
> to other specific IUCV exploiters like drivers/s390/char/vmlogrdr.c,
> drivers/s390/net/netiucv.c, drivers/s390/net/smsgiucv.c, 
drivers/tty/hvc/...

But imagine what you could do if an AF_INET/AF_INET6 provider could be 
configured to simply acts as a shim layer, redirecting all AF_INET and 
AF_INET6 socket calls to the VM TCPIP machine.  Linux's own TCP/IP stack 
would be effectively inop. That would enable almost any Linux network app 
to work on behalf of VM.  The possibilities are tantalizing.

Alan Altmark

Senior Managing z/VM and Linux Consultant
IBM Systems Lab Services
IBM Z Delivery Practice
ibm.com/systems/services/labservices
office: 607.429.3323
mobile; 607.321.7556
alan_altm...@us.ibm.com
IBM Endicott


--
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390


Re: IUCV 2WAY missing from AF_IUCV in zLinux?

2020-08-18 Thread Neale Ferguson
I wrote a character device driver that allows you to use 
open/close/ioctl/read/write semantics to do IUCV communications. There are a 
couple of source RPMs at https://download.sinenomine.net/fsiucv. Use the -3 
series. Note, they are tied to a kernel level so the spec file would need 
adjusting.

Neale Ferguson

On 8/19/20, 01:32, "Linux on 390 Port on behalf of Christian Svensson" 
 wrote:

Thanks Ursula,

I wasn't clear if this was a call for me to justify what I am trying
to do, but I thought
I might mention it.

> Probably not: Either there is a good idea why to include message_send2way 
into
the standard socket interface AF_IUCV,

My use-case is that I want userspace in zLinux to call other other VMs
over IUCV.
I would prefer to use a standardized interface to this as much as
possible as that
would mean I can release general purpose libraries to do IUCV operations in 
z/VM
environments.

E.g. in my case I have already contributed support for opening and 
connecting to
IUCV sockets in Go. That is now part of the official Go libraries. The
next step I
want to do is to be able to do is 2WAY SEND, again preferably in a way
that allows
me to craft libraries that other developers can use on a zLinux with a
new enough
kernel. 
t.edu/htbin/wlvindex?LINUX-390


--
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390


Re: IUCV 2WAY missing from AF_IUCV in zLinux?

2020-08-18 Thread Christian Svensson
Thanks Ursula,

I wasn't clear if this was a call for me to justify what I am trying
to do, but I thought
I might mention it.

> Probably not: Either there is a good idea why to include message_send2way into
the standard socket interface AF_IUCV,

My use-case is that I want userspace in zLinux to call other other VMs
over IUCV.
I would prefer to use a standardized interface to this as much as
possible as that
would mean I can release general purpose libraries to do IUCV operations in z/VM
environments.

E.g. in my case I have already contributed support for opening and connecting to
IUCV sockets in Go. That is now part of the official Go libraries. The
next step I
want to do is to be able to do is 2WAY SEND, again preferably in a way
that allows
me to craft libraries that other developers can use on a zLinux with a
new enough
kernel.

If I have to invent my custom kernel driver to do this, so be it - but
that is significantly
more time consuming and a higher bar for adoption.

On Tue, Aug 18, 2020 at 3:46 PM Ursula Braun  wrote:
>
> On 8/17/20 6:56 PM, Christian Svensson wrote:
> > [+linux-390 mailing list]
> >
> > On Mon, Aug 17, 2020 at 6:55 PM Christian Svensson  wrote:
> >>
> >> Hi,
> >>
> >> I am trying to call TCPIP service using IUCV.
> >> I found AF_IUCV which seemed to do what I want, but reading
> >> more into it it looks like AF_IUCV only ever implemented one-way
> >> SEND operations.
> >>
> >> Is that correct?
> >>
>
> Yes, that's correct. The intention of the socket family AF_IUCV has been to
> come up with a socket interface of types SOCK_STREAM and SOCK_SEQPACKET on top
> of IUCV as transport layer. Later we added HiperSockets as another transport
> layer.
>
> >> There appears to exist a message_send and a message_send2way in
> >> the Linux IUCV interface, however only message_send appears to be used
> >> by AF_IUCV.
> >>
>
> There is a base IUCV layer in net/iucv/iucv.c offering message_send2way.
> The base layer is used by several other kernel components, among them 
> net/iucv/af_iucv.c.
> But for the AF_IUCV socket family there has been no need to exploit 
> message_send2way.
>
> >> If my reading is correct, is there any way I can work around this
> >> without writing a kernel module?
> >>
>
> Probably not: Either there is a good idea why to include message_send2way into
> the standard socket interface AF_IUCV, or there is a new kernel module for
> communication with the TCPIP service, built on top of net/iucv/iucv.c similar
> to other specific IUCV exploiters like drivers/s390/char/vmlogrdr.c,
> drivers/s390/net/netiucv.c, drivers/s390/net/smsgiucv.c, drivers/tty/hvc/...
>
> >> Thanks
> >
> > --
> > For LINUX-390 subscribe / signoff / archive access instructions,
> > send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or 
> > visit
> > http://www2.marist.edu/htbin/wlvindex?LINUX-390
> >
>
> --
> For LINUX-390 subscribe / signoff / archive access instructions,
> send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
> http://www2.marist.edu/htbin/wlvindex?LINUX-390

--
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390


Re: IUCV 2WAY missing from AF_IUCV in zLinux?

2020-08-18 Thread Christian Svensson
Neale: I am trying to do some TCPIP socket operations from Linux.
My hope is to be able to create a zLinux daemon that can listen to a port
from a given VM TCPIP stack.

As Alan said, all VM TCPIP seems to be 2WAY which is why I
am a bit stuck on this issue it seems.

I am considering forking the af_iucv module and implement
2WAY send, but it would probably make sense to make this
development in collaboration with the experts on this list.

Regards,

On Tue, Aug 18, 2020 at 7:20 AM Alan Altmark  wrote:
>
> All IUCV socket functions in VM TCP/IP are 2WAY (SEND with REPLY).
>
> Regards,
> Alan Altmark
> IBM
>
> > On Aug 17, 2020, at 10:06 PM, Neale Ferguson 
> wrote:
> >
> > What type of service are you calling?
> >
> > Neale Ferguson
> >
> > On 8/18/20, 02:57, "Linux on 390 Port on behalf of Christian Svensson"
>  wrote:
> >
> >[+linux-390 mailing list]
> >
> >>On Mon, Aug 17, 2020 at 6:55 PM Christian Svensson 
> wrote:
> >>
> >> Hi,
> >>
> >> I am trying to call TCPIP service using IUCV.
> >> I found AF_IUCV which seemed to do what I want, but reading
> >> more into it it looks like AF_IUCV only ever implemented one-way
> >> SEND operations.
> >
> >
> >
> > --
> > For LINUX-390 subscribe / signoff / archive access instructions,
> > send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or
> visit
> >
> http://www2.marist.edu/htbin/wlvindex?LINUX-390
>
> >
>
> --
> For LINUX-390 subscribe / signoff / archive access instructions,
> send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
> http://www2.marist.edu/htbin/wlvindex?LINUX-390

--
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390


Re: IUCV 2WAY missing from AF_IUCV in zLinux?

2020-08-18 Thread Ursula Braun
On 8/17/20 6:56 PM, Christian Svensson wrote:
> [+linux-390 mailing list]
>
> On Mon, Aug 17, 2020 at 6:55 PM Christian Svensson  wrote:
>>
>> Hi,
>>
>> I am trying to call TCPIP service using IUCV.
>> I found AF_IUCV which seemed to do what I want, but reading
>> more into it it looks like AF_IUCV only ever implemented one-way
>> SEND operations.
>>
>> Is that correct?
>>

Yes, that's correct. The intention of the socket family AF_IUCV has been to
come up with a socket interface of types SOCK_STREAM and SOCK_SEQPACKET on top
of IUCV as transport layer. Later we added HiperSockets as another transport
layer.

>> There appears to exist a message_send and a message_send2way in
>> the Linux IUCV interface, however only message_send appears to be used
>> by AF_IUCV.
>>

There is a base IUCV layer in net/iucv/iucv.c offering message_send2way.
The base layer is used by several other kernel components, among them 
net/iucv/af_iucv.c.
But for the AF_IUCV socket family there has been no need to exploit 
message_send2way.

>> If my reading is correct, is there any way I can work around this
>> without writing a kernel module?
>>

Probably not: Either there is a good idea why to include message_send2way into
the standard socket interface AF_IUCV, or there is a new kernel module for
communication with the TCPIP service, built on top of net/iucv/iucv.c similar
to other specific IUCV exploiters like drivers/s390/char/vmlogrdr.c,
drivers/s390/net/netiucv.c, drivers/s390/net/smsgiucv.c, drivers/tty/hvc/...

>> Thanks
>
> --
> For LINUX-390 subscribe / signoff / archive access instructions,
> send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
> http://www2.marist.edu/htbin/wlvindex?LINUX-390
>

--
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390


Re: IUCV 2WAY missing from AF_IUCV in zLinux?

2020-08-17 Thread Alan Altmark
All IUCV socket functions in VM TCP/IP are 2WAY (SEND with REPLY).

Regards,
Alan Altmark
IBM

> On Aug 17, 2020, at 10:06 PM, Neale Ferguson 
wrote:
>
> What type of service are you calling?
>
> Neale Ferguson
>
> On 8/18/20, 02:57, "Linux on 390 Port on behalf of Christian Svensson"
 wrote:
>
>[+linux-390 mailing list]
>
>>On Mon, Aug 17, 2020 at 6:55 PM Christian Svensson 
wrote:
>>
>> Hi,
>>
>> I am trying to call TCPIP service using IUCV.
>> I found AF_IUCV which seemed to do what I want, but reading
>> more into it it looks like AF_IUCV only ever implemented one-way
>> SEND operations.
>
>
>
> --
> For LINUX-390 subscribe / signoff / archive access instructions,
> send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or
visit
>
http://www2.marist.edu/htbin/wlvindex?LINUX-390

>

--
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390


Re: IUCV 2WAY missing from AF_IUCV in zLinux?

2020-08-17 Thread Neale Ferguson
What type of service are you calling?

Neale Ferguson

On 8/18/20, 02:57, "Linux on 390 Port on behalf of Christian Svensson" 
 wrote:

[+linux-390 mailing list]

On Mon, Aug 17, 2020 at 6:55 PM Christian Svensson  wrote:
>
> Hi,
>
> I am trying to call TCPIP service using IUCV.
> I found AF_IUCV which seemed to do what I want, but reading
> more into it it looks like AF_IUCV only ever implemented one-way
> SEND operations.



--
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390


Re: IUCV 2WAY missing from AF_IUCV in zLinux?

2020-08-17 Thread Christian Svensson
[+linux-390 mailing list]

On Mon, Aug 17, 2020 at 6:55 PM Christian Svensson  wrote:
>
> Hi,
>
> I am trying to call TCPIP service using IUCV.
> I found AF_IUCV which seemed to do what I want, but reading
> more into it it looks like AF_IUCV only ever implemented one-way
> SEND operations.
>
> Is that correct?
>
> There appears to exist a message_send and a message_send2way in
> the Linux IUCV interface, however only message_send appears to be used
> by AF_IUCV.
>
> If my reading is correct, is there any way I can work around this
> without writing a kernel module?
>
> Thanks

--
For LINUX-390 subscribe / signoff / archive access instructions,
send email to lists...@vm.marist.edu with the message: INFO LINUX-390 or visit
http://www2.marist.edu/htbin/wlvindex?LINUX-390