[dev] How to build FRR with snmp supported ?

Simon Jones batmanustc at gmail.com
Thu Aug 1 08:32:05 EDT 2019


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 at 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.frrouting.org/pipermail/dev/attachments/20190801/10b7724b/attachment.html>


More information about the dev mailing list