Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion platform/broadcom/sai-modules.mk
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Broadcom SAI modules

BRCM_OPENNSL_KERNEL_VERSION = 13.2.0.0
BRCM_OPENNSL_KERNEL_VERSION = 13.2.1.0

BRCM_OPENNSL_KERNEL = opennsl-modules_$(BRCM_OPENNSL_KERNEL_VERSION)_amd64.deb
$(BRCM_OPENNSL_KERNEL)_SRC_PATH = $(PLATFORM_PATH)/saibcm-modules
Expand Down
4 changes: 2 additions & 2 deletions platform/broadcom/sai.mk
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
LIBSAIBCM_XGS_VERSION = 13.2.0.7
LIBSAIBCM_XGS_VERSION = 13.2.1.0
LIBSAIBCM_DNX_VERSION = 12.3.3.2
LIBSAIBCM_XGS_BRANCH_NAME = SAI_13.2.0_GA
LIBSAIBCM_XGS_BRANCH_NAME = SAI_13.2.1_EA
LIBSAIBCM_DNX_BRANCH_NAME = SAI_12.3.0_GA
LIBSAIBCM_XGS_URL_PREFIX = "https://sonicstorage.blob.core.windows.net/public/sai/sai-broadcom/$(LIBSAIBCM_XGS_BRANCH_NAME)/$(LIBSAIBCM_XGS_VERSION)/xgs"
LIBSAIBCM_DNX_URL_PREFIX = "https://sonicstorage.blob.core.windows.net/public/sai/sai-broadcom/$(LIBSAIBCM_DNX_BRANCH_NAME)/$(LIBSAIBCM_DNX_VERSION)/dnx"
Expand Down
6 changes: 6 additions & 0 deletions platform/broadcom/saibcm-modules/debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
opennsl (13.2.1.0) unstable; urgency=medium

* Update to Broadcom SAI 13.2.1.0

-- Ziting Guo <zitingguo@microsoft.com> Wed, 25 Jun 2025 05:46:10 +0000

opennsl (13.2.0.0) unstable; urgency=medium

* Update to Broadcom SAI 13.2.0.0
Expand Down
9 changes: 8 additions & 1 deletion platform/broadcom/saibcm-modules/sdklt/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,12 @@ BCMGENL_BLDDIR := $(OUTPUT_DIR)/bcmgenl
GENL_PACKET_BLDDIR := $(OUTPUT_DIR)/genl-packet
EDK_BLDDIR := $(OUTPUT_DIR)/edk
PTPCLOCK_BLDDIR := $(OUTPUT_DIR)/ptpclock
ST_BLDDIR := $(OUTPUT_DIR)/st

LKM_CFLAGS += -UNGKNET_NETIF_MAX -DNGKNET_NETIF_MAX=1056 -UNGKNET_FILTER_MAX -DNGKNET_FILTER_MAX=1025
export LKM_CFLAGS

KMODS := bde knet knetcb genl-packet bcmgenl edk ptpclock
KMODS := bde knet knetcb genl-packet bcmgenl edk ptpclock st

kmod: $(KMODS)

Expand Down Expand Up @@ -108,6 +109,12 @@ ptpclock: bde knet edk
LKM_BLDDIR=$(PTPCLOCK_BLDDIR) $(TARGET)
ln -sf $(PTPCLOCK_BLDDIR)/*.ko $(OUTPUT_DIR)

st: bde
$(MAKE) -C $(SDK)/linux/st SDK=$(SDK) \
KBUILD_EXTRA_SYMBOLS=$(BDE_BLDDIR)/Module.symvers \
LKM_BLDDIR=$(ST_BLDDIR) $(TARGET)
ln -sf $(ST_BLDDIR)/*.ko $(OUTPUT_DIR)

clean:
$(MAKE) kmod TARGET=$@
rm -f $(OUTPUT_DIR)/*.ko
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
/*! \file ngst_ioctl.h
*
* NGST device I/O control definitions.
*
* This file is intended for use in both kernel mode and user mode.
*
* IMPORTANT!
* All shared structures must be properly 64-bit aligned.
*
*/
/*
* Copyright 2018-2025 Broadcom. All rights reserved.
* The term 'Broadcom' refers to Broadcom Inc. and/or its subsidiaries.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* A copy of the GNU General Public License version 2 (GPLv2) can
* be found in the LICENSES folder.
*/

#ifndef NGST_IOCTL_H
#define NGST_IOCTL_H

#include <linux/types.h>
#include <linux/ioctl.h>

/*! Module information */
#define NGST_MODULE_NAME "linux_ngst"
#define NGST_MODULE_MAJOR 61

/*! LUST IOCTL command magic. */
#define NGST_IOC_MAGIC 'x'

/*!
* \name IOCTL commands for the NGST kernel module.
* \anchor NGST_IOC_xxx
*/

/*! \{ */

/*! Set/Get ST DMA memory information. */
#define NGST_IOC_DMA_INFO _IOWR(NGST_IOC_MAGIC, 0, struct ngst_ioc_dma_info_s)

/*! \} */

/*! IOCTL command return code for success. */
#define NGST_IOC_SUCCESS 0

/*! Get ST DMA information */
struct ngst_ioc_dma_info_s {

/*! Unit */
__u32 unit;

/*! Virtual address */
__u64 vaddr;

/*! Physical address */
__u64 paddr;

/*! Number of DMA chunks */
__u32 chunk_cnt;

/*! DMA pool size */
__u32 size;
};

#endif /* NGST_IOCTL_H */
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/*! \file ngst_netlink.h
*
* NGST device Netlink message definitions.
*
* This file is intended for use in both kernel mode and user mode.
*
* IMPORTANT!
* All shared structures must be properly 64-bit aligned.
*
*/
/*
* Copyright 2018-2025 Broadcom. All rights reserved.
* The term 'Broadcom' refers to Broadcom Inc. and/or its subsidiaries.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* A copy of the GNU General Public License version 2 (GPLv2) can
* be found in the LICENSES folder.
*/

#ifndef NGST_NETLINK_H
#define NGST_NETLINK_H

#include <linux/types.h>

#define NGST_NETLINK_PROTOCOL 17

#define NGST_NL_MSG_TYPE_ST_DATA_REQ 1
#define NGST_NL_MSG_TYPE_ST_DATA_NOT_READY 2
#define NGST_NL_MSG_TYPE_ST_DATA_RSP 3

struct ngst_nl_msg_hdr_s {
__u32 unit;
__u32 msg_type;
};

#endif /* NGST_NETLINK_H */
27 changes: 27 additions & 0 deletions platform/broadcom/saibcm-modules/sdklt/linux/st/Kbuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# -*- Kbuild -*-
#
# Linux Streaming Telemetry kernel module.
#
# Copyright 2018-2025 Broadcom. All rights reserved.
# The term 'Broadcom' refers to Broadcom Inc. and/or its subsidiaries.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# version 2 as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# A copy of the GNU General Public License version 2 (GPLv2) can
# be found in the LICENSES folder.
#

obj-m := linux_ngst.o

ccflags-y := $(LKM_CFLAGS) $(LKM_CPPFLAGS) \
-I$(SDK)/shr/include \
-I$(SDK)/linux/include \

linux_ngst-y := ngst_main.o
32 changes: 32 additions & 0 deletions platform/broadcom/saibcm-modules/sdklt/linux/st/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#
# Copyright 2018-2025 Broadcom. All rights reserved.
# The term 'Broadcom' refers to Broadcom Inc. and/or its subsidiaries.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# version 2 as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# A copy of the GNU General Public License version 2 (GPLv2) can
# be found in the LICENSES folder.
#
# Linux Streaming Telemetry kernel module.
#

include Kbuild

ifeq ($(KERNELRELEASE),)

MOD_NAME = linux_ngst

include $(SDK)/make/lkm.mk

endif

.PHONY: distclean

distclean::
Loading
Loading