mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Oliver Graute <oliver.graute@gmail.com>
To: ptxdist@pengutronix.de
Cc: Oliver Graute <oliver.graute@neuhaus.de>
Subject: [ptxdist] [PATCHv4] quagga: this patch adds quagga support to ptxdist
Date: Fri, 24 Jul 2015 11:00:21 +0200	[thread overview]
Message-ID: <1437728422-25140-1-git-send-email-oliver.graute@neuhaus.de> (raw)

Quagga is a routing software suite, providing implementations of
OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4 for Unix platforms,
particularly FreeBSD, Linux, Solaris and NetBSD.

Signed-off-by: Oliver Graute <oliver.graute@neuhaus.de>
---
 projectroot/etc/babeld.conf |   30 ++++++++++
 projectroot/etc/bgpd.conf   |   29 +++++++++
 projectroot/etc/ospf6d.conf |   52 +++++++++++++++++
 projectroot/etc/ospfd.conf  |   13 +++++
 projectroot/etc/ripd.conf   |   24 ++++++++
 projectroot/etc/ripngd.conf |   22 +++++++
 projectroot/etc/vtysh.conf  |    7 +++
 projectroot/etc/zebra.conf  |   25 ++++++++
 rules/quagga.in             |   76 ++++++++++++++++++++++++
 rules/quagga.make           |  136 +++++++++++++++++++++++++++++++++++++++++++
 10 files changed, 414 insertions(+)
 create mode 100644 projectroot/etc/babeld.conf
 create mode 100644 projectroot/etc/bgpd.conf
 create mode 100644 projectroot/etc/ospf6d.conf
 create mode 100644 projectroot/etc/ospfd.conf
 create mode 100644 projectroot/etc/ripd.conf
 create mode 100644 projectroot/etc/ripngd.conf
 create mode 100644 projectroot/etc/vtysh.conf
 create mode 100644 projectroot/etc/zebra.conf
 create mode 100644 rules/quagga.in
 create mode 100644 rules/quagga.make

diff --git a/projectroot/etc/babeld.conf b/projectroot/etc/babeld.conf
new file mode 100644
index 0000000..a4924ec
--- /dev/null
+++ b/projectroot/etc/babeld.conf
@@ -0,0 +1,30 @@
+debug babel common
+!debug babel kernel
+!debug babel filter
+!debug babel timeout
+!debug babel interface
+!debug babel route
+!debug babel all
+
+router babel
+! network wlan0
+! network eth0
+! redistribute kernel
+! no redistribute static
+
+! The defaults are fine for a wireless interface
+
+!interface wlan0
+
+! A few optimisation tweaks are optional but recommended on a wired interface
+! Disable link quality estimation, enable split horizon processing, and
+! increase the hello and update intervals.
+
+!interface eth0
+! babel wired
+! babel split-horizon
+! babel hello-interval 12000
+! babel update-interval 36000
+
+! log file /var/log/quagga/babeld.log
+log stdout
diff --git a/projectroot/etc/bgpd.conf b/projectroot/etc/bgpd.conf
new file mode 100644
index 0000000..b6a8b6f
--- /dev/null
+++ b/projectroot/etc/bgpd.conf
@@ -0,0 +1,29 @@
+! -*- bgp -*-
+!
+! BGPd sample configuratin file
+!
+! $Id: bgpd.conf.sample,v 1.1 2002/12/13 20:15:29 paul Exp $
+!
+hostname bgpd
+password zebra
+!enable password please-set-at-here
+!
+!bgp mulitple-instance
+!
+router bgp 7675
+! bgp router-id 10.0.0.1
+! network 10.0.0.0/8
+! neighbor 10.0.0.2 remote-as 7675
+! neighbor 10.0.0.2 route-map set-nexthop out
+! neighbor 10.0.0.2 ebgp-multihop
+! neighbor 10.0.0.2 next-hop-self
+!
+! access-list all permit any
+!
+!route-map set-nexthop permit 10
+! match ip address all
+! set ip next-hop 10.0.0.1
+!
+!log file bgpd.log
+!
+log stdout
diff --git a/projectroot/etc/ospf6d.conf b/projectroot/etc/ospf6d.conf
new file mode 100644
index 0000000..0a6ddb7
--- /dev/null
+++ b/projectroot/etc/ospf6d.conf
@@ -0,0 +1,52 @@
+!
+! Zebra configuration saved from vty
+!   2003/11/28 00:49:49
+!
+hostname ospf6d@plant
+password zebra
+log stdout
+service advanced-vty
+!
+debug ospf6 neighbor state
+!
+interface fxp0
+ ipv6 ospf6 cost 1
+ ipv6 ospf6 hello-interval 10
+ ipv6 ospf6 dead-interval 40
+ ipv6 ospf6 retransmit-interval 5
+ ipv6 ospf6 priority 0
+ ipv6 ospf6 transmit-delay 1
+ ipv6 ospf6 instance-id 0
+!
+interface lo0
+ ipv6 ospf6 cost 1
+ ipv6 ospf6 hello-interval 10
+ ipv6 ospf6 dead-interval 40
+ ipv6 ospf6 retransmit-interval 5
+ ipv6 ospf6 priority 1
+ ipv6 ospf6 transmit-delay 1
+ ipv6 ospf6 instance-id 0
+!
+router ospf6
+ router-id 255.1.1.1
+ redistribute static route-map static-ospf6
+ interface fxp0 area 0.0.0.0
+!
+access-list access4 permit 127.0.0.1/32
+!
+ipv6 access-list access6 permit 3ffe:501::/32
+ipv6 access-list access6 permit 2001:200::/48
+ipv6 access-list access6 permit ::1/128
+!
+ipv6 prefix-list test-prefix seq 1000 deny any
+!
+route-map static-ospf6 permit 10
+ match ipv6 address prefix-list test-prefix
+ set metric-type type-2
+ set metric 2000
+!
+line vty
+ access-class access4
+ ipv6 access-class access6
+ exec-timeout 0 0
+!
diff --git a/projectroot/etc/ospfd.conf b/projectroot/etc/ospfd.conf
new file mode 100644
index 0000000..0e8ac67
--- /dev/null
+++ b/projectroot/etc/ospfd.conf
@@ -0,0 +1,13 @@
+! -*- ospf -*-
+!
+! OSPFd sample configuration file
+!
+!
+hostname ospfd
+password zebra
+!enable password please-set-at-here
+!
+!router ospf
+!  network 192.168.1.0/24 area 0
+!
+log stdout
diff --git a/projectroot/etc/ripd.conf b/projectroot/etc/ripd.conf
new file mode 100644
index 0000000..2902ff9
--- /dev/null
+++ b/projectroot/etc/ripd.conf
@@ -0,0 +1,24 @@
+! -*- rip -*-
+!
+! RIPd sample configuration file
+!
+! $Id: ripd.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
+!
+hostname ripd
+password zebra
+!
+! debug rip events
+! debug rip packet
+!
+router rip
+! network 11.0.0.0/8
+! network eth0
+! route 10.0.0.0/8
+! distribute-list private-only in eth0
+!
+!access-list private-only permit 10.0.0.0/8
+!access-list private-only deny any
+! 
+!log file ripd.log
+!
+log stdout
diff --git a/projectroot/etc/ripngd.conf b/projectroot/etc/ripngd.conf
new file mode 100644
index 0000000..ad673e5
--- /dev/null
+++ b/projectroot/etc/ripngd.conf
@@ -0,0 +1,22 @@
+! -*- rip -*-
+!
+! RIPngd sample configuration file
+!
+! $Id: ripngd.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
+!
+hostname ripngd
+password zebra
+!
+! debug ripng events
+! debug ripng packet
+!
+!
+router ripng
+! network sit1
+! route 3ffe:506::0/32
+! distribute-list local-only out sit1
+!
+!ipv6 access-list local-only permit 3ffe:506::0/32
+!ipv6 access-list local-only deny any
+!
+log stdout
diff --git a/projectroot/etc/vtysh.conf b/projectroot/etc/vtysh.conf
new file mode 100644
index 0000000..4e0a2be
--- /dev/null
+++ b/projectroot/etc/vtysh.conf
@@ -0,0 +1,7 @@
+!
+! Sample configuration file for vtysh.
+!
+!service integrated-vtysh-config
+!hostname quagga-router
+!username root nopassword
+!
diff --git a/projectroot/etc/zebra.conf b/projectroot/etc/zebra.conf
new file mode 100644
index 0000000..a5d0732
--- /dev/null
+++ b/projectroot/etc/zebra.conf
@@ -0,0 +1,25 @@
+! -*- zebra -*-
+!
+! zebra sample configuration file
+!
+! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
+!
+hostname Router
+password zebra
+enable password zebra
+!
+! Interface's description. 
+!
+!interface lo
+! description test of desc.
+!
+!interface sit0
+! multicast
+
+!
+! Static default route sample.
+!
+!ip route 0.0.0.0/0 203.181.89.241
+!
+
+!log file zebra.log
diff --git a/rules/quagga.in b/rules/quagga.in
new file mode 100644
index 0000000..abca344
--- /dev/null
+++ b/rules/quagga.in
@@ -0,0 +1,76 @@
+## SECTION=networking
+
+menuconfig QUAGGA
+	tristate
+	prompt "quagga"
+	help
+	  Quagga Routing Suite. Quagga is a routing software suite, providing
+	  implementations of OSPFv2, OSPFv3, RIP v1 and v2, RIPng and BGP-4
+	  for Unix platforms, particularly FreeBSD, Linux, Solaris and NetBSD.
+	  Quagga is a fork of GNU Zebra which was developed by Kunihiro
+	  Ishiguro. The Quagga tree aims to build a more involved community
+	  around Quagga than the current centralised model of GNU Zebra.
+
+config QUAGGA_VTYSH
+	bool
+	default y
+	prompt "Install vtysh"
+	help
+	  Disable the vtysh component if you do not need it
+
+config QUAGGA_ZEBRA
+	bool
+	default y
+	prompt "Install zebra"
+	help
+	  Disable the zebra component if you do not need it
+
+config QUAGGA_BGPD
+	bool
+	default y
+	prompt "Install bgpd"
+	help
+	  Disable the bgpd component if you do not need it
+
+config QUAGGA_RIPD
+	bool
+	default y
+	prompt "Install ripd"
+	help
+	  Disable the ripd component if you do not need it
+
+config QUAGGA_RIPNGD
+	bool
+	default y
+	prompt "Install ripngd"
+	help
+	  Disable the ripngd component if you do not need it
+
+config QUAGGA_OSPFD
+	bool
+	default y
+	prompt "Install ospfd"
+	help
+	  Disable the ospfd component if you do not need it
+
+config QUAGGA_OSPF6D
+	bool
+	default y
+	prompt "Install ospf6d"
+	help
+	  Disable the ospf6d component if you do not need it
+
+config QUAGGA_BABELD
+	bool
+	default y
+	prompt "Install babeld"
+	help
+	  Disable the babeld component if you do not need it
+
+config QUAGGA_WATCHQUAGGA
+	bool
+	default y
+	prompt "Install watchquagga"
+	help
+	  Disable the watchquagga component if you do not need it
+
diff --git a/rules/quagga.make b/rules/quagga.make
new file mode 100644
index 0000000..c9aad91
--- /dev/null
+++ b/rules/quagga.make
@@ -0,0 +1,136 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2015 Dr. Neuhaus Telekommunikation GmbH, Hamburg Germany, Oliver Graute <oliver.graute@neuhaus.de>
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_QUAGGA) += quagga
+
+#
+# Paths and names
+#
+QUAGGA_VERSION	:= 0.99.23
+QUAGGA_MD5	:= d17145e62b6ea14f0f13bb63f59e5166
+QUAGGA		:= quagga-$(QUAGGA_VERSION)
+QUAGGA_SUFFIX	:= tar.gz
+QUAGGA_URL	:= http://download.savannah.gnu.org/releases/quagga/$(QUAGGA).$(QUAGGA_SUFFIX)
+QUAGGA_SOURCE	:= $(SRCDIR)/$(QUAGGA).$(QUAGGA_SUFFIX)
+QUAGGA_DIR	:= $(BUILDDIR)/$(QUAGGA)
+QUAGGA_LICENSE	:= GPLv2
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+#
+# autoconf
+#
+QUAGGA_CONF_TOOL	:= autoconf
+QUAGGA_CONF_OPT	:= \
+	$(CROSS_AUTOCONF_USR) \
+	$(GLOBAL_LARGE_FILE_OPTION) \
+	$(GLOBAL_IPV6_OPTION) \
+	--$(call ptx/endis, PTXCONF_VTYSH)-vtysh \
+	--$(call ptx/endis, PTXCONF_ZEBRA)-zebra \
+	--$(call ptx/endis, PTXCONF_BGPD)-bgpd \
+	--$(call ptx/endis, PTXCONF_RIPD)-ripd \
+	--$(call ptx/endis, PTXCONF_RIPNGD)-ripngd \
+	--$(call ptx/endis, PTXCONF_OSPFD)-ospfd \
+	--$(call ptx/endis, PTXCONF_OSPF6D)-ospf6d \
+	--$(call ptx/endis, PTXCONF_BABELD)-babeld \
+	--$(call ptx/endis, PTXCONF_WATCHQUAGGA)-watchquagga \
+	--disable-doc \
+	--enable-isisd \
+	--enable-solaris \
+	--disable-bgp-announce \
+	--enable-netlink \
+	--enable-snmp=agentx \
+	--enable-tcp-zebra \
+	--disable-opaque-lsa \
+	--disable-ospfapi \
+	--disable-ospfclient \
+	--disable-ospf-te \
+	--enable-multipath=1 \
+	--enable-user=user \
+	--enable-group=group \
+	--enable-vty-group=no \
+	--enable-configfile-mask=-600 \
+	--enable-logfile-mask=-600 \
+	--disable-rtadv \
+	--enable-irdp \
+	--enable-isis-topology \
+	--disable-capabilities \
+	--disable-rusage \
+	--enable-gcc-ultra-verbose \
+	--enable-linux24-tcp-md5 \
+	--enable-gcc-rdynamic \
+	--disable-backtrace \
+	--disable-time-check \
+	--enable-pcreposix \
+	--enable-fpm \
+	--disable-pie
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/quagga.targetinstall:
+	@$(call targetinfo)
+
+	@$(call install_init, quagga)
+	@$(call install_fixup, quagga,PRIORITY,optional)
+	@$(call install_fixup, quagga,SECTION,base)
+	@$(call install_fixup, quagga,AUTHOR,"<oliver.graute@neuhaus.de>")
+	@$(call install_fixup, quagga,DESCRIPTION,missing)
+	@$(call install_lib, quagga, 0, 0, 0644, libzebra)
+
+ifdef PTXCONF_RIPD
+	@$(call install_copy, quagga, 0, 0, 0755, -, /usr/sbin/ripd)
+	@$(call install_alternative, quagga, 0, 0, 0644, /etc/ripd.conf)
+endif
+ifdef PTXCONF_RIPNGD
+	@$(call install_copy, quagga, 0, 0, 0755, -, /usr/sbin/ripngd)
+	@$(call install_alternative, quagga, 0, 0, 0644, /etc/ripngd.conf)
+endif
+ifdef PTXCONF_BABELD
+	@$(call install_copy, quagga, 0, 0, 0755, -, /usr/sbin/babeld)
+	@$(call install_alternative, quagga, 0, 0, 0644, /etc/babeld.conf)
+endif
+ifdef PTXCONF_BGPD
+	@$(call install_copy, quagga, 0, 0, 0755, -, /usr/sbin/bgpd)
+	@$(call install_alternative, quagga, 0, 0, 0644, /etc/bgpd.conf)
+endif
+ifdef PTXCONF_ZEBRA
+	@$(call install_copy, quagga, 0, 0, 0755, -, /usr/sbin/zebra)
+	@$(call install_alternative, quagga, 0, 0, 0644, /etc/zebra.conf)
+endif
+ifdef PTXCONF_OSPFD
+	@$(call install_copy, quagga, 0, 0, 0755, -, /usr/sbin/ospfd)
+	@$(call install_copy, quagga, 0, 0, 0755, -, /usr/sbin/ospfclient)
+	@$(call install_alternative, quagga, 0, 0, 0644, /etc/ospfd.conf)
+endif
+ifdef PTXCONF_OSPF6D
+	@$(call install_copy, quagga, 0, 0, 0755, -, /usr/sbin/ospf6d)
+	@$(call install_alternative, quagga, 0, 0, 0644, /etc/ospf6d.conf)
+endif
+ifdef PTXCONF_WATCHQUAGGA
+	@$(call install_copy, quagga, 0, 0, 0755, -, /usr/sbin/watchquagga)
+endif
+ifdef PTXCONF_VTYSH
+	@$(call install_copy, quagga, 0, 0, 0755, -, /usr/sbin/vtysh)
+	@$(call install_alternative, quagga, 0, 0, 0644, /etc/vtysh.conf)
+endif
+
+
+	@$(call install_finish, quagga)
+
+	@$(call touch)
+
+# vim: syntax=make
-- 
1.7.9.5


-- 
ptxdist mailing list
ptxdist@pengutronix.de

                 reply	other threads:[~2015-07-24  7:01 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1437728422-25140-1-git-send-email-oliver.graute@neuhaus.de \
    --to=oliver.graute@gmail.com \
    --cc=oliver.graute@neuhaus.de \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox