danm | TelCo grade network management in a Kubernetes cluster | Networking library

 by   nokia Go Version: v4.3.0 License: BSD-3-Clause

kandi X-RAY | danm Summary

kandi X-RAY | danm Summary

danm is a Go library typically used in Networking applications. danm has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

DANM is Nokia's solution to bring TelCo grade network management into a Kubernetes cluster! DANM has more than 4 years of history inside the company, is currently deployed into production, and it is finally available for everyone, here on GitHub. The name stands for "Damn, Another Network Manager!", because yes, we know: the last thing the K8s world needed is another TelCo company "revolutionizing" networking in Kubernetes. But still we hope that potential users checking out our project will involuntarily proclaim "DANM, that's some good networking stuff!" :). Please consider for a moment that there is a whole other world out there, with special requirements, and DANM is the result of those needs! We are certainly not saying DANM is THE network solution, but we think it is a damn good one! Want to learn more about this brave new world? Don't hesitate to contact us, we are always quite happy to share the special requirements we need to satisfy each and every day.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              danm has a low active ecosystem.
              It has 281 star(s) with 70 fork(s). There are 33 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 15 open issues and 97 have been closed. On average issues are closed in 67 days. There are 2 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of danm is v4.3.0

            kandi-Quality Quality

              danm has 0 bugs and 95 code smells.

            kandi-Security Security

              danm has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              danm code analysis shows 0 unresolved vulnerabilities.
              There are 122 security hotspots that need review.

            kandi-License License

              danm is licensed under the BSD-3-Clause License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              danm releases are available to install and integrate.
              Installation instructions are available. Examples and code snippets are not available.
              It has 11289 lines of code, 661 functions and 113 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of danm
            Get all kandi verified functions for this library.

            danm Key Features

            No Key Features are available at this moment for danm.

            danm Examples and Code Snippets

            No Code Snippets are available at this moment for danm.

            Community Discussions

            QUESTION

            GET PROCESSING OPTIONS To get Data Bank Card (pscs-sharp)
            Asked 2021-Oct-12 at 11:50

            In my case I'm using pcsc-sharp project.

            I'm going to expose what I'm doing

            1. Select AID (In this example, a Visa Card)

            Request: 00 A4 04 00 A0000000031010 00

            ...

            ANSWER

            Answered 2021-Oct-12 at 11:50

            Finally, I found the solution, I need to select AID before execute the GPO. (It's Mandatory, it doesn't work if you try to execute GPO directly)

            1. Request AID --> 00 A4 04 00 A0000000031010 00
            2. Request GPO --> 80 A8 00 00 8302 00

            After that, I was able to get GPO response.

            I hope it'll help

            Source https://stackoverflow.com/questions/69410909

            QUESTION

            Cannot figure out how to write data to NFC type 4 tag with C# pcsc
            Asked 2021-Aug-05 at 22:50

            I'm writing an application in c# .net that needs to communicate with nfc reader (ACR122U or in built windows WUDC). The reader will send/receive data to wristband that behaves like type 4 tag. I'm using pcsc sharp library for this: https://github.com/danm-de/pcsc-sharp. Communication is over NDEF protocol with single text record, which can be used to obtain data from wristband. Text record format is G:{nameOfParameter}. For example G:ID, G:MAC.

            I'm struggling for few days with sending write message to the wristband. The command I was able to make work is APDU ReadBinary Command:

            ...

            ANSWER

            Answered 2021-Aug-05 at 22:50

            The Type 4 NDef Spec might help at https://web.archive.org/web/20190827131645/http://apps4android.org/nfc-specifications/NFCForum-TS-Type-4-Tag_2.0.pdf

            I assume you have done all the file select stuff correctly

            but the update procedure in the spec says

            The NDEF update procedure is:

            1. If the length of the NDEF message (to be written) is bigger than Maximum NDEF size-2 (see NFC File Control TLV in Section 5.1.2.1), the NDEF update procedure is aborted. Otherwise, go to item 2.
            2. Write the value 0000h in the NLEN field (see Table 9) using the NDEF Update command.
            3. Write the NDEF message in the NDEF message field (see Table 9) using one or more NDEF Update commands.
            4. Write the length of the NDEF message in the NLEN field (see Table 9) using the NDEF Update command.

            It seems as the NLEN field has a size then your offset should never be zero but 2h

            I've not tried this with Type 4 Tags but thought the spec might help you.

            Source https://stackoverflow.com/questions/68673325

            QUESTION

            System.DllNotFoundException: libpcsclite.so.1 assembly: type: member:(null)
            Asked 2021-Mar-19 at 14:25

            Researched this issue many times but didn't found solution of it. Working with xamarin forms version 5.0.0.2012, on win 10 os (saw many solutions for mac or linux but didn't found any for windows), using PCSC library version 5.0.0. Trying to invoke context.Establish method while debugging on Android 8.0:

            ...

            ANSWER

            Answered 2021-Mar-19 at 14:25

            The PCSC library does not appear to explicitly support Android. In my experience, nugets that work with Xamarin.Android have explicit dependencies set for the platform, but this one does not.

            The library tries to use P/Invoke wrappers around native code. You can see that there are implementations for a number of operating systems here, but I don't see any references to Android. The stack trace shows that the code is deciding to use the Linux wrapper, which makes sense. It's looking for the libpcsclite.so.1 native "C/C++" library, but it's not finding it. That library has a home page that does not reference Android.

            The PCSC nuget docs state:

            pcsc-sharp does not contain any device drivers. A PC/SC compliant reader + driver is mandatory.

            That's the libpcsclite.so.1 . Either your Android device doesn't provide it, or if it does, it's not in a location that your Android app can find it. My Android device (running Android 9) does not have that library in any of /system/*lib* directories, which means that at least for my device someone would need to compile that native library for the CPU (usually arm64) for the device. If you can either compile the native code yourself or find someone who has, AND the native code supports the reader on your Android device, then you could get the whole thing to work.

            I don't have any experience with PCSC myself - just some experience with Xamarin and native libraries.

            Source https://stackoverflow.com/questions/66707148

            QUESTION

            External authenticate with tachograph smartcard
            Asked 2021-Feb-24 at 16:07

            I'm using C# with a c# library to read out the identification data from tachograph cards.

            I only need to read out the unique card ID and can do this with a driver card, I send the correct APDUs to do the trick. I'm now trying to read out the ID of a company card doing the same things, as described in the documentation I could find (ECE/TRANS/SC.1/2006/2 and sub appendixes). This doesn't work.

            If I understand the documentation correctly, the problem is that after selecting a DF and an EF after that, the Authentication has to be redone (on a company card only) to read out the unique identification data from the EF. Now, reading the documentation, I can understand I have to use a "manage security environment" to set/request a public key? Then use an "internal authenticate", "get challenge", run an "external authenticate" and finally use a "read binary" to read out the data. But only after setting the logic to the correct EF. Am I correct in this matter?

            If I'm correct, does anyone understand where/how I can request the public key from the card? and what algorithm is used to decrypt the challenge using the public key and eventually, what to send back to the card?

            If I did not understand it correctly, can anyone explain the steps in authenticating with a tachograph smartcard? Using idiot terms would be appreciated as I'm completely new in this line of work and still trying to learn.

            ...

            ANSWER

            Answered 2021-Feb-24 at 16:07

            I had no detailed look into Tachograph specification for years, but this might help you to start:

            • a challenge is just a random number, you have to encrypt it (symmetric algorithm) or sign it (asymmetric algorithm) by yourself. The appropriate algorithm has to be defined before, since the card has to follow the same rules for checking.
            • external authenticate is far more likely using symmetric cryptography (nobody likes to sign something unknown, which could also be a hash code for a message)
            • there are two standardized modes for retrieving the public key:
              • either as response to a special Generate Asymmetric Key Pair command (there is one, which just reads but does not generate a new key)
              • or in some file to be read using standard READ commands (e. g. a certificate which has the advantage, that you may check its signature). Which case applies has to be stated in the specification.
            • Manage Security Environment just informs the card, which key to use for a subsequent operation like PSO, giving its Control Reference Template, id and usage qualifier

            Source https://stackoverflow.com/questions/66353301

            QUESTION

            c++ method leak from another template class and namespace
            Asked 2020-Jul-31 at 08:38

            Sorry for the long post. I have some trouble breaking it down into the essential aspects or find the right wording, and thus also googling it -- so please forgive me if this has been asked before. ;) I'll just describe the whole situation I'm facing here and try to be as complete as possible.

            Context

            I'm currently tracking down a very weird bug where including the headers of some library X before my own classes leads to very strange compile time errors. The details are not that important here (I'll give a minimal example in a second!), but for context: I'm serializing my objects with a library called cereal, and it suddenly tells me that my classes are not default-constructible anymore.

            After cutting the included evil-stuff-breaking header into pieces I finally found out what happened, and recreated the bug in a reduced example, but I have no idea why things work (or don't) as they do, and maybe someone can explain this to me. :)

            Preliminaries

            Some part of the included header of X breaks a type trait in cereal which determines if a given class T can be default-constructed by cereal::access.

            So, first thing we need is the type trait. This is an implementation that is kind of similar to how the trait in cereal works (but it's not the same, extremely boiled down for the sake of a minimal example):

            ...

            ANSWER

            Answered 2020-Jul-31 at 08:38

            I've added a smaller example to my original question that gives compiler error with more information on what's going wrong. It seems like @DanM. is correct and this is just a compiler bug. Sadly, I wasn't able to find it on https://gcc.gnu.org/bugzilla

            So, the answer is: Just use a different compiler / compiler version.

            clang 6.0.0 and gcc 8.4.0 both worked for me.

            Source https://stackoverflow.com/questions/63175835

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install danm

            Just kidding as DANM is always free, but if you want to install a production grade, open-source Kubernetes-based bare metal CaaS infrastructure by default equipped with DANM and with a single click of a button nonetheless; just head over to Linux Foundation Akraino Radio Edge Cloud (REC) wiki for the Akraino REC Architecture and the Akraino REC Installation Guide Not just for TelCo!.
            danm is the CNI plugin which can be directly integrated with kubelet. Internally it consists of the CNI metaplugin, the CNI plugin responsible for managing IPVLAN interfaces, and the in-built IPAM plugin. Danm binary is integrated to kubelet as any other CNI plugin.
            fakeipam is a little program used in natively integrating 3rd party CNI plugins into the DANM ecosystem. It is basically used to echo the result of DANM's in-built IPAM to CNIs DANM delegates operations to. Fakeipam binary should be placed into kubelet's configured CNI plugin directory, next to danm. Fakeipam is a temporary solution, the long-term aim is to separate DANM's IPAM component into a full-fledged, standalone IPAM solution.
            netwatcher is a Kubernetes Controller watching the Kubernetes API for changes in the DANM related CRD network management APIs. This component is responsible for validating the semantics of network objects, and also for maintaining VxLAN and VLAN host interfaces of all Kubernetes nodes. Netwatcher binary is deployed in Kubernetes as a DaemonSet, running on all nodes.
            svcwatcher is another Kubernetes Controller monitoring Pod, Service, Endpoint, and DanmEp API paths. This Controller is responsible for extending Kubernetes native Service Discovery to work even for the non-primary networks of the Pod. Svcwatcher binary is deployed in Kubernetes as a DaemonSet, running only on the Kubernetes master nodes in a clustered setup.
            webhook is a standard Kubernetes Validating and Mutating Webhook. It has multiple, crucial responsibilities:
            it validates all DANM introduced CRD APIs both syntactically, and semantically both during creation, and modification
            it automatically mutates parameters only relevant to the internal implementation of DANM into the API objects
            it automatically assigns physical network resources to the logical networks of tenant users in a production-grade infrastructure

            Support

            Want to hang-out with us? Join our Slack under https://danmws.slack.com/!.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries