summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2023-03-22lib: mgmtd: fix build warnings (as error)dev/mgmtdChristian Hopps
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-03-22lib: staticd: vtysh: apply frrbot style requirementsChristian Hopps
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-03-22lib, mgmtd: Add few fixes for commit-check and rollbackPushpasis Sarkar
This commit contains fixes for the following issues found - 'mgmt commit check' issued through 'vtysh -f' was actually commtting the changeset. - On config validation failure backend, mgmtd was not passing the correct error-reason to frontend. - 'mgmt rollback ...' was reverting the change on backend, but config on mgmtd daemon remains intact Signed-off-by: Pushpasis Sarkar <pushpasis@gmail.com>
2023-03-22mgmtd: lib: utilize msglib constructed from the removed codeChristian Hopps
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-03-22lib: new message library for mgmtd client and adaptersChristian Hopps
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-03-21mgmtd: Enroll Staticd as a backend client for MGMTDChristian Hopps
This commmit introduces Staticd as a backend client for the MGMTd framework. All the static commands will be diverted to the MGMT daemon and will use the transactional model to make changes to the internal state. Similar mechanism can be used by other daemons to use the MGMT framework in the future. This commit includes the following functionalities in the changeset: 1. Diverts all the staticd (config only) commands to MGMTd. 2. Enrolls staticd as a backend client to use the MGMT framework. 3. Modify the staticd NB config handlers so that they can be compiled into a library and loaded in the MGMTd process context. Co-authored-by: Pushpasis Sarkar <pushpasis@gmail.com> Co-authored-by: Abhinay Ramesh <rabhinay@vmware.com> Co-authored-by: Ujwal P <ujwalp@vmware.com> Signed-off-by: Yash Ranjan <ranjany@vmware.com>
2023-03-21mgmtd: Add MGMT Transaction FrameworkYash Ranjan
This commit introduces the MGMT Transaction framework that takes management requests from one (or more) frontend client sessions, translates them into transactions and drives them to completion in co-oridination with one (or more) backend client daemons involved in the request. This commit includes the following functionalities in the changeset: 1. Introduces the actual Transaction module. Commands added related to transaction are: a. show mgmt transaction all 2. Adds support for commit rollback feature which stores upto the 10 commit buffers. Each commit has a commit-id which can be used to rollback to the exact configuration state. Commands supported for this feature are: a. show mgmt commit-history b. mgmt rollback commit-id COMMIT_ID 3. Add hidden commands to enable record various performance metrics: a. mgmt performance-measurement b. mgmt reset-statistic Co-authored-by: Pushpasis Sarkar <pushpasis@gmail.com> Co-authored-by: Abhinay Ramesh <rabhinay@vmware.com> Co-authored-by: Ujwal P <ujwalp@vmware.com> Signed-off-by: Yash Ranjan <ranjany@vmware.com>
2023-03-21mgmtd: Add MGMT Backend Interface FrameworkChristian Hopps
This commit introduces the MGMT Backend Interface which can be used by back-end management client daemons like BGPd, Staticd, Zebra to connect with new FRR Management daemon (MGMTd) and utilize the new FRR Management Framework to let any Frontend clients to retrieve any operational data or manipulate any configuration data owned by the individual Backend daemon component. This commit includes the following functionalities in the changeset: 1. Add new Backend server for Backend daemons connect to. 2. Add a C-based Backend client library which can be used by daemons to communicate with MGMTd via the Backend interface. 3. Maintain a backend adapter for each connection from an appropriate Backend client to facilitate client requests and track one or more transactions initiated from Frontend client sessions that involves the backend client component. 4. Add the following commands to inspect various Backend client related information a. show mgmt backend-adapter all b. show mgmt backend-yang-xpath-registry c. show mgmt yang-xpath-subscription Co-authored-by: Pushpasis Sarkar <pushpasis@gmail.com> Co-authored-by: Abhinay Ramesh <rabhinay@vmware.com> Co-authored-by: Ujwal P <ujwalp@vmware.com> Signed-off-by: Yash Ranjan <ranjany@vmware.com>
2023-03-21mgmtd: Add MGMT Frontend Interface FrameworkChristian Hopps
This commit introduces the Frontend Interface which can be used by front-end management clients like Netconf server, Restconf Server and CLI to interact with new FRR Management daemon (MGMTd) to access and sometimes modify FRR management data. This commit includes the following functionalities in the changeset: 1. Add new Frontend server for clients connect to. 2. Add a C-based Frontend client library which can be used by Frontend clients to communicate with MGMTd via the Frontend interface. 3. Maintain a frontend adapter for each connection from an appropriate Frontend client to facilitate client requests and track one or more client sessions across it. 4. Define the protobuf message format for messages to be exchanged between MGMTd Frontend module and the Frontend client. 5. This changeset also introduces an instance of MGMT Frontend client embedded within the lib/vty module that can be leveraged by any FRR daemon to connect to MGMTd's Frontend interface. The same has been integrated with and initialized within the MGMTd daemon's process context to implement a bunch of 'set-config', 'commit-apply', 'get-config' and 'get-data' commands via VTYSH Co-authored-by: Pushpasis Sarkar <pushpasis@gmail.com> Co-authored-by: Abhinay Ramesh <rabhinay@vmware.com> Co-authored-by: Ujwal P <ujwalp@vmware.com> Signed-off-by: Yash Ranjan <ranjany@vmware.com>
2023-03-21mgmtd: Bringup MGMTD daemon and datastore module supportChristian Hopps
Features added in this commit: 1. Bringup/shutdown new management daemon 'mgmtd' along with FRR. 2. Support for Startup, Candidate and Running DBs. 3. Lock/Unlock DS feature using pthread lock. 4. Load config from a JSON file onto candidate DS. 5. Save config to a JSON file from running/candidate DS. 6. Dump candidate or running DS contents on the terminal or a file in JSON/XML format. 7. Maintaining commit history (Full rollback support to be added in future commits). 8. Addition of debug commands. Co-authored-by: Yash Ranjan <ranjany@vmware.com> Co-authored-by: Abhinay Ramesh <rabhinay@vmware.com> Co-authored-by: Ujwal P <ujwalp@vmware.com> Signed-off-by: Pushpasis Sarkar <pushpasis@gmail.com>
2023-03-21Merge pull request #13061 from donaldsharp/bfd_use_after_freeDonatas Abraitis
lib: on bfd peer shutdown actually stop event
2023-03-20lib:fix clear route-map cmd using DEFPYSindhu Parvathi Gopinathan
Due to the wrong input argv id, "argv[idx_word]->arg" fetched in-correctly and it clears all the route-maps instead of specific one. Now correct argv id is passed to clear the given route-map counters. Also, use RMAP_NAME which allows to show list of configured route-maps in the system. After Fix:- Ticket:#3407773 Issue:3407773 Testing: UT done Before: TORC11# clear route-map counters <cr> WORD route-map name After: TORC11# clear route-map counters <cr> RMAP_NAME route-map name my-as Signed-off-by: Chirag Shah <chirag@nvidia.com> Signed-off-by: Sindhu Parvathi Gopinathan's <sgopinathan@nvidia.com>
2023-03-20lib: on bfd peer shutdown actually stop eventDonald Sharp
When deleting a bfd peer during shutdown, let's ensure that any scheduled events are actually stopped. ==7759== Invalid read of size 4 ==7759== at 0x48BF700: _bfd_sess_valid (bfd.c:419) ==7759== by 0x48BF700: _bfd_sess_send (bfd.c:470) ==7759== by 0x492F79C: thread_call (thread.c:2008) ==7759== by 0x48E9BD7: frr_run (libfrr.c:1223) ==7759== by 0x1C739B: main (bgp_main.c:550) ==7759== Address 0xfb687a4 is 4 bytes inside a block of size 272 free'd ==7759== at 0x48369AB: free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==7759== by 0x48BFA5A: bfd_sess_free (bfd.c:535) ==7759== by 0x2B7034: bgp_peer_remove_bfd (bgp_bfd.c:339) ==7759== by 0x29FF8A: peer_free (bgpd.c:1160) ==7759== by 0x29FF8A: peer_unlock_with_caller (bgpd.c:1192) ==7759== by 0x2A0506: peer_delete (bgpd.c:2633) ==7759== by 0x208190: bgp_stop (bgp_fsm.c:1639) ==7759== by 0x20C082: bgp_event_update (bgp_fsm.c:2751) ==7759== by 0x492F79C: thread_call (thread.c:2008) ==7759== by 0x48E9BD7: frr_run (libfrr.c:1223) ==7759== by 0x1C739B: main (bgp_main.c:550) ==7759== Block was alloc'd at ==7759== at 0x4837B65: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==7759== by 0x48F53AF: qcalloc (memory.c:116) ==7759== by 0x48BF98D: bfd_sess_new (bfd.c:397) ==7759== by 0x2B76DC: bgp_peer_configure_bfd (bgp_bfd.c:298) ==7759== by 0x2B76DC: bgp_peer_configure_bfd (bgp_bfd.c:279) ==7759== by 0x29BA06: peer_group2peer_config_copy (bgpd.c:2803) ==7759== by 0x2A3D96: peer_create_bind_dynamic_neighbor (bgpd.c:4107) ==7759== by 0x2A4195: peer_lookup_dynamic_neighbor (bgpd.c:4239) ==7759== by 0x21AB72: bgp_accept (bgp_network.c:422) ==7759== by 0x492F79C: thread_call (thread.c:2008) ==7759== by 0x48E9BD7: frr_run (libfrr.c:1223) ==7759== by 0x1C739B: main (bgp_main.c:550) tl;dr -> Effectively, in this test setup we have 300 dynamic bgp sessions all of which are using bfd. When a peer collision is detected or we remove the peers, if an event has been scheduled but not actually executed yet the event event was not actually being stopped, leaving the bsp pointer on the thread->arg and causing a crash when it is executed. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-03-19lib: Destroy `any` flag when creating a prefix-list entry with prefixDonatas Abraitis
The same as 61c07b9d43529f69f48ca54f4f0213cff52b5d0a, but forgot to put IPv6 in place. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-03-18Merge pull request #13024 from ↵Donald Sharp
opensourcerouting/fix/bgpd_prefix-list_changes_not_affected lib: Adjust only any flag for prefix-list entries if destroying
2023-03-17lib: Adjust only `any` flag for prefix-list entries if destroyingDonatas Abraitis
Before this patch, if we destroy `any` flag for a prefix-list entry, we always set destination as 0.0.0.0/0 and/or ::/0. This means that, if we switch from `ip prefix-list r1-2 seq 5 deny any` to `ip prefix-list r1-2 seq 5 permit 10.10.10.10/32` we will have `permit any` eventually, which broke ACLs. Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-03-16lib: Speedup prefix-list readin by a large factorDonald Sharp
Reading in prefix-lists is reading in the specified prefix list and validating that the prefix is unique 2 times. This makes no sense. Relax the requirement that a prefix list can limit this as well as completely remove this check. Validation then just becomes does this prefix-list specified actually make sense and that is taken care of by the the cli code. Reading in prefix-lists was looking for duplicate prefixes 2 times instead of doing it just one time. Let's just not do it at all. By doing this change, The code changes from never completing for a 27k long prefix-list to taking just under 30 seconds, with 4 daemons processing this data. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-03-15lib: adapt clippy to Python 3.8+ init APIDavid Lamparter
The old initialization/config API is deprecated in Python 3.11. Make clippy use the new one added in 3.8 if it's that version or newer. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-03-09lib, bgpd: Add more debugs to GR Capability exchangeDonald Sharp
a) Make it legible what type of message is being passed back and forth instead of having to guess it from the insufficient debugs b) Make it explicit which bgp instance is sending this data c) Cleanup bgp_zebra_update to have a cleaner api Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-02-27Merge pull request #12866 from anlancs/lib/dotas-zeroDonatas Abraitis
lib: some ASNUMs should be forbidden
2023-02-24lib: some ASNUMs should be forbiddenanlan_cs
In current code, some ASNUMs with redundant zero are legal, e.g. "1.01", "01.1", "1.001", "001.1", and more. They should be forbidden. Signed-off-by: anlan_cs <vic.lan@pica8.com>
2023-02-24Merge pull request #12889 from LabNConsulting/chopps/fix-nb-context-argDonald Sharp
lib: fix init. use of nb_context to be by value not by reference
2023-02-24Merge pull request #12751 from Pdoijode/pdoijode/ospf-vrf-neighbor-detail-1Donatas Abraitis
ospfd: Added missing fields and option to query specific neighbor in VRF
2023-02-23lib: fix init. use of nb_context to be by value not by referenceChristian Hopps
Pass context argument by value on initialization to be clear that the value is used/saved but not a pointer to the value. Previously the northbound code was incorrectly holding a pointer to stack allocated context structs. However, the structure definition also had some musings (ifdef'd out code) and a comment that might be taken to imply that user data could follow the structure and thus be maintained by the code; it won't; so it can't; so get rid of the disabled misleading code/text from the structure definition. The common use case worked b/c the transaction which cached the pointer was created and freed inside a single function call (`nb_condidate_commit`) that executed below the stack allocation. All other use cases (grpc, confd, sysrepo, and -- coming soon -- mgmtd) were bugs. Signed-off-by: Christian Hopps <chopps@labn.net>
2023-02-23lib, bgpd: bmp was not specifying l2vpn afiDonald Sharp
The l2vpn afi was not being properly displayed when a show run was being issued. Add a afi2str_lower function and use it. Fixes: #12867 Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-02-22lib: add missing debug guards for route-mapTrey Aspelund
Fixes missing debug guards for EVPN prefix conversion for optimized route-map lookup. Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2023-02-21lib: skip route-map optimization if !AF_INET(6)Trey Aspelund
Currently we unconditionally send a prefix through the optimized route-map codepath if the v4 and v6 LPM tables have been allocated and optimization has not been disabled. However prefixes from address-families that are not IPv4/IPv6 unicast always fail the optimized route-map index lookup, because they occur on an LPM tree that is IPv4 or IPv6 specific. e.g. Even if you have an empty permit route-map clause, Type-3 EVPN routes are always denied: ``` --config route-map soo-foo permit 10 --logs 2023/02/17 19:38:42 BGP: [KZK58-6T4Y6] No best match sequence for pfx: [3]:[0]:[32]:[2.2.2.2] in route-map: soo-foo, result: no match 2023/02/17 19:38:42 BGP: [H5AW4-JFYQC] Route-map: soo-foo, prefix: [3]:[0]:[32]:[2.2.2.2], result: deny ``` There is some existing code that creates an AF_INET/AF_INET6 prefix using the IP/prefix information from a Type-2/5 EVPN route, which allowed only these two route-types to successfully attempt an LPM lookup in the route-map optimization trees via the converted prefix. This commit does 3 things: 1) Reverts to non-optimized route-map lookup for prefixes that are not AF_INET or AF_INET6. 2) Cleans up the route-map code so that the AF check is part of the index lookup + the EVPN RT-2/5 -> AF_INET/6 prefix conversion occurs outside the index lookup. 3) Adds "debug route-map detail" logs to indicate when we attempt to convert an AF_EVPN prefix into an AF_INET/6 prefix + when we fallback to a non-optimized lookup. Additional functionality for optimized lookups of prefixes from other address-families can be added prior to the index lookup, similar to how the existing EVPN conversion works today. New behavior: ``` 2023/02/17 21:44:27 BGP: [WYP1M-NE4SY] Converted EVPN prefix [5]:[0]:[32]:[192.0.2.7] into 192.0.2.7/32 for optimized route-map lookup 2023/02/17 21:44:27 BGP: [MT1SJ-WEJQ1] Best match route-map: soo-foo, sequence: 10 for pfx: 192.0.2.7/32, result: match 2023/02/17 21:44:27 BGP: [H5AW4-JFYQC] Route-map: soo-foo, prefix: 192.0.2.7/32, result: permit 2023/02/17 21:44:27 BGP: [WYP1M-NE4SY] Converted EVPN prefix [2]:[0]:[48]:[aa:bb:cc:00:22:22]:[32]:[20.0.0.2] into 20.0.0.2/32 for optimized route-map lookup 2023/02/17 21:44:27 BGP: [MT1SJ-WEJQ1] Best match route-map: soo-foo, sequence: 10 for pfx: 20.0.0.2/32, result: match 2023/02/17 21:44:27 BGP: [H5AW4-JFYQC] Route-map: soo-foo, prefix: 20.0.0.2/32, result: permit 2023/02/17 21:44:27 BGP: [KHG7H-RH4PN] Unable to convert EVPN prefix [3]:[0]:[32]:[2.2.2.2] into IPv4/IPv6 prefix. Falling back to non-optimized route-map lookup 2023/02/17 21:44:27 BGP: [MT1SJ-WEJQ1] Best match route-map: soo-foo, sequence: 10 for pfx: [3]:[0]:[32]:[2.2.2.2], result: match 2023/02/17 21:44:27 BGP: [H5AW4-JFYQC] Route-map: soo-foo, prefix: [3]:[0]:[32]:[2.2.2.2], result: permit ``` Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2023-02-21lib: use MAX_BITLEN instead of magic numberTrey Aspelund
Fixes up evpn_prefix2prefix() to use IPV(4|6)_MAX_BITLEN instead of 32/128 directly. Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
2023-02-21Merge pull request #12366 from manojvn/ospfv2-flood-reductionRuss White
ospfd: Support OSPF Refresh and Flooding Reduction RFC4136.
2023-02-21Merge pull request #12248 from pguibert6WIND/bgpasdotRuss White
lib, bgp: add initial support for asdot format
2023-02-17Merge pull request #12780 from opensourcerouting/spdx-license-idDonald Sharp
*: convert to SPDX License identifiers
2023-02-17Merge pull request #12727 from ↵Donald Sharp
opensourcerouting/feature/bgp_software_version_capability bgpd: Software Version Capability
2023-02-16lib: Fix non-use of optionDonald Sharp
Commit d7c6467ba2f55d1055babbb7fe82716ca3efdc7e added the ability to specify non pretty printing but unfortunately forgot to use the option variable to make the whole thing work. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-02-15bgpd: Add BGP Software Version CapabilityDonatas Abraitis
Implement: https://datatracker.ietf.org/doc/html/draft-abraitis-bgp-version-capability Tested with GoBGP: ``` % ./gobgp neighbor 192.168.10.124 BGP neighbor is 192.168.10.124, remote AS 65001 BGP version 4, remote router ID 200.200.200.202 BGP state = ESTABLISHED, up for 00:01:49 BGP OutQ = 0, Flops = 0 Hold time is 3, keepalive interval is 1 seconds Configured hold time is 90, keepalive interval is 30 seconds Neighbor capabilities: multiprotocol: ipv4-unicast: advertised and received ipv6-unicast: advertised route-refresh: advertised and received extended-nexthop: advertised Local: nlri: ipv4-unicast, nexthop: ipv6 UnknownCapability(6): received UnknownCapability(9): received graceful-restart: advertised and received Local: restart time 10 sec ipv6-unicast ipv4-unicast Remote: restart time 120 sec, notification flag set ipv4-unicast, forward flag set 4-octet-as: advertised and received add-path: received Remote: ipv4-unicast: receive enhanced-route-refresh: received long-lived-graceful-restart: advertised and received Local: ipv6-unicast, restart time 10 sec ipv4-unicast, restart time 20 sec Remote: ipv4-unicast, restart time 0 sec, forward flag set fqdn: advertised and received Local: name: donatas-pc, domain: Remote: name: spine1-debian-11, domain: software-version: advertised and received Local: GoBGP/3.10.0 Remote: FRRouting/8.5-dev-MyOwnFRRVersion-gdc92f44a45-dirt cisco-route-refresh: received Message statistics: ``` FRR side: ``` root@spine1-debian-11:~# vtysh -c 'show bgp neighbor 192.168.10.17 json' | \ > jq '."192.168.10.17".neighborCapabilities.softwareVersion.receivedSoftwareVersion' "GoBGP/3.10.0" root@spine1-debian-11:~# ``` Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-02-15Merge pull request #12494 from louis-6wind/ext_admin_groupOlivier Dugeon
lib,zebra,isisd: add support for extended admin group RFC7308
2023-02-14Merge pull request #12789 from donaldsharp/version_cleanupDavid Lamparter
2023-02-14Merge pull request #12796 from donaldsharp/routemap_debuggingRuss White
Routemap debugging
2023-02-13lib: make htonll/ntohll compile time and readableStephen Worley
Make the htonll/ntohll functions compile time determined since we have MACROS to determine endianess and bonus points it makes it more readable. Signed-off-by: Stephen Worley <sworley@nvidia.com>
2023-02-13lib: remove unneeded parans on labl2str returnStephen Worley
Remove unneeded parans on labl2str return. Signed-off-by: Stephen Worley <sworley@nvidia.com>
2023-02-13lib: add asserts to appease the SAStephen Worley
I don't believe label can be NULL in any calling path but SA thinks so so let's just assert here to be safe anyway and make it happy. Signed-off-by: Stephen Worley <sworley@nvidia.com>
2023-02-13lib,sharpd: add ability for sharpd to install vni labelsStephen Worley
Add the ability for sharpd to install vni labels for testing. This patch is just for testing/dev work purposes with evpn. It adds some code to vty for nexthop-groups so we can explicitly add a label to nexthops and then let sharpd encode them to zebra. Signed-off-by: Stephen Worley <sworley@nvidia.com>
2023-02-13lib: add label_type as field in zapi_nexthopStephen Worley
Add the ability to specify the label type along with the labels you are passing to zebra in zapi_nexthop. This is needed as we abstract the label code to be re-used by evpn as well as mpls. Protocols need to be able to set the type of label they have attached. Signed-off-by: Stephen Worley <sworley@nvidia.com>
2023-02-13lib,zebra,bgpd,staticd: use label code to store VNI infoStephen Worley
Use the already existing mpls label code to store VNI info for vxlan. VNI's are defined as labels just like mpls, we should be using the same code for both. This patch is the first part of that. Next we will need to abstract the label code to not be so mpls specific. Currently in this, we are just treating VXLAN as a label type and storing it that way. Signed-off-by: Stephen Worley <sworley@nvidia.com>
2023-02-13lib: add has_label function for nexthop groupsStephen Worley
Add a function nexthop_group_has_label() for determining if even a single nexthop in the group has a label on it. Signed-off-by: Stephen Worley <sworley@nvidia.com>
2023-02-13lib: add 64bit versions of htonl/ntohlStephen Worley
Add 64bit version of htonl/ntohl. Signed-off-by: Stephen Worley <sworley@nvidia.com>
2023-02-13lib: Add `debug routemap [detail]`Donald Sharp
Add the ability to turn on `debug routemap detail` for FRR. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-02-13lib: Start partitioning of rmap_debug to allow detail levelDonald Sharp
Change the bool to a uint32_t and setup a flag to test for and set against. Future commits will allow a debug detail which should be used by match/set statements to give further context of what is going on. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-02-10lib, zebra: Use defines for distanceDonald Sharp
Use the defines for distance that are in zebra.h. We could easily have a cluster where we don't agree with ourselves. So let's convert zebra to use the defines in zebra.h Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-02-10lib, zebra: Move ZEBRA_ON_RIB_PROCESS_HOOK_CALLDonald Sharp
The define of ZEBRA_ON_RIB_PROCESS_HOOK_CALL was in zebra.h which exposes it to everyone, except zebra is the only daemon to use this define. This does not beling in zebra.h Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-02-10lib: Remove include of asm/types.hDonald Sharp
We do not use this, nor should we. So let's remove it. Signed-off-by: Donald Sharp <sharpd@nvidia.com>