raspi / WinLLDPService

LLDP Service for Windows
https://raspi.github.io/projects/winlldpservice/
79 stars 13 forks source link

Problem with Windows 2012 / 2016 NIC trunks #12

Closed Prinzessor closed 7 years ago

Prinzessor commented 7 years ago

OS Windows Server 2012 / 2016

When I use it with Windows style bonded NICs in Server 2012 or 2016:

System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. bei SharpPcap.LibPcap.PcapDevice.get_MacAddress() bei WinLLDPService.WinLLDP.sendRawPacket(NetworkInterface adapter, Packet payload) in C:\Users\Administrator\Documents\Visual Studio 2015\Projects\WinLLDPService\WinLLDPService\LLDPBase\Base.cs:Zeile 492. bei WinLLDPService.WinLLDP.Run() in C:\Users\Administrator\Documents\Visual Studio 2015\Projects\WinLLDPService\WinLLDPService\LLDPBase\Base.cs:Zeile 89.

I think the sharppcap library has problems getting the MAC Address of a Windows Style NIC trunk.

raspi commented 7 years ago

Yes, it's likely that it is upstream library problem. You should report it to upstream too. I'm going to test new releases of SharpPcap and Packet.Net in near future and probably also close issue #2 at the same time. Updating those libraries might also resolve this issue when I release new version.

raspi commented 7 years ago

Waiting for:

https://github.com/chmorgan/sharppcap/issues/25 https://github.com/chmorgan/packetnet/issues/19

Prinzessor commented 7 years ago

Nice, thank you very much!

Von: Pekka Järvinenmailto:notifications@github.com Gesendet: Dienstag, 20. Juni 2017 01:40 An: raspi/WinLLDPServicemailto:WinLLDPService@noreply.github.com Cc: Prinzessormailto:tobias@t-onleine.com; Authormailto:author@noreply.github.com Betreff: Re: [raspi/WinLLDPService] Problem with Windows 2012 / 2016 NIC trunks (#12)

Waiting for:

chmorgan/sharppcap#25https://github.com/chmorgan/sharppcap/issues/25 chmorgan/packetnet#19https://github.com/chmorgan/packetnet/issues/19

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/raspi/WinLLDPService/issues/12#issuecomment-309602980, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXbW-25PjA7AHlIULtko76wydiqNLF6Oks5sFwbUgaJpZM4NWU9M.

chmorgan commented 7 years ago

@raspi, @Prinzessor I'm stuck on the nuget packages. nuget can't build using mono on Linux and I lack a Windows license to create a VM to build the packages here.

raspi commented 7 years ago

@chmorgan There's https://developer.microsoft.com/en-us/windows/downloads/virtual-machines .

Hyper-V is free but I don't know if you can install any compilers on it or does it even start as VM.

Prinzessor commented 7 years ago

or perhaps you could use a free evaluation version? https://www.microsoft.com/en-us/evalcenter/evaluate-windows-10-enterprise

raspi commented 7 years ago

@chmorgan I'm using AppVeyor for CD for this project and just remembered that it supports NuGet publishing https://www.appveyor.com/docs/nuget/ and it's free for open source projects. Might that work?

chmorgan commented 7 years ago

@raspi appveyor might work. Let me look at that today, thanks for mentioning that

chmorgan commented 7 years ago

@raspi are you configuring appveyor with the web interface or via a config file? Because I can't test locally I can't figure out if I have the correct .nuspec file.

raspi commented 7 years ago

@chmorgan I use this https://github.com/raspi/WinLLDPService/blob/master/appveyor.yml and I've added appveyor integration from this project's Settings > Webhooks (or appveyor did that automatically, can't remember). Now when I commit something to GH appveyor builds the solution. I can also push the "play button" from appveyor if I want to rerun the build. I'm not familiar with NuGet except that this project uses Chocolatey which is based on nuget ( https://github.com/raspi/WinLLDPService/blob/master/WinLLDPService/build/chocolatey/template/winlldpservice.nuspec ).

Maybe these will help? https://www.thomaslevesque.com/2016/04/20/publishing-a-package-from-appveyor-to-nuget-org/ https://stackoverflow.com/questions/34273570/how-to-publish-beta-nuget-packages-out-of-appveyor https://stackoverflow.com/search?q=%5Bnuget%5D+%5Bappveyor%5D+publish https://asizikov.github.io/2016/01/10/full-stack-ci-for-free/ http://www.michael-whelan.net/continuous-delivery-github-cake-gittools-appveyor/ https://andrewlock.net/publishing-your-first-nuget-package-with-appveyor-and-myget/

raspi commented 7 years ago

@chmorgan You could also go to https://www.nuget.org/packages/SharpPcap/ and download the .nupkg file and see the .nuspec file inside. .nupkg is just a .zip file.

raspi commented 7 years ago

@chmorgan I found this: https://github.com/ktairov/YellowDrawer.Data The appveyor.yml looks like it auto publishes. It also has .nuspec files.

chmorgan commented 7 years ago

@raspi so in your case you have the appveyor web configuration pointing at the appveyor.yml file? I've been using the web configuration thus far.

Thanks on that pointer to the .nupkg being a .zip file, that's great info.

What is crazy is that my .nuspec looks almost the same. I can't figure out where/how nuget determines which files to include in the package based on the content of the .nuspec file. For instance the .nuspec lacks all mention of output files...

chmorgan commented 7 years ago

@raspi after an hour of screwing around with appveyor I've got the packages pushed to github. Thanks for the pointers. Now of course I could be doing it entirely wrong but it is working.

raspi commented 7 years ago

@chmorgan Great. I would also recommend turning automated tests on at appveyor. Also Travis CI (also free for OSS projects) which runs Mono can run automated tests on each commit. This way when you commit to GH you can (almost) instantly see that your code works with Linux and Windows. I'm currently reading about how to auto deploy this project's .msi installer with every commit/tag to GitHub with appveyor. That way I don't need to do it manually from my own computer.

Codecov is also great for keeping code quality good. Gitter is also commonly used to chat about github projects.

There's all kinds of automated integrations and a lot are free for OSS projects.

chmorgan commented 7 years ago

@raspi ahh. I wasn't aware that travis ci was free for oss projects.

raspi commented 7 years ago

I'm currently stuck with trying to create 802.3ad team with Intel 82579V + Realtek RTL8168. Intel NIC supports multi-vendor teaming. I was able to do this with Win 7 Ultimate when I still was using it but Win 10 Pro is having problems. I'll try to find out if I can do it with some virtual machine vNICs in near future.

Prinzessor commented 7 years ago

I can confirm, that teaming is working within an VMware Workstation VM.

Von: Pekka Järvinenmailto:notifications@github.com Gesendet: Mittwoch, 19. Juli 2017 08:39 An: raspi/WinLLDPServicemailto:WinLLDPService@noreply.github.com Cc: Prinzessormailto:tobias@t-onleine.com; Mentionmailto:mention@noreply.github.com Betreff: Re: [raspi/WinLLDPService] Problem with Windows 2012 / 2016 NIC trunks (#12)

I'm currently stuck with trying to create 802.3ad team with Intel 82579V + Realtek RTL8168. Intel NIC supports multi-vendor teaming. I was able to do this with Win 7 Ultimate when I still was using it but Win 10 Pro is having problems. I'll try to find out if I can do it with some virtual machine vNICs in near future.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/raspi/WinLLDPService/issues/12#issuecomment-316287511, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXbW-xDZGVd2BYTVEXQWiYYiL7RaEae4ks5sPaSpgaJpZM4NWU9M.

raspi commented 7 years ago

I installed Windows Server 2012 R2 x64 ISO image from https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2016 . I added two vNICs to VMware Workstation Player 12 in bridged mode.

In Windows Server I created NIC team with these two vNICs. Teaming mode is LACP and Load Balancing is Dynamic. In Network and Sharing Center there's only one NIC, nicteam with 2 Gbps uplink.

I Installed v17.02.15.2317 x64 and latest winpcap.

Switch sees the nicteam. No errors in Event Viewer.

So works for me.

Prinzessor commented 7 years ago

I gave it a quick shot on a live system. It’s a Windows Server 2016 with two 10GB Intel NICs connected to an HPE 5400 Switch. The Server doesn’t send any lldp packets. I checked with wireshark. I can do some further debuging next week if you want.

Von: Pekka Järvinenmailto:notifications@github.com Gesendet: Sonntag, 23. Juli 2017 16:07 An: raspi/WinLLDPServicemailto:WinLLDPService@noreply.github.com Cc: Prinzessormailto:tobias@t-onleine.com; Mentionmailto:mention@noreply.github.com Betreff: Re: [raspi/WinLLDPService] Problem with Windows 2012 / 2016 NIC trunks (#12)

I installed Windows Server 2012 R2 x64 ISO image from https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2016 . I added two vNICs to VMware Workstation Player 12 in bridged mode.

In Windows Server I created NIC team with these two vNICs. Teaming mode is LACP and Load Balancing is Dynamic. In Network and Sharing Center there's only one NIC, nicteam with 2 Gbps uplink.

I Installed v17.02.15.2317 x64https://github.com/raspi/WinLLDPService/releases/tag/v17.02.15.2317 and latest winpcap.

Switch sees the nicteam. No errors in Event Viewer.

So works for me.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/raspi/WinLLDPService/issues/12#issuecomment-317255583, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXbW-2ATW15RB4ufahkiCxdhiN-BM-xAks5sQ1ODgaJpZM4NWU9M.

raspi commented 7 years ago

Here's new version https://github.com/raspi/WinLLDPService/releases/tag/v17.07.23.2312 with updated PacketDotNet and SharpPcap. Open new issue if problem(s) still exist.