Re: IUCV 2WAY missing from AF_IUCV in zLinux?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
[+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