71 Commits

Author SHA1 Message Date
Mike Hansen
fb10d141d0 Merge pull request #18 from Telecominfraproject/OLS-563-version-client-tag-and-update-schema-ref
[OLS-563] Add version to ols-ucentral-client
v3.2.7
2025-02-03 09:27:55 -05:00
Mike Hansen
176d2b9f36 [OLS-563] Add version to ols-ucentral-client
Dockerfile updated to pull tagged version of schema to get the schema.json file.
This will make subsequent versioning much easier.

Once this is merged we can tag the client as 3.2.7 and then move forward to 4.x as we did with the schema.

Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
2025-01-31 16:48:09 -05:00
Mike Hansen
41d50f4650 Merge pull request #17 from Telecominfraproject/OLS-563-Add-version-to-ols-ucentral-client
[OLS-563] Add version to ols-ucentral-client
2025-01-27 09:36:05 -05:00
Mike Hansen
00ae4001e7 [OLS-563] Add version to ols-ucentral-client
Add version to ols-ucentral-client
Augment the build to pull the schema version file from the ols-ucentral-schema repo (if present) based on commit id of
schema used as baseline for this client version.
Use both it and the version to provide the version information in the connect message.

Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
2025-01-22 19:49:46 -05:00
Olexandr, Mazur
5936fbed88 Merge pull request #13 from r4nx/fix-cpp-compilation
Fix compilation issue when platform is implemented in C++
2024-05-14 23:24:10 +03:00
Viacheslav Holovetskyi
0aea2e273c Fix compilation issues
new is a C++ keyword, so the header couldn't be used from C++
2024-04-29 16:17:53 +03:00
Olexandr, Mazur
6e8ccbf40c Merge pull request #12 from Telecominfraproject/plv_next/2.2_build5
Plv next/2.2 build5
2024-04-16 18:53:14 +03:00
Oleksandr Mazur
80f01f977c Update build version to 2.2 b5
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Change-Id: I8ba40d21d4f1d4c81eee906fce0bae6b76aa6052
2024-04-16 17:53:25 +03:00
Oleksandr Mazur
145f8aba82 Fixup scripts: make sure uplink iface (port) is dhcp trusted
With the DHCP-snooping full support for the BRCM platforms
it's needed for the ports to be marked either trusted/untrusted
to make sure proper DHCP request/reply forwarding occurs.

With this commit the following behavior is enforced:
 * Every port is untrusted by default upon device startup;
 * Uplink interface (port) is determined through the means of
   parsing ARP+FBD table;
 * DHCP trust is enabled only for the uplink port;
 * All vlan members can now send DHCP discover(s), which
   will be forwarded (flooded) to trusted ports (in our
   case to a single trusted uplink port) and get
   their replies back.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2024-04-16 16:30:01 +03:00
Olexandr, Mazur
e53d618a33 Merge pull request #11 from Telecominfraproject/plv_next/2.2_build4
Plv next/2.2 build4
2024-04-08 14:39:14 +03:00
Oleksandr Mazur
0799cec723 Update build version to 2.2 b4
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Change-Id: Id96cba2b6e1e53a0706133492172c17f860bb2f3
2024-04-08 14:18:08 +03:00
Oleksandr Mazur
24143fc5bc Fix infinite loop deviceupdate send
Deviceupdate condition never fails whenever password is changed,
thus makes the device spam with passwordchange events.
This, as a results, overflows internal buffers, which
overflows internal disk storage.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2024-04-08 13:56:11 +03:00
Oleksandr Mazur
15b9868322 Revert "script: Use a new GW address"
This reverts commit 4911cab05e.
2024-04-08 13:37:10 +03:00
Olexandr, Mazur
54141e0af6 Merge pull request #10 from Telecominfraproject/plv_next/2.2_build3
Plv next/2.2 build3
2024-04-07 12:30:13 +03:00
Oleksandr Mazur
9034123c2e Update build version to 2.2 b3
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Change-Id: I2d6837667e39be364e32a4a73932928b1edd6b0a
2024-04-07 12:28:45 +03:00
Serhiy Boiko
d0189eaad6 plat: ipv4: Skip L3 configuration for default vlan
Do not apply or modify any L3 cfg for Vlan 1 (ip, dhcp, igmp, etc.)

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: I0e19bad017cacc14cb30af946101d7ad4d9bc8d0
2024-04-07 12:28:38 +03:00
Serhiy Boiko
c349f3f9a4 proto: log: Remove unused code
'log' field is expected to be (and is defined in the schema as) an object,
so there is no need to handle it as an array.

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: I05dd8de1fad086fd6ea16a4cb4792ad7f6e826fd
2024-04-07 12:28:27 +03:00
Serhiy Boiko
5832ecdf36 cfg: Align config samples with current schema definitions
Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: I7b4a2974d19ea645c7cfe7ab9ca1bde27a849f73
2024-04-07 12:28:19 +03:00
Serhiy Boiko
4911cab05e script: Use a new GW address
Use docker env variables to pass a new gw addr, since the old
gw (that is reported by the redirector) is not available.

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: Ibb3a3b95d556996617d7f4ce1d6a58303df76ad7
2024-04-07 12:28:09 +03:00
Serhiy Boiko
7442bb79c3 ucentral-client: Fix env variable for GW address
Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: I811f4faeb438d84e6cbd88905c9bb5846264ef5a
2024-04-07 12:27:58 +03:00
Serhiy Boiko
f972987312 proto: Fix RPVSTP config being rejected
'priority' should be a multiple of 4096

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: Ie974257c47be54852d8a634022ad6f033f06597a
2024-04-07 12:27:48 +03:00
Olexandr, Mazur
783368dd7b Merge pull request #9 from Telecominfraproject/feat/igmp_global_querier_filtering
plat: Parse new fields from config message
2024-04-02 13:00:06 +03:00
Serhiy Boiko
dc60bab84b plat: Parse new fields from config message
Parse and handle unknown-multicast-flood-control and querier-enable fields.

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: Ifa0620bc22e3235b8fb4eb2f7f5dcd026ad0404f
2024-04-02 12:46:39 +03:00
Olexandr, Mazur
681efcabfc Merge pull request #8 from Telecominfraproject/plv_next/next_290324
Plv next/next 290324
2024-03-29 17:34:25 +02:00
Oleksandr Mazur
6f6bd4dfd0 Update build version to 2.2 b2
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Change-Id: I1091f1f34d38f197bdc272adab018a2ec68b5bbf
2024-03-29 17:31:04 +02:00
Serhiy Boiko
04e80e1650 proto: Move diagnostics to a separate thread
Running diagnostics takes a long time (up to 10mins). Running
it in the same context as the callback broker means that all
messages are blocked until diagnostics is finished.
Creating a new thread resolves this issue.

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: Iadb628007903a7d643b6d2e705da84fd04e73dbe
2024-03-29 17:27:58 +02:00
Serhiy Boiko
a8e2b18733 plat: Report uplink address in state message
Reported info:
- uplink ip addr
- mac addr
- egress port
- route metrics

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: Ifdae793be73f4c43b3daffb4cf3f4016ea989d44
2024-03-29 17:27:53 +02:00
Oleksandr Mazur
2e5499c375 Fix DHCP + NTP not working properly for Vlan1
Enable properly DHCP snooping for Vlan1 by default;
Make sure NTP is configured to use Vlan1 as wel;

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Change-Id: Ided132b12a5d472954458632cd61b3e43e072fa0
2024-03-29 17:27:48 +02:00
Serhiy Boiko
0f64807cfb port-isolation: Update parser based on schema
Since port isolation schema moved from ethernet to switch update
the code acordingly.

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: I30335af3d17ad6ecc910c5c8ed2ca69eaaae0913
2024-03-29 17:27:41 +02:00
Serhiy Boiko
215d4dab4a vlan: Add SVI ip addrs to state message
Add netlink calls to get vlan ip addrs.
Add gnma api to retreive list of addrs.
Add "addresses" field to vlan interfaces.

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: I4a43485d45c75993ef128c952acfd69f04cd975e
2024-03-29 17:27:35 +02:00
Olexandr, Mazur
e13a8fac52 Merge pull request #7 from Telecominfraproject/plv_next/next_040324
Plv next/next 040324
2024-03-04 16:53:19 +02:00
Serhiy Boiko
049fef08d9 ipv4: Fix interface ipv4 cfg parsing
The schema requires the config to have the following format:
  {
    "ipv4": {
      "subnet": [
        { "prefix": "255.255.225.255/32" }
      ]
    }
  }

But the code expected this:
  {
    "ipv4": {
      "subnet": "255.255.225.255/32"
    }
  }

Since parsing ipv4 for vlans and ports is the same the code
is moved to a function.
*_interface_parse function were refactored to remove unnecessary
indentations.

Limitations:
Only a single ip address can be configured on an interface.
IP address will be configured only for the first port in the list.

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: Ie3ed777a963129269b10833c970dc3e8a24b6b38
2024-03-04 16:50:18 +02:00
Serhiy Boiko
2bd145e09f cfg: Beautify json configs
Use https://codebeautify.org/jsonviewer to beautify all configs.

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: I4e82ae96927d4f63027c68f17d2179adb9f09052
2024-03-04 16:50:18 +02:00
Serhiy Boiko
732b4e1bc7 cfg: Add sample configs for new and old features
Sample configs added:
- log service
- port isolation
- igmp
- stp

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: Ia58fab2da04658100b5be1044892f4966d935e10
2024-03-04 16:50:18 +02:00
Serhiy Boiko
559776ba06 proto: Fix parser issue
WA for issue where an array of objects might have malformed keys:

Original message:
    {
        "static-mcast-groups": [
            {"address": "1.1.1.1",
             "egress-ports": [...]}
        ]
    }

Malformed message:
    {
        "static-mcast-groups": [
            {"static-mcast-groups[].address": "1.1.1.1",
             "static-mcast-groups[].egress-ports": [...]}
        ]
    }

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: Id0ebe93ab976338adab6cdc3b7d6691ecca9dc94
2024-03-04 16:50:18 +02:00
tip-admin
b6c03319d3 Create LICENSE 2024-02-29 08:52:04 -08:00
Olexandr, Mazur
05d06592cc Merge pull request #5 from Telecominfraproject/plv_next_270224
Plv next 270224
2024-02-27 14:35:52 +02:00
Serhiy Boiko
ebf160fa06 igmp: Fix invalid port name size
sizeof(*port_node->name) == 1
sizeof(port_node->name) == PORT_MAX_NAME_LEN  # 32

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: I3bd09eaf00bb55045a935de7795509f5582b0878
2024-02-27 14:04:18 +02:00
Serhiy Boiko
ace64ef341 stp: Fix STP config not applying
Fix issue where STP config was rejected on device because
some of the GNMI entries could not be deleted.

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: Ida30be22c609c682b526358c98225bff0567290c
2024-02-27 14:04:16 +02:00
Serhiy Boiko
5acd35237c igmp: Change what attributes are set for snooping/querrier
Set querrier attributes only for `ip igmp ...`.
Set snooping attributes only for `ip igmp snooping ...`

fixes: a15c56f
Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: I56369d323fdd8b2b63605392cb8b23fa0442bb8a
2024-02-27 14:04:12 +02:00
Oleksandr Mazur
d9fae8097b Update build number 1.6 b5
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Change-Id: I63b7b8b9945ed67f6ddba104ec3c154c63a308dc
2024-02-27 14:04:12 +02:00
Serhiy Boiko
ee4ff0ee3a igmp: Configure igmp snooping and static groups
Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: I679807532d04338077cc8657ed9702d3ad09536e
2024-02-27 14:04:12 +02:00
Serhiy Boiko
6efdcb7eb5 igmp: plat: Fill vlan interface data
Store IGMP info inside plat struct (GNMI/GNMA handlers);
Add vlan interfaces to the list of all interfaces (proto handlers).
Vlan interfaces have a multicast field as per state schema.

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: Id9778a017e0ba54f8e1154e580304f95e3de41c8
2024-02-27 14:04:12 +02:00
Serhiy Boiko
bca8160f67 sfp: Send transceiver info to GW
Notify GW about the ports' transceiver info. If transceiver
info is not supported the "transceiver-info" field is omitted.

    "interfaces": [
        ...
        {
            ...
            "transceiver-info": {
                "vendor-name": "VENDOR",
                "part-number": "PART NUMBER",
                "serial-number": "SERIAL",
                "revision": "REVISION",
                "temperature": 0,
                "tx-optical-power": 0,
                "rx-optical-power": 0,
                "max-module-power": 0,
                "form-factor": "FORM FACTOR",
                "supported-link-modes": [ ... ]}
            ...
        },
        ...
    ],

Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: If83bb41d1ebf76b41c2ed0be6f3f755eefa18d29
2024-02-27 14:04:12 +02:00
Oleksandr Mazur
3d2b3295e7 proto: fill state with CoA-related global counters
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Change-Id: I0979c0abf180fe5a8309fc43ed233352edda936c
2024-02-27 14:04:12 +02:00
Oleksandr Mazur
15e4f7a580 gnma: Implement gnmi handlers for fetching COA stats
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Change-Id: If5027dbb59522731312941b4e539f38e8a54dc70
2024-02-27 14:04:12 +02:00
Oleksandr Mazur
1afbc126fe gnma: implement DAS + DAC gnmi handlers + plat_state recovery
Implement handlers for retrieving platstate of DAS configuration,
as well as DAC list (same as for RADIUS clients).

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Change-Id: Ifa149aa1708c114cc4b5b59772d524f4cd5b70b2
2024-02-27 14:04:12 +02:00
Oleksandr Mazur
a2c49e8ab5 gnma: remove unused radius host definition
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Change-Id: I3cb4739bd6f0724dad784caf381e9f7f01797153
2024-02-27 14:04:12 +02:00
Oleksandr Mazur
2a8d2c18ce gnma: fix invalid poe stats reported
Newest BRCM images changed from number->string values of
some PoE-related info.
Fix parsing to report valid data back to cloud.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Change-Id: I46afee603f16439fa23adda698be748bfe008b04
2024-02-27 14:04:12 +02:00
Oleksandr Mazur
4549ef61c3 proto: fix FSM for plat diagnostics
GW expects for reply to be sent immediatly (pending state).
This gives GW understanding that command's been processed,
but is still executing.
The final result would be sent afterwards, upon diag completion.
However, the initial pending should be sent as fast as possible,
upon parsing the command itself.

This change fixes the expectations of GW. Without this change
command is marked as timedout, then pending and the completed
OK.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Change-Id: I36925783fc2bc1cd7dfebb957d7ba30d2c7650ea
2024-02-27 14:04:12 +02:00