A PCAP parser to decode BGP messages collected with tcpdump. The parser

reads PCAP input from file system, stdin, or by listening on a network
interface. Furthermore, the parser is able to use several output filters
and pipes to tailor the output for your individual needs.

OK sthen@
This commit is contained in:
phessler 2017-01-13 14:15:41 +00:00
parent 6e45d731cb
commit 91af4ae6f0
6 changed files with 369 additions and 0 deletions

23
net/pbgpp/Makefile Normal file
View File

@ -0,0 +1,23 @@
# $OpenBSD: Makefile,v 1.1.1.1 2017/01/13 14:15:41 phessler Exp $
COMMENT = pcap bgp parser
MODPY_EGG_VERSION = 0.2.6
DISTNAME = pbgpp-${MODPY_EGG_VERSION}
CATEGORIES = net
MAINTAINER = Peter Hessler <phessler@openbsd.org>
# Apache 2.0
PERMIT_PACKAGE_CDROM = Yes
MODULES = lang/python
MODPY_PI = Yes
MODPY_SETUPTOOLS = Yes
MODPY_VERSION = ${MODPY_DEFAULT_VERSION_3}
RUN_DEPENDS = net/py-pcapy${MODPY_FLAVOR}
BUILD_DEPENDS += ${RUN_DEPENDS}
.include <bsd.port.mk>

2
net/pbgpp/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (pbgpp-0.2.6.tar.gz) = xR97xT9GShYytlQfxlMQrcAORbqZNnSkYAib+FbP41w=
SIZE (pbgpp-0.2.6.tar.gz) = 37713

View File

@ -0,0 +1,41 @@
$OpenBSD: patch-pbgpp_Application_Handler_py,v 1.1.1.1 2017/01/13 14:15:41 phessler Exp $
Avoid using Kafka
--- pbgpp/Application/Handler.py.orig Fri Nov 25 10:19:53 2016
+++ pbgpp/Application/Handler.py Fri Jan 13 12:18:39 2017
@@ -46,7 +46,7 @@ from pbgpp.Output.Formatters.JSON import JSONFormatter
from pbgpp.Output.Formatters.LineBased import LineBasedFormatter
from pbgpp.Output.Handler import OutputHandler
from pbgpp.Output.Pipes.FilePipe import FilePipe
-from pbgpp.Output.Pipes.KafkaPipe import KafkaPipe
+#from pbgpp.Output.Pipes.KafkaPipe import KafkaPipe
from pbgpp.Output.Pipes.StdOutPipe import StdOutPipe
from pbgpp.PCAP.Ethernet import PCAPEthernet
from pbgpp.PCAP.IP import PCAPIP
@@ -65,8 +65,8 @@ class PBGPPHandler:
self.fields = None
self.progress = False
- self.kafka_server = None
- self.kafka_topic = None
+# self.kafka_server = None
+# self.kafka_topic = None
self.formatter = None
self.pipe = None
@@ -241,10 +241,10 @@ class PBGPPHandler:
self.pipe = FilePipe(self.args.output_target)
elif self.args.pipe == "STDOUT":
self.pipe = StdOutPipe()
- elif self.args.pipe == "KAFKA":
- if self.args.kafka_server is None or self.args.kafka_topic is None:
- self.__parser.error("You need to specify Kafka server (--kafka-server) and topic (--kafka-topic) when using KAFKA as output pipe.")
- self.pipe = KafkaPipe(server=self.args.kafka_server, topic=self.args.kafka_topic)
+# elif self.args.pipe == "KAFKA":
+# if self.args.kafka_server is None or self.args.kafka_topic is None:
+# self.__parser.error("You need to specify Kafka server (--kafka-server) and topic (--kafka-topic) when using KAFKA as output pipe.")
+# self.pipe = KafkaPipe(server=self.args.kafka_server, topic=self.args.kafka_topic)
else:
self.__parser.error("Can't recognize the output pipe.")

View File

@ -0,0 +1,15 @@
$OpenBSD: patch-setup_py,v 1.1.1.1 2017/01/13 14:15:41 phessler Exp $
Avoid using Kafka
--- setup.py.orig Fri Jan 13 15:10:55 2017
+++ setup.py Fri Jan 13 15:11:08 2017
@@ -15,7 +15,7 @@ setup(
zip_safe=False,
packages=packages,
- install_requires=['pcapy', 'kafka-python'],
+ install_requires=['pcapy'],
entry_points={
'console_scripts': [
'pbgpp = pbgpp.Application.CLI:main'

4
net/pbgpp/pkg/DESCR Normal file
View File

@ -0,0 +1,4 @@
A PCAP parser to decode BGP messages collected with tcpdump. The parser
reads PCAP input from file system, stdin, or by listening on a network
interface. Furthermore, the parser is able to use several output filters
and pipes to tailor the output for your individual needs.

284
net/pbgpp/pkg/PLIST Normal file
View File

@ -0,0 +1,284 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2017/01/13 14:15:41 phessler Exp $
bin/pbgpp
lib/python${MODPY_VERSION}/site-packages/pbgpp/
lib/python${MODPY_VERSION}/site-packages/pbgpp-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/
lib/python${MODPY_VERSION}/site-packages/pbgpp-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/PKG-INFO
lib/python${MODPY_VERSION}/site-packages/pbgpp-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/SOURCES.txt
lib/python${MODPY_VERSION}/site-packages/pbgpp-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/dependency_links.txt
lib/python${MODPY_VERSION}/site-packages/pbgpp-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/entry_points.txt
lib/python${MODPY_VERSION}/site-packages/pbgpp-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/not-zip-safe
lib/python${MODPY_VERSION}/site-packages/pbgpp-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/requires.txt
lib/python${MODPY_VERSION}/site-packages/pbgpp-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/top_level.txt
lib/python${MODPY_VERSION}/site-packages/pbgpp/Application/
lib/python${MODPY_VERSION}/site-packages/pbgpp/Application/CLI.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Application/Handler.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Application/__init__.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Application/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/pbgpp/Application/${MODPY_PYCACHE}CLI.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Application/${MODPY_PYCACHE}Handler.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Application/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Exceptions.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Keepalive/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Keepalive/Message.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Keepalive/__init__.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Keepalive/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Keepalive/${MODPY_PYCACHE}Message.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Keepalive/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Message.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Notification/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Notification/Message.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Notification/__init__.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Notification/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Notification/${MODPY_PYCACHE}Message.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Notification/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Message.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/OptionalParameter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Authentication.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/AddPath.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/BGPExtended.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/EnhancedRouteRefresh.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/ExtendedNextHopEncoding.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/FQDN.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/GracefulRestart.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/LongLivedGracefulRestart.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/MultipleRoutesToDestination.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/MultiprotocolExtensions.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/MultisessionBGP.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/OutboundRouteFiltering.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/RouteRefresh.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/SupportForDynamicCapability.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/SupportForFourOctetAS.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/Unknown.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/__init__.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}AddPath.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}BGPExtended.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}EnhancedRouteRefresh.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}ExtendedNextHopEncoding.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}FQDN.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}GracefulRestart.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}LongLivedGracefulRestart.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}MultipleRoutesToDestination.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}MultiprotocolExtensions.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}MultisessionBGP.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}OutboundRouteFiltering.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}RouteRefresh.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}SupportForDynamicCapability.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}SupportForFourOctetAS.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}Unknown.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capabilities/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Capability.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/Reserved.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/__init__.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/${MODPY_PYCACHE}Authentication.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/${MODPY_PYCACHE}Capability.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/${MODPY_PYCACHE}Reserved.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/Parameters/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/__init__.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/${MODPY_PYCACHE}Message.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/${MODPY_PYCACHE}OptionalParameter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Open/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Packet.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/RouteRefresh/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/RouteRefresh/Message.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/RouteRefresh/__init__.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/RouteRefresh/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/RouteRefresh/${MODPY_PYCACHE}Message.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/RouteRefresh/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Statics.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Translation.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/ASPathSegment.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/Community.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/ExtendedCommunity.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/Flags.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/LargeCommunity.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/Message.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttribute.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/AIGP.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/AS4Aggregator.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/AS4Path.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/ASPath.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/ASPathLimit.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/Advertiser.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/Aggregator.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/AtomicAggregate.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/AttributeSet.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/BGPEntropyLabelCapability.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/BGPLS.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/ClusterList.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/Communities.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/ConnectorAttribute.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/DPA.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/ExtendedCommunities.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/IPv6AddressSpecificExtendedCommunity.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/LargeCommunities.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/LocalPreferences.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/MPReachNLRI.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/MPUnReachNLRI.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/MultipleExitDiscriminator.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/NextHop.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/Origin.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/OriginatorID.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/PEDistinguisherLabels.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/PMSITunnel.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/RCIDPathClusterID.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/Reserved.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/ReservedDevelopment.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/SAFISSA.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/TrafficEngineering.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/TunnelEncapsulation.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/Unknown.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/__init__.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}AIGP.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}AS4Aggregator.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}AS4Path.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}ASPath.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}ASPathLimit.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}Advertiser.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}Aggregator.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}AtomicAggregate.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}AttributeSet.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}BGPEntropyLabelCapability.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}BGPLS.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}ClusterList.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}Communities.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}ConnectorAttribute.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}DPA.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}ExtendedCommunities.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}IPv6AddressSpecificExtendedCommunity.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}LargeCommunities.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}LocalPreferences.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}MPReachNLRI.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}MPUnReachNLRI.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}MultipleExitDiscriminator.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}NextHop.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}Origin.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}OriginatorID.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}PEDistinguisherLabels.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}PMSITunnel.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}RCIDPathClusterID.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}Reserved.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}ReservedDevelopment.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}SAFISSA.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}TrafficEngineering.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}TunnelEncapsulation.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}Unknown.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/PathAttributes/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/Route.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/__init__.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/${MODPY_PYCACHE}ASPathSegment.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/${MODPY_PYCACHE}Community.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/${MODPY_PYCACHE}ExtendedCommunity.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/${MODPY_PYCACHE}Flags.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/${MODPY_PYCACHE}LargeCommunity.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/${MODPY_PYCACHE}Message.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/${MODPY_PYCACHE}PathAttribute.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/${MODPY_PYCACHE}Route.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/Update/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/__init__.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/${MODPY_PYCACHE}Exceptions.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/${MODPY_PYCACHE}Message.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/${MODPY_PYCACHE}Packet.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/${MODPY_PYCACHE}Statics.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/${MODPY_PYCACHE}Translation.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/BGP/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Exceptions.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/ASNFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/CommunityASNFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/CommunityValueFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/ErrorFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/IPDestinationFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/IPSourceFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/LargeCommunityFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/LastASNFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/MACDestinationFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/MACSourceFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/MessageSizeFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/MessageSubTypeFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/MessageTypeFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/NLRIFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/NextHopFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/TimestampFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/WithdrawnFilter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/__init__.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}ASNFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}CommunityASNFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}CommunityValueFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}ErrorFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}IPDestinationFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}IPSourceFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}LargeCommunityFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}LastASNFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}MACDestinationFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}MACSourceFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}MessageSizeFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}MessageSubTypeFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}MessageTypeFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}NLRIFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}NextHopFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}TimestampFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}WithdrawnFilter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Filters/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Formatter.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Formatters/
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Formatters/HumanReadable.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Formatters/JSON.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Formatters/LineBased.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Formatters/__init__.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Formatters/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Formatters/${MODPY_PYCACHE}HumanReadable.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Formatters/${MODPY_PYCACHE}JSON.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Formatters/${MODPY_PYCACHE}LineBased.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Formatters/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Handler.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Pipe.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Pipes/
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Pipes/FilePipe.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Pipes/KafkaPipe.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Pipes/StdOutPipe.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Pipes/__init__.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Pipes/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Pipes/${MODPY_PYCACHE}FilePipe.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Pipes/${MODPY_PYCACHE}KafkaPipe.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Pipes/${MODPY_PYCACHE}StdOutPipe.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/Pipes/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/__init__.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/${MODPY_PYCACHE}Exceptions.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/${MODPY_PYCACHE}Filter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/${MODPY_PYCACHE}Formatter.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/${MODPY_PYCACHE}Handler.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/${MODPY_PYCACHE}Pipe.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/Output/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/PCAP/
lib/python${MODPY_VERSION}/site-packages/pbgpp/PCAP/Ethernet.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/PCAP/Exceptions.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/PCAP/IP.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/PCAP/Information.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/PCAP/TCP.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/PCAP/__init__.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/PCAP/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/pbgpp/PCAP/${MODPY_PYCACHE}Ethernet.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/PCAP/${MODPY_PYCACHE}Exceptions.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/PCAP/${MODPY_PYCACHE}IP.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/PCAP/${MODPY_PYCACHE}Information.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/PCAP/${MODPY_PYCACHE}TCP.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/PCAP/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/pbgpp/__init__.py
lib/python${MODPY_VERSION}/site-packages/pbgpp/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/pbgpp/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc