hercules-390 / hyperion

Hercules 390
Other
246 stars 69 forks source link

Multicast doesn't work on LCS interface #213

Open rgschmi opened 7 years ago

rgschmi commented 7 years ago

When trying to get OSPF to run on z/OS under Hyperion on Windows 7, OSPF does not see the router as a neighbor, but the router sees z/OS as a neighbor. A packet trace on the z/OS TCP/IP stack shows multicast packets (hello packets) being sent and received. However a packet trace of the OSPF component, only shows multicast packets being sent, none received. An old z/OS APAR that sheds some light on the issue.. It appears there is a query, QIPAsst, that determines if an LCS interface is capable of multicast. If the response is not positive, multicast packets received on the interface are discarded. The APAR: http://www-01.ibm.com/support/docview.wss?uid=swg1PK55520 http://www-01%0A%20.ibm.com/support/docview.wss?uid=swg1PK55520

ivan-w commented 7 years ago

Thank you for opening the Issue.

I looked a bit further. Apparently it's only an issue with Windows (Linux seems to have Multicast support on LCS - or at least reports it does).

I haven't tested actual LCS multicast support on linux hosts either.

This may be true - or not - for current versions of Fish's tuntap emulation.

rgschmi commented 7 years ago

I have a couple of linux machines running z/OS under Hercules, but I've been running MPCPTP instead of LCS, because I was having some issues with LCS there. I'll try to bring LCS up on linux and see what happens with OSPF multicast packets.

-----Original Message----- From: Ivan Warren [mailto:notifications@github.com] Sent: Monday, March 27, 2017 01:41 PM To: 'hercules-390/hyperion' Cc: 'rgschmi', 'Author' Subject: Re: [hercules-390/hyperion] Multicast doesn't work on LCS interface (#213)

Thank you for opening the Issue.

I looked a bit further. Apparently it's only an issue with Windows (Linux seems to have Multicast support on LCS - or at least reports it does).

I haven't tested actual LCS multicast support on linux hosts either.

This may be true - or not - for current versions of Fish's tuntap emulation.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/hercules-390/hyperion","title":"hercules-390/hyperion","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/hercules-390/hyperion"}},"updates":{"snippets":[{"icon":"PERSON","message":"@ivan-w in #213: Thank you for opening the Issue.\n\nI looked a bit further. Apparently it's only an issue with Windows \n(Linux seems to have Multicast support on LCS - or at least reports it \ndoes).\n\nI haven't tested actual LCS multicast support on linux hosts either.\n\nThis may be true - or not - for current versions of Fish's tuntap emulation.\n\n"}],"action":{"name":"View Issue","url":"https://github.com/hercules-390/hyperion/issues/213#issuecomment-289545982"}}}

ivan-w commented 7 years ago

There has been some recent changes to LCS... It may or may not affect you.

LCS in Layer 2 mode may still not be able to do IPv6... But if you are in a IPv4 only config, it should work.

There has been some LCS changes regarding Layer 3 also...

If it still doesn't let us know. Provide as much information as possible (some issues may require splitting the issue if there are multiple issues).

rgschmi commented 7 years ago

I've got LCS running on my openSUSE linux, but as of now, the multicast packets are not crossing the tap-ethernet boundary. I see only the hello packets fron the router on the ethernet interface and only the hello packets from z/OS on the tap interface. Not sure if I have a configuration issue and I can change something to get the hello packets to cross the boundary or if that's a restriction. I am not running the latest Hyperion on linux, as I have yet to get softfloat installed. Guess I should work on that next.

Bob

-----Original Message----- From: Ivan Warren [mailto:notifications@github.com] Sent: Monday, March 27, 2017 04:50 PM To: 'hercules-390/hyperion' Cc: 'rgschmi', 'Author' Subject: Re: [hercules-390/hyperion] Multicast doesn't work on LCS interface (#213)

There has been some recent changes to LCS... It may or may not affect you.

LCS in Layer 2 mode may still not be able to do IPv6... But if you are in a IPv4 only config, it should work.

There has been some LCS changes regarding Layer 3 also...

If it still doesn't let us know. Provide as much information as possible (some issues may require splitting the issue if there are multiple issues).

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/hercules-390/hyperion","title":"hercules-390/hyperion","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/hercules-390/hyperion"}},"updates":{"snippets":[{"icon":"PERSON","message":"@ivan-w in #213: There has been some recent changes to LCS... It may or may not affect you.\n\nLCS in Layer 2 mode may still not be able to do IPv6... But if you are \nin a IPv4 only config, it should work.\n\nThere has been some LCS changes regarding Layer 3 also...\n\nIf it still doesn't let us know. Provide as much information as possible \n(some issues may require splitting the issue if there are multiple issues).\n\n\n"}],"action":{"name":"View Issue","url":"https://github.com/hercules-390/hyperion/issues/213#issuecomment-289597047"}}}

ivan-w commented 7 years ago

Bob,

On linux if you want multicast packets to go through the Linux layer, you're going to have to bridge the tap interface(s) to the physical adapter (On Windows, Fish's tuntap implementation is implicitly a bridge). Otherwise your linux is acting as a router and you would need to have an ospf daemon running there too.

Send me a message off-list if you need help setting up a bridge on linux.

The recent modifications to the LCS probably do not affect you. It only concerns old IP layers not inserting the source MAC address in outgoing ethernet frames (but relying on the LCS to do so).