Oh,maybe I did not introduce clearly, I'm working on sonic-frr( https://github.com/Azure/sonic-frr), what I want to do is: 1. sonic-frr build FRR deb package into a docker image, but this image has no SNMP support, so I have to add SNMP support, so I ask questions above. 2. How sonic-frr build is - use this script to build FRR deb package, is this script build SNMP codes(/usr/lib/*/frr/modules/*_snmp.so)? I think it is. .ONESHELL: SHELL = /bin/bash .SHELLFLAGS += -e MAIN_TARGET = $(FRR) DERIVED_TARGET = $(FRR_PYTHONTOOLS) $(FRR_DBG) $(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% : # Build the package pushd ./frr tools/tarsource.sh -V -e '-sonic' dpkg-buildpackage -rfakeroot -b -us -uc -Ppkg.frr.nortrlib -j$(SONIC_CONFIG_MAKE_JOBS) popd mv $(DERIVED_TARGET) $* $(DEST)/ $(addprefix $(DEST)/, $(DERIVED_TARGET)): $(DEST)/% : $(DEST)/$(MAIN_TARGET) - use this script to build sonic-frr docker image, is this script install SNMP codes into docker image? I think it's NOT, so I want to know how to package SNMP codes into docker image, which is how to install SNMP codes into deb package. Is it to add '-Ppkg.frr.snmp' ? # FRRouting (frr) package FRR_VERSION = 7.0.1 FRR_SUBVERSION = 0 export FRR_VERSION FRR_SUBVERSION FRR = frr_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_amd64.deb $(FRR)_DEPENDS += $(LIBSNMP_DEV) $(LIBYANG_DEV) $(FRR)_RDEPENDS += $(LIBYANG) $(FRR)_SRC_PATH = $(SRC_PATH)/sonic-frr SONIC_MAKE_DEBS += $(FRR) SONIC_STRETCH_DEBS += $(FRR) FRR_PYTHONTOOLS = frr-pythontools_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION) _all.deb $(eval $(call add_derived_package,$(FRR),$(FRR_PYTHONTOOLS))) FRR_DBG = frr-dbgsym_$(FRR_VERSION)-sonic-$(FRR_SUBVERSION)_amd64.deb $(eval $(call add_derived_package,$(FRR),$(FRR_DBG))) export FRR FRR_PYTHONTOOLS FRR_DBG - use docker command to install this image Thanks ~ ---- Simon Jones David Lamparter <equinox@diac24.net> 于2019年8月1日周四 下午5:05写道:
On Thu, Aug 01, 2019 at 03:56:40PM +0800, Simon Jones wrote:
1. In this doc (http://docs.frrouting.org/en/latest/snmp.html), I think SNMP related code in FRR is - snmp codes of each module, like zebra or bgpd, which is located in .../modules/zebra_snmp.so. And these codes is load while zebra or bgpd start up? These codes response for report snmp events in zebra or bgpd modules by protocol to agentX? - AgentX, which is used to receive these snmp events and call snmp traps
I'm having some trouble understanding your questions, but the modules are installed to /usr/lib/*/frr/modules/*_snmp.so and loaded at startup with the "-M snmp" option.
2. So I want to start zebra with zebra_snmp.so. But I got errors which tell me there is no zebra_snmp.so. So I check build process, then I have questions in the email above.
Then the frr-snmp package is not installed. There is no problem with the build process. Unless you modify the Debian package - or the package build didn't complete successfully - SNMP support is enabled for Debian packages.
3. Is there some docs about how to build, package, install and use frr-snmp? As this(http://docs.frrouting.org/en/latest/snmp.html) is not very clear. - http://docs.frrouting.org/en/latest/snmp.html tell me SNMP support compile is just use `--enable-snmp`. But as I said above, there is zebra_snmp.so in compile log, but no zebra_snmp.so in packages I installed. - http://docs.frrouting.org/en/latest/snmp.html tell me SNMP support could be started by `--module <module:snmp>`, but when I start, report error log that 'there is no zebra_snmp.so in .../modules/'
There is nothing to change to enable SNMP support in Debian packages. You just need to install the frr-snmp package and add the "-M snmp" / "--module snmp" (same option) to your config.
4. So could someone tell me clear steps on: - How to installed *additionally* to the "frr" package.
apt-get install frr-snmp or dpkg -i frr-snmp_*.deb
- How to start SNMP support in system.
You seem to have that in place already since you're getting the "zebra_snmp.so not found" error.
-David