<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.prolixium.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Prolixium</id>
	<title>Prolixium Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.prolixium.com/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Prolixium"/>
	<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/wiki/Special:Contributions/Prolixium"/>
	<updated>2026-04-27T17:24:56Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=833</id>
		<title>Prolixium Communications Network</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=833"/>
		<updated>2026-04-04T15:19:05Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:pcn.png|thumb|280px|Prolixium Communications Network Logo]]The Prolixium Communications Network (known also as &#039;&#039;&#039;PCN&#039;&#039;&#039;, &#039;&#039;&#039;mynet&#039;&#039;&#039;, &#039;&#039;&#039;My Network&#039;&#039;&#039;, &#039;&#039;&#039;Prolixium .NET&#039;&#039;&#039;, and &#039;&#039;&#039;My Hobby Network&#039;&#039;&#039;) is a collection of small, geographically disperse, computer networks that provide [[IPv4]] and [[IPv6]], [[VPN]], and [[VoIP]] services to the [[Kamichoff]] family.  Owned and operated solely by [[Mark Kamichoff]], PCN often serves as a testbed for various network experiments.  Some of the PCN nodes are connected via residential data services ([[cable modem]]), while others are located in [[data center|data centers]] have [[Gigabit Ethernet]] (or better) connections to the [[Internet]].&lt;br /&gt;
&lt;br /&gt;
== Current State ==&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
[[file:wan.png|thumb|PCN WAN Architecture]][[file:pcn-world.png|thumb|PCN World Map]]As of April 4, 2026, PCN is composed of several networks in the [[United States]] and across the globe, connected via [[OpenVPN]] and [[WireGuard]] with the IPv6 backbone connected via [[6in4]] tunnels:&lt;br /&gt;
&lt;br /&gt;
* [[North Brunswick, NJ]]: [[nat]].prolixium.com on [[FTTH]] via [[Verizon FiOS]]&lt;br /&gt;
* [[Piscataway, NJ]]&lt;br /&gt;
** [[excalibur]].prolixium.com on Virtual I/O via [https://www.vultr.com/ Vultr]&lt;br /&gt;
** [[dax]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Toronto, Canada]]: [[tiny]].prolixium.com on Virtual I/O via [http://atlantic.net/ atlantic.net]&lt;br /&gt;
* [[Dallas, TX]]: [[nox]].prolixium.com on Virtual I/O via [http://www.linode.com/ Linode]&lt;br /&gt;
* Dallas, TX: [[concorde]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Ashburn, VA]]: [[pegasus]].prolixium.com on Virtual I/O via [https://freerangecloud.com/ Free Range Cloud]&lt;br /&gt;
* Ashburn, VA: [[daedalus]].prolixium.com on Virtual I/O via [https://tier.net/ Tier.Net]&lt;br /&gt;
* Ashburn, VA: [[matrix]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA: [[elise]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA&lt;br /&gt;
** [[discovery]].prolixium.com via [[Verizon FiOS]]&lt;br /&gt;
** [[sprint]].prolixium.com via [[T-Mobile USA]] (5G)&lt;br /&gt;
* [[Seattle, WA]]: [[orca]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* Seattle, WA: [[interstellar]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Sarasota, FL]]: [[scimitar]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Los Angeles, CA]]: [[trident]].prolixium.com Virtual I/O via [http://www.arpnetworks.com/ ARP Networks]&lt;br /&gt;
* [[Clover, SC]]: [[trefoil]].prolixium.com on ADSL via [[Spectrum]]&lt;br /&gt;
* [[York, SC]]: [[exodus]].prolixium.com on 5G via [[AT&amp;amp;T Mobility]]&lt;br /&gt;
* [[Austin, TX]]: [[photonic]].prolixium.com on FTTH via Google Fiber&lt;br /&gt;
* [[Charlotte, NC]]: [[storm]].prolixium.com on FTTH via Google Fiber&lt;br /&gt;
* [[Arlington, VA]]: [[merlin]].prolixium.com on Ethernet via Comcast Business / Zayo&lt;br /&gt;
* [[Agawam, MA]]: [[galactica]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Amsterdam, Netherlands]]: [[firefly]].prolixium.com on Virtual I/O via [http://www.digitalocean.com/ DigitalOcean]&lt;br /&gt;
* [[Singapore]]: [[centauri]].prolixium.com on Virtual I/O via [http://ec2.amazon.com/ Amazon EC2]&lt;br /&gt;
&lt;br /&gt;
Each site has multiple OpenVPN tunnels to other locations supporting both IPv4 and IPv6.  The network is primarily powered by [[Free Range Routing]] (FRR) with some sites using [[BIRD]].&lt;br /&gt;
&lt;br /&gt;
=== Routing ===&lt;br /&gt;
&lt;br /&gt;
The routing infrastructure consists of several autonomous systems, taken from the IANA-allocated private range: 64512 through 65534.  Each site runs IBGP, possibly with a route reflector, and its own [[IGP]] for local next-hop resolution.  EBGP is used between sites and peering connections.  IPv4 Internet connectivity for each site is achieved by advertisement of default routes from boxes performing NAT.  The [[Prolixium Communications Network#Lab|lab]] is connected to [[starfire]] (core router) in Ashburn, VA.  The PCN used to use one large OSPF area with no EGP.  It was converted to a [[BGP]] confederation setup, which was a bad idea (but educational!), then reconverted to its current state.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet.png|280px|BGP on PCN]]&lt;br /&gt;
&lt;br /&gt;
=== IPv6 Connectivity ===&lt;br /&gt;
&lt;br /&gt;
IPv6 connectivity is provided by four (5) direct connections to Vultr (The Constant Company), ARP Networks, Free Range Cloud, and Tier.Net.  A Hurricane Electric BGP tunnel is used as backups off excalibur &amp;amp; trident but is depreferenced.  The border transit network piece of the PCN provides this connectivity.&lt;br /&gt;
&lt;br /&gt;
IPv6 addressing is out of 2620:6:2000::/44, which is a direct allocation from ARIN.&lt;br /&gt;
&lt;br /&gt;
==== Border Transit Network ====&lt;br /&gt;
&lt;br /&gt;
The border transit network operates in AS395460 and consists of [[excalibur]], [[trident]], [[orca]], [[pegasus]], [[daedalus]], and [[concorde]].  Connectivity is provided by the following transit peers:&lt;br /&gt;
&lt;br /&gt;
* trident: AS25795 and AS6939&lt;br /&gt;
* excalibur: AS20473 and AS6939&lt;br /&gt;
* orca: AS20473&lt;br /&gt;
* concorde: AS20473&lt;br /&gt;
* pegasus: AS53356&lt;br /&gt;
* daedalus: AS397423&lt;br /&gt;
&lt;br /&gt;
This network injects a default route into the rest of the PCN, which can be referred to PEN (Prolixium Enterprise Network).  The border network receives a full table from all transits and advertises 2620:6:2000::/44 out each peer along with some sites advertising /48 specifics for networks that are nearby.&lt;br /&gt;
&lt;br /&gt;
Hurricane Electric (AS6939) is only used as backup because it is a tunneled connection and is suspected to be throttled.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet-transit.png|280px|Border Transit Network]]&lt;br /&gt;
&lt;br /&gt;
[[file:pcn-world2-transit.png|280px|Border Transit Network Map]]&lt;br /&gt;
&lt;br /&gt;
The following hosts do not default route to the border transit network and use their own native IPv6 connectivity:&lt;br /&gt;
&lt;br /&gt;
* centauri&lt;br /&gt;
* firefly&lt;br /&gt;
* storm&lt;br /&gt;
&lt;br /&gt;
The following hosts may have IPv6 connectivity but it&#039;s not currently enabled (at time of writing):&lt;br /&gt;
&lt;br /&gt;
* exodus&lt;br /&gt;
* galactica&lt;br /&gt;
* photonic&lt;br /&gt;
&lt;br /&gt;
=== DNS ===&lt;br /&gt;
&lt;br /&gt;
[[DNS]] is done with two views: internal and external.  PCN has two external nameservers, and four internal ones, all which perform zone transfers from the master nameserver, ns3.antiderivative.net.  antiderivative.net is used for all NS records, as well as glue records at the GTLD servers.  The internal nameservers are ns{1-4} and external ones are ns{2,3}.  Each zone has two views, internal and external, and a common file that is included in both views (SOA, etc.).  The zones include the following:&lt;br /&gt;
&lt;br /&gt;
* Internal view, answering to 10/8, 172.16/12, and 192.168/16 addresses&lt;br /&gt;
** 3.10.in-addr.arpa. and 3.16.172.in-addr.arpa. reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s internal A/CNAME records&lt;br /&gt;
* External view, answering to everything !RFC1918&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s external A/CNAME records&lt;br /&gt;
* Common information, answering for all hosts&lt;br /&gt;
** 0.0.0.2.6.0.0.0.0.2.6.2.ip6.arpa., and other reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s common MX records&lt;br /&gt;
&lt;br /&gt;
Previously, the Xicada DNS Service (developed by Mark Kamichoff) kept track of all the forward delegations as well as IPv4 reverse delegations on Xicada.  The administrator of each node enumerated their zones into a web form, and then configured their DNS server to pull down a forwarders definition for all Xicada zones.  It supported BIND and djbdns, but also outputted a CSV file if someone decided to use another DNS server.  It was originally intended that each DNS server should pull down a fesh copy of the forwarders definition file nightly, but there were really no rules.&lt;br /&gt;
&lt;br /&gt;
Mark Kamichoff has a policy on his network to have DNS entries (includes A, AAAA, and PTR) for each and every active IP address.  If a host is offline, the DNS records should be immediately expunged.  This precludes the requirement of a host management system or a collection of poorly-maintained spreadsheets.  If an IP is needed, the PTR should be checked.  All [[DHCP]]-assigned IP addresses are created via {side ID}-{lastoctet}.prolixium.com.  Again, no confusion.  DNS itself is a database, so why not use it?&lt;br /&gt;
&lt;br /&gt;
All transit links on PCN are addressed using the prolixium.net domain.  The format is {unit/VLAN}.{interface}.{host}.prolixium.net.  For example, the xl1 interface on starfire would be: xl1.starfire.prolixium.net.  There is a collection of DNS entries for every IPv4 and IPv6 transit link.  There is not one hop in my network which has no PTR record (or a PTR record w/out a corresponding A or AAAA record).  Each router has a loopback interface with IPv4 and IPv6 addresses (if supported).&lt;br /&gt;
&lt;br /&gt;
=== Ashburn-Specific Setup ===&lt;br /&gt;
&lt;br /&gt;
[[file:charlotte.png|thumb|Ashburn LAN]]The network setup in Ashburn (formerly Seattle, WA and Charlotte, NC) is slightly different from the other sites, where there is a single router with a dynamic address.  In the Ashburn location there are two ISPs and they&#039;re terminated in separate LXC instances (all with VPNs to at least one of interstellar, nox, dax, or elise - the &amp;quot;enterprise&amp;quot; network):&lt;br /&gt;
&lt;br /&gt;
* discovery (on evolution) - Verizon FiOS&lt;br /&gt;
* sprint (on evolution) - Verizon Wireless (LTE)&lt;br /&gt;
&lt;br /&gt;
starfire and evolution are the two core routers with multiple Gigabit Ethernet interfaces.  The current routing setup is as follows:&lt;br /&gt;
&lt;br /&gt;
* IPv6 (Internet &amp;amp; internal) inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via VPN&lt;br /&gt;
* IPv4 Internet inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via NAT&lt;br /&gt;
* All LXCs above advertise an IPv4 default route into OSPFv2&lt;br /&gt;
* LOCAL_PREF and AS_PATH prepending influence the traffic flow&lt;br /&gt;
&lt;br /&gt;
In the case of backup, discovery is replaced with the LXC sprint.&lt;br /&gt;
&lt;br /&gt;
In the past, NetFlow was used on atlantis, which was depicted in the drawing below:&lt;br /&gt;
&lt;br /&gt;
[[file:netflow.png|280px|PCN NetFlow Setup]]&lt;br /&gt;
&lt;br /&gt;
The NetFlow collector ran [http://www.ntop.org/ ntop], but this was uninstalled due to instability.&lt;br /&gt;
&lt;br /&gt;
=== Printing ===&lt;br /&gt;
&lt;br /&gt;
The whole printing/CUPS/lpd setup is mostly an annoyance.  Most people would want to run CUPS on every Unix client on the network.  Mark Kamichoff believes it&#039;s better to have a lightweight client send a [http://en.wikipedia.org/wiki/PostScript PostScript] file via lpd to a CUPS server rather than sending a huge RAW raster stream across the network and have both the client and server do print processing.  See the diagram to the bottom:&lt;br /&gt;
&lt;br /&gt;
[[file:printing.png|280px|PCN Printing Setup]]&lt;br /&gt;
&lt;br /&gt;
=== SmokePing ===&lt;br /&gt;
&lt;br /&gt;
For monitoring, PCN uses a combination of Nagios, SmokePing, and [[MRTG]].  The SmokePing setup itself is a combination of slaves and masters, both IPv4 and IPv6.&lt;br /&gt;
&lt;br /&gt;
[[file:smokeping.png|280px|SmokePing]]&lt;br /&gt;
&lt;br /&gt;
[[nox]] is the master for a few slaves:&lt;br /&gt;
&lt;br /&gt;
* [[tiny]] - VPS connected to atlantic.net&lt;br /&gt;
* [[storm]] - RPi 5 connected to AT&amp;amp;T Fiber&lt;br /&gt;
* [[exodus]] - RPi 3 connected to AT&amp;amp;T DSL&lt;br /&gt;
* [[galactica]] - RPi 4 B connected to Comcast Xfinity&lt;br /&gt;
* [[photonic]] - RPi 4 B connected to Google Fiber&lt;br /&gt;
* [[merlin]] - RPi 3 B connected to Comcast Business / Zayo&lt;br /&gt;
* [[trefoil]] - RPi 5 connected to Spectrum&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;History is hidden by default.  Click &#039;&#039;&#039;expand&#039;&#039;&#039; to see it.&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;Warning: This entire section is written in the first-person ([[Mark Kamichoff|Mark Kamichoff&#039;s]]) point of view&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Beginnings ===&lt;br /&gt;
&lt;br /&gt;
After joining the [[http://xicada.sf.net Xicada] network back at [[RPI]], I decided to continue linking all of my networks and sites together via various VPN technologies.  At first, the network was just a simple VPN between my network at home and a few computers in my dorm room at RPI.  The connection tunnelled through RPI&#039;s firewall like a knife through warm butter, using OpenVPN&#039;s [[UDP]] encapsulation mode.  Actually, a site to site UDP tunnel was the only thing OpenVPN offered, back then.  My router at RPI was a blazing-fast [[Pentium]] 166MHz box running [[Debian GNU/Linux]].  At that point, my Xicada tunnels were terminated on another box I found in the trash, an old AMD K6-300, which eventually ran FreeBSD 4.&lt;br /&gt;
&lt;br /&gt;
The network quickly started expanding, and I was able to move the K6-300 box (starfire) into the ACM&#039;s lab, which was given a 100mbit link, in the basement of the DCC.  At this point in time, my network had three sites: home, the lab, and my dorm room.  Since I didn&#039;t stick around RPI during most summers, I reterminated the Xicada links on starfire, since it sported a more permanent link.&lt;br /&gt;
&lt;br /&gt;
Shortly after starfire was moved to the lab, I started toying with IPv6, and acquired a tunnel via Freenet6 (now Hexago, since they&#039;re actually trying to sell products, or something).  RPI&#039;s firewall wouldn&#039;t allow IP protocol 41 through the firewall, and my attempts at getting this opened up for my IP failed.  So, I terminated the IPv6 tunnel on my box at home, which sat on Optimum Online.  Freenet6 gave me a /48 block out of the 3ffe::/16 6bone space, and I started distributing /64&#039;s out to all of my LAN segments.  I started running Zebra&#039;s OSPFv3 daemon, and realized it was buggy as all get out.  It mostly worked, though.  Since Freenet6 gave me an ip6.int. delegation, I spent some time applying tons of patches to djbdns, my DNS server of choice, back then.  After tons of patching, I got IPv6 support, which was fairly neat at the time.  What did I use this new-found IPv6 connectivity for?  IRC and web site hosting. www.prolixium.com has had an AAAA record since at least 2003.&lt;br /&gt;
&lt;br /&gt;
Sometime in 2003 (I forget when), I moved my IPv6 tunnel to BTExact, British Telecom&#039;s free tunnel broker that actually gave out non-6bone /48&#039;s and ip6.arpa. DNS delegations.  I quickly moved to them, and enjoyed quicker speeds than Freenet6 for about a year.  Of course, after a year, my parents had a power outage at home, and my server lost the IP it had with OOL for the past two years.  BTExact, at that time, had frozen their tunnel broker service, and didn&#039;t allow any modifications or new tunnels to be created.  I went back to Freenet6, who had changed to 2001::/16 space.&lt;br /&gt;
&lt;br /&gt;
After leaving RPI, and getting a job, I decided to purchase a dedicated server from SagoNet.  I extended my network down to Tampa, FL, where the server was located.&lt;br /&gt;
&lt;br /&gt;
Fast-forwarding to the present day, I currently have six sites, and native IPv6 from Voxel dot Net.  Almost every host on the network is IPv6-aware, and the IPv6 connectivity is controlled completely by pf.&lt;br /&gt;
&lt;br /&gt;
Xicada connectivity at this point has been terminated, due to lack of interest.&lt;br /&gt;
&lt;br /&gt;
=== [[VLAN]] Conversion (Laundry Room Data Center) ===&lt;br /&gt;
&lt;br /&gt;
[[file:vlan.png|thumb|VLAN Setup]]I&#039;m lucky to have CAT5(e?) cabled to every room in my condo, all aggregated in the [[laundry room]], I figured it was time to deploy a couple different VLANs on my network.  Initially, I just had a dumb switch connecting all of the various ports in different rooms together.  Since that was too simple of a solution, I picked up a Cisco 2940 switch on [http://www.ebay.com/ eBay], and setup a 1Gbit trunk between starfire and the laundry room.  I setup 4x VLANs:&lt;br /&gt;
&lt;br /&gt;
* 2: Various wall jacks&lt;br /&gt;
* 3: Media center link (connected to kamikaze)&lt;br /&gt;
* 4: Linksys link (connected to mercury)&lt;br /&gt;
* 5: Lab link (connected to hysteresis)&lt;br /&gt;
&lt;br /&gt;
I ended up throwing some other gear in the laundry room along with the switch, and ended up moving my lab (3.0) there.&lt;br /&gt;
&lt;br /&gt;
=== BGP (Confederations) Conversion ===&lt;br /&gt;
&lt;br /&gt;
==== History ====&lt;br /&gt;
&lt;br /&gt;
Starting with the Xicada project, my network was one big OSPF backbone area.  Entirely flat, except for some route redistribution for the lab connection.  When I added OSPFv3 for IPv6 reachability, it was no different - one big area: no stub areas, no frills.  It worked, but was boring, and didn&#039;t provide the flexibility required if I wanted to start redirecting Internet traffic.&lt;br /&gt;
&lt;br /&gt;
After reading up on BGP, I realized I could make my network 1000% more complex, while gaining some real-world experience.  Sounds like a plan, huh?&lt;br /&gt;
Preparation and Design&lt;br /&gt;
&lt;br /&gt;
Due to some Quagga instability issues, I originally tested out some alternate BGP/OSPF implementations, including XORP.  Unfortunately, none of them fit the bill, and XORP, although promising, was horribly unstable and appeared to suffer from configuration file parsing issues, more than anything else.  So I decided to stick with Quagga.  I also decided to keep two separate BGP connections, one for IPv4 and one for IPv6 (so I didn&#039;t run into any nasty next-hop accessibility problems).&lt;br /&gt;
&lt;br /&gt;
One of the goals of the redesign was to eliminate the large network-wide IGP process and break down each site into sub-ASes, using BGP confederations and route reflectors.  This required a partial mesh of CBGP (confederation BGP - like EBGP, but more attributes are retained) between all the sites, to take advantage of the tunnels.  Unfortunately, this meant that I had to renumber all of my IPv6 tunnels, since they were all /128&#039;s.  Not a big deal.  I didn&#039;t want to do this with the IPv4 (OpenVPN) tunnels, since the documentation strongly recommended against the use of anything other than a 32-bit netmask.  This required the use of the ebgp-multihop command, since according to most [E]BGP implementations, /32&#039;s or /128&#039;s connecting to each other is not classified as &#039;directly connected&#039; for some reason.  (doesn&#039;t make sense to me, since even a TTL of 1 should theoretically allow communication to succeed)&lt;br /&gt;
&lt;br /&gt;
At each site, I wanted to run IBGP internally, and designate one box to be the route reflector, in order to loosen the IBGP full-mesh requirement.  Some of the OpenWrt devices did not have loopbacks at the time, so I needed to shuffle around some addresses and fix this.&lt;br /&gt;
&lt;br /&gt;
I&#039;d still run an IGP internal to each site (not nox or dax, since they are only one router), and advertise a default route via OSPFv2 within the site, for Internet access.  I could also advertise default routes from two different routers within a site, for redundancy and failover Internet access.&lt;br /&gt;
&lt;br /&gt;
So, here&#039;s some of the tasks I performed prior to making any routing changes:&lt;br /&gt;
&lt;br /&gt;
# Add loopbacks to all routers&lt;br /&gt;
# Redo all IPv6 tunnel interfaces, converted to /126&#039;s to avoid subnet-router anycast issues&lt;br /&gt;
# Redo tunnel naming standards (was too long before)&lt;br /&gt;
&lt;br /&gt;
==== IPv6 Migration ====&lt;br /&gt;
&lt;br /&gt;
I figured, since on most platforms, IGP routes take precedence over BGP routes, I could add all the peering relationships and get everything setup without skipping a beat.  Quagga&#039;s zebra process wouldn&#039;t insert or remove anything from the FIB (the kernel routing table).  Then I could remove OSPFv3 from all the WAN links, and zebra would just shuffle around the routes, but reachability would come back within a few minutes, maybe?&lt;br /&gt;
&lt;br /&gt;
So I started building the BGP neighbors, and quickly ran into a problem.  For some reason, no IPv6 BGP routes were being sent to other peers from Quagga&#039;s bgpd.  I posted a message to the mailing list, and quickly got a helpful response.  Apparently I was hitting a bug that&#039;s been in Quagga for awhile (typo) that dealt with the address-family negotiation between peers.  The quick fix was to add &#039;override-capability&#039; to each neighbor (or peer group) and it would accept all advertised address families.&lt;br /&gt;
&lt;br /&gt;
After all the peers were setup, I disabled [[OSPFv3]] on all the WAN links, and everything reconverged... oddly.  It looked like BGP was doing path-selection based on tiebreakers, and picking the higher peer address as the best path for a destination, even if it meant not utilizing the directly connected link.  After scratching my head for a few minutes, I realized my stupidity.  Normal BGP treats AS_CONFED_SEQUENCE and AS_CONFED_SET as a length of one, so all paths through my network looked like they had an AS path length of *1*.  Luckily, Quagga had a nice bgp bestpath as-path confed command that modified the path selection algorithm, and gave me what I wanted.  I described this a blog entry.&lt;br /&gt;
&lt;br /&gt;
Since I wanted all loopbacks and transit interfaces reachable from anywhere, I added a ton of network statements to bgpd.  It felt like a hack, but isn&#039;t too bad, since there&#039;s really no other way of doing it, without using a network-wide IGP.&lt;br /&gt;
&lt;br /&gt;
==== IPv4 Migration ====&lt;br /&gt;
&lt;br /&gt;
Since the IPv6 migration was successful, I figured the IPv4 migration would turn out the same - and it did, mostly.&lt;br /&gt;
&lt;br /&gt;
I started setting up the IPv4 BGP neighbors, and ran into a strange issue with ScreenOS.  I&#039;ve documented it here.  Basically, my two Juniper firewalls wouldn&#039;t establish IBGP connections unless they were configured as passive neighbors (wait for a connection).&lt;br /&gt;
&lt;br /&gt;
After all the IPv4 BGP connections were up and running, I killed the network-wide IGP process entirely (shut off ospfd/ospf6d on dax and nox), and let everything reconverge.  It worked out of the box - success!&lt;br /&gt;
&lt;br /&gt;
I removed the static default routes on my OpenWrt routers, and advertised defaults at each site.  No problem there.&lt;br /&gt;
&lt;br /&gt;
==== Finish ====&lt;br /&gt;
&lt;br /&gt;
Although I ran into a number of problems, and probably complicated troubleshooting of my network by an order of magnitude, I think the conversion was worth it.  Now if anyone wants to start Xicada 2.0, we can do it right, this time...&lt;br /&gt;
&lt;br /&gt;
=== EBGP Conversion ===&lt;br /&gt;
&lt;br /&gt;
I got sick of confederations, so I just removed the confederation statements and converted all of the inter-site links to straight EBGP.&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
PCN enables several applications:&lt;br /&gt;
&lt;br /&gt;
* VoIP (via [[SIP]] / G.711u)&lt;br /&gt;
* IPv6 Internet access&lt;br /&gt;
* Streaming audio&lt;br /&gt;
&lt;br /&gt;
== Lab ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Main Article: [[PCN Lab]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The PCN lab is Mark Kamichoff&#039;s network proving ground and general hacking arena.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.prolixium.com/mrtgfe PCN MRTG]&lt;br /&gt;
* [http://www.prolixium.net/ PCN Home Page]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=832</id>
		<title>File:wan.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=832"/>
		<updated>2026-04-04T15:18:44Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:wan.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PCN WAN Architecture&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=831</id>
		<title>Prolixium Communications Network</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=831"/>
		<updated>2026-04-04T15:18:24Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:pcn.png|thumb|280px|Prolixium Communications Network Logo]]The Prolixium Communications Network (known also as &#039;&#039;&#039;PCN&#039;&#039;&#039;, &#039;&#039;&#039;mynet&#039;&#039;&#039;, &#039;&#039;&#039;My Network&#039;&#039;&#039;, &#039;&#039;&#039;Prolixium .NET&#039;&#039;&#039;, and &#039;&#039;&#039;My Hobby Network&#039;&#039;&#039;) is a collection of small, geographically disperse, computer networks that provide [[IPv4]] and [[IPv6]], [[VPN]], and [[VoIP]] services to the [[Kamichoff]] family.  Owned and operated solely by [[Mark Kamichoff]], PCN often serves as a testbed for various network experiments.  Some of the PCN nodes are connected via residential data services ([[cable modem]]), while others are located in [[data center|data centers]] have [[Gigabit Ethernet]] (or better) connections to the [[Internet]].&lt;br /&gt;
&lt;br /&gt;
== Current State ==&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
[[file:wan.png|thumb|PCN WAN Architecture]][[file:pcn-world.png|thumb|PCN World Map]]As of March 10, 2024, PCN is composed of several networks in the [[United States]] and across the globe, connected via [[OpenVPN]] and [[WireGuard]] with the IPv6 backbone connected via [[6in4]] tunnels:&lt;br /&gt;
&lt;br /&gt;
* [[North Brunswick, NJ]]: [[nat]].prolixium.com on [[FTTH]] via [[Verizon FiOS]]&lt;br /&gt;
* [[Piscataway, NJ]]&lt;br /&gt;
** [[excalibur]].prolixium.com on Virtual I/O via [https://www.vultr.com/ Vultr]&lt;br /&gt;
** [[dax]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Toronto, Canada]]: [[tiny]].prolixium.com on Virtual I/O via [http://atlantic.net/ atlantic.net]&lt;br /&gt;
* [[Dallas, TX]]: [[nox]].prolixium.com on Virtual I/O via [http://www.linode.com/ Linode]&lt;br /&gt;
* Dallas, TX: [[concorde]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Ashburn, VA]]: [[pegasus]].prolixium.com on Virtual I/O via [https://freerangecloud.com/ Free Range Cloud]&lt;br /&gt;
* Ashburn, VA: [[daedalus]].prolixium.com on Virtual I/O via [https://tier.net/ Tier.Net]&lt;br /&gt;
* Ashburn, VA: [[matrix]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA: [[elise]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA&lt;br /&gt;
** [[discovery]].prolixium.com via [[Verizon FiOS]]&lt;br /&gt;
** [[sprint]].prolixium.com via [[T-Mobile USA]] (5G)&lt;br /&gt;
* [[Seattle, WA]]: [[orca]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* Seattle, WA: [[interstellar]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Sarasota, FL]]: [[scimitar]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Los Angeles, CA]]: [[trident]].prolixium.com Virtual I/O via [http://www.arpnetworks.com/ ARP Networks]&lt;br /&gt;
* [[Clover, SC]]: [[trefoil]].prolixium.com on ADSL via [[Spectrum]]&lt;br /&gt;
* [[York, SC]]: [[exodus]].prolixium.com on 5G via [[AT&amp;amp;T Mobility]]&lt;br /&gt;
* [[Austin, TX]]: [[photonic]].prolixium.com on FTTH via Google Fiber&lt;br /&gt;
* [[Charlotte, NC]]: [[storm]].prolixium.com on FTTH via Google Fiber&lt;br /&gt;
* [[Arlington, VA]]: [[merlin]].prolixium.com on Ethernet via Comcast Business / Zayo&lt;br /&gt;
* [[Agawam, MA]]: [[galactica]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Amsterdam, Netherlands]]: [[firefly]].prolixium.com on Virtual I/O via [http://www.digitalocean.com/ DigitalOcean]&lt;br /&gt;
* [[Singapore]]: [[centauri]].prolixium.com on Virtual I/O via [http://ec2.amazon.com/ Amazon EC2]&lt;br /&gt;
&lt;br /&gt;
Each site has multiple OpenVPN tunnels to other locations supporting both IPv4 and IPv6.  The network is primarily powered by [[Free Range Routing]] (FRR) with some sites using [[BIRD]].&lt;br /&gt;
&lt;br /&gt;
=== Routing ===&lt;br /&gt;
&lt;br /&gt;
The routing infrastructure consists of several autonomous systems, taken from the IANA-allocated private range: 64512 through 65534.  Each site runs IBGP, possibly with a route reflector, and its own [[IGP]] for local next-hop resolution.  EBGP is used between sites and peering connections.  IPv4 Internet connectivity for each site is achieved by advertisement of default routes from boxes performing NAT.  The [[Prolixium Communications Network#Lab|lab]] is connected to [[starfire]] (core router) in Ashburn, VA.  The PCN used to use one large OSPF area with no EGP.  It was converted to a [[BGP]] confederation setup, which was a bad idea (but educational!), then reconverted to its current state.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet.png|280px|BGP on PCN]]&lt;br /&gt;
&lt;br /&gt;
=== IPv6 Connectivity ===&lt;br /&gt;
&lt;br /&gt;
IPv6 connectivity is provided by four (5) direct connections to Vultr (The Constant Company), ARP Networks, Free Range Cloud, and Tier.Net.  A Hurricane Electric BGP tunnel is used as backups off excalibur &amp;amp; trident but is depreferenced.  The border transit network piece of the PCN provides this connectivity.&lt;br /&gt;
&lt;br /&gt;
IPv6 addressing is out of 2620:6:2000::/44, which is a direct allocation from ARIN.&lt;br /&gt;
&lt;br /&gt;
==== Border Transit Network ====&lt;br /&gt;
&lt;br /&gt;
The border transit network operates in AS395460 and consists of [[excalibur]], [[trident]], [[orca]], [[pegasus]], [[daedalus]], and [[concorde]].  Connectivity is provided by the following transit peers:&lt;br /&gt;
&lt;br /&gt;
* trident: AS25795 and AS6939&lt;br /&gt;
* excalibur: AS20473 and AS6939&lt;br /&gt;
* orca: AS20473&lt;br /&gt;
* concorde: AS20473&lt;br /&gt;
* pegasus: AS53356&lt;br /&gt;
* daedalus: AS397423&lt;br /&gt;
&lt;br /&gt;
This network injects a default route into the rest of the PCN, which can be referred to PEN (Prolixium Enterprise Network).  The border network receives a full table from all transits and advertises 2620:6:2000::/44 out each peer along with some sites advertising /48 specifics for networks that are nearby.&lt;br /&gt;
&lt;br /&gt;
Hurricane Electric (AS6939) is only used as backup because it is a tunneled connection and is suspected to be throttled.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet-transit.png|280px|Border Transit Network]]&lt;br /&gt;
&lt;br /&gt;
[[file:pcn-world2-transit.png|280px|Border Transit Network Map]]&lt;br /&gt;
&lt;br /&gt;
The following hosts do not default route to the border transit network and use their own native IPv6 connectivity:&lt;br /&gt;
&lt;br /&gt;
* centauri&lt;br /&gt;
* firefly&lt;br /&gt;
* storm&lt;br /&gt;
&lt;br /&gt;
The following hosts may have IPv6 connectivity but it&#039;s not currently enabled (at time of writing):&lt;br /&gt;
&lt;br /&gt;
* exodus&lt;br /&gt;
* galactica&lt;br /&gt;
* photonic&lt;br /&gt;
&lt;br /&gt;
=== DNS ===&lt;br /&gt;
&lt;br /&gt;
[[DNS]] is done with two views: internal and external.  PCN has two external nameservers, and four internal ones, all which perform zone transfers from the master nameserver, ns3.antiderivative.net.  antiderivative.net is used for all NS records, as well as glue records at the GTLD servers.  The internal nameservers are ns{1-4} and external ones are ns{2,3}.  Each zone has two views, internal and external, and a common file that is included in both views (SOA, etc.).  The zones include the following:&lt;br /&gt;
&lt;br /&gt;
* Internal view, answering to 10/8, 172.16/12, and 192.168/16 addresses&lt;br /&gt;
** 3.10.in-addr.arpa. and 3.16.172.in-addr.arpa. reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s internal A/CNAME records&lt;br /&gt;
* External view, answering to everything !RFC1918&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s external A/CNAME records&lt;br /&gt;
* Common information, answering for all hosts&lt;br /&gt;
** 0.0.0.2.6.0.0.0.0.2.6.2.ip6.arpa., and other reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s common MX records&lt;br /&gt;
&lt;br /&gt;
Previously, the Xicada DNS Service (developed by Mark Kamichoff) kept track of all the forward delegations as well as IPv4 reverse delegations on Xicada.  The administrator of each node enumerated their zones into a web form, and then configured their DNS server to pull down a forwarders definition for all Xicada zones.  It supported BIND and djbdns, but also outputted a CSV file if someone decided to use another DNS server.  It was originally intended that each DNS server should pull down a fesh copy of the forwarders definition file nightly, but there were really no rules.&lt;br /&gt;
&lt;br /&gt;
Mark Kamichoff has a policy on his network to have DNS entries (includes A, AAAA, and PTR) for each and every active IP address.  If a host is offline, the DNS records should be immediately expunged.  This precludes the requirement of a host management system or a collection of poorly-maintained spreadsheets.  If an IP is needed, the PTR should be checked.  All [[DHCP]]-assigned IP addresses are created via {side ID}-{lastoctet}.prolixium.com.  Again, no confusion.  DNS itself is a database, so why not use it?&lt;br /&gt;
&lt;br /&gt;
All transit links on PCN are addressed using the prolixium.net domain.  The format is {unit/VLAN}.{interface}.{host}.prolixium.net.  For example, the xl1 interface on starfire would be: xl1.starfire.prolixium.net.  There is a collection of DNS entries for every IPv4 and IPv6 transit link.  There is not one hop in my network which has no PTR record (or a PTR record w/out a corresponding A or AAAA record).  Each router has a loopback interface with IPv4 and IPv6 addresses (if supported).&lt;br /&gt;
&lt;br /&gt;
=== Ashburn-Specific Setup ===&lt;br /&gt;
&lt;br /&gt;
[[file:charlotte.png|thumb|Ashburn LAN]]The network setup in Ashburn (formerly Seattle, WA and Charlotte, NC) is slightly different from the other sites, where there is a single router with a dynamic address.  In the Ashburn location there are two ISPs and they&#039;re terminated in separate LXC instances (all with VPNs to at least one of interstellar, nox, dax, or elise - the &amp;quot;enterprise&amp;quot; network):&lt;br /&gt;
&lt;br /&gt;
* discovery (on evolution) - Verizon FiOS&lt;br /&gt;
* sprint (on evolution) - Verizon Wireless (LTE)&lt;br /&gt;
&lt;br /&gt;
starfire and evolution are the two core routers with multiple Gigabit Ethernet interfaces.  The current routing setup is as follows:&lt;br /&gt;
&lt;br /&gt;
* IPv6 (Internet &amp;amp; internal) inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via VPN&lt;br /&gt;
* IPv4 Internet inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via NAT&lt;br /&gt;
* All LXCs above advertise an IPv4 default route into OSPFv2&lt;br /&gt;
* LOCAL_PREF and AS_PATH prepending influence the traffic flow&lt;br /&gt;
&lt;br /&gt;
In the case of backup, discovery is replaced with the LXC sprint.&lt;br /&gt;
&lt;br /&gt;
In the past, NetFlow was used on atlantis, which was depicted in the drawing below:&lt;br /&gt;
&lt;br /&gt;
[[file:netflow.png|280px|PCN NetFlow Setup]]&lt;br /&gt;
&lt;br /&gt;
The NetFlow collector ran [http://www.ntop.org/ ntop], but this was uninstalled due to instability.&lt;br /&gt;
&lt;br /&gt;
=== Printing ===&lt;br /&gt;
&lt;br /&gt;
The whole printing/CUPS/lpd setup is mostly an annoyance.  Most people would want to run CUPS on every Unix client on the network.  Mark Kamichoff believes it&#039;s better to have a lightweight client send a [http://en.wikipedia.org/wiki/PostScript PostScript] file via lpd to a CUPS server rather than sending a huge RAW raster stream across the network and have both the client and server do print processing.  See the diagram to the bottom:&lt;br /&gt;
&lt;br /&gt;
[[file:printing.png|280px|PCN Printing Setup]]&lt;br /&gt;
&lt;br /&gt;
=== SmokePing ===&lt;br /&gt;
&lt;br /&gt;
For monitoring, PCN uses a combination of Nagios, SmokePing, and [[MRTG]].  The SmokePing setup itself is a combination of slaves and masters, both IPv4 and IPv6.&lt;br /&gt;
&lt;br /&gt;
[[file:smokeping.png|280px|SmokePing]]&lt;br /&gt;
&lt;br /&gt;
[[nox]] is the master for a few slaves:&lt;br /&gt;
&lt;br /&gt;
* [[tiny]] - VPS connected to atlantic.net&lt;br /&gt;
* [[storm]] - RPi 5 connected to AT&amp;amp;T Fiber&lt;br /&gt;
* [[exodus]] - RPi 3 connected to AT&amp;amp;T DSL&lt;br /&gt;
* [[galactica]] - RPi 4 B connected to Comcast Xfinity&lt;br /&gt;
* [[photonic]] - RPi 4 B connected to Google Fiber&lt;br /&gt;
* [[merlin]] - RPi 3 B connected to Comcast Business / Zayo&lt;br /&gt;
* [[trefoil]] - RPi 5 connected to Spectrum&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;History is hidden by default.  Click &#039;&#039;&#039;expand&#039;&#039;&#039; to see it.&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;Warning: This entire section is written in the first-person ([[Mark Kamichoff|Mark Kamichoff&#039;s]]) point of view&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Beginnings ===&lt;br /&gt;
&lt;br /&gt;
After joining the [[http://xicada.sf.net Xicada] network back at [[RPI]], I decided to continue linking all of my networks and sites together via various VPN technologies.  At first, the network was just a simple VPN between my network at home and a few computers in my dorm room at RPI.  The connection tunnelled through RPI&#039;s firewall like a knife through warm butter, using OpenVPN&#039;s [[UDP]] encapsulation mode.  Actually, a site to site UDP tunnel was the only thing OpenVPN offered, back then.  My router at RPI was a blazing-fast [[Pentium]] 166MHz box running [[Debian GNU/Linux]].  At that point, my Xicada tunnels were terminated on another box I found in the trash, an old AMD K6-300, which eventually ran FreeBSD 4.&lt;br /&gt;
&lt;br /&gt;
The network quickly started expanding, and I was able to move the K6-300 box (starfire) into the ACM&#039;s lab, which was given a 100mbit link, in the basement of the DCC.  At this point in time, my network had three sites: home, the lab, and my dorm room.  Since I didn&#039;t stick around RPI during most summers, I reterminated the Xicada links on starfire, since it sported a more permanent link.&lt;br /&gt;
&lt;br /&gt;
Shortly after starfire was moved to the lab, I started toying with IPv6, and acquired a tunnel via Freenet6 (now Hexago, since they&#039;re actually trying to sell products, or something).  RPI&#039;s firewall wouldn&#039;t allow IP protocol 41 through the firewall, and my attempts at getting this opened up for my IP failed.  So, I terminated the IPv6 tunnel on my box at home, which sat on Optimum Online.  Freenet6 gave me a /48 block out of the 3ffe::/16 6bone space, and I started distributing /64&#039;s out to all of my LAN segments.  I started running Zebra&#039;s OSPFv3 daemon, and realized it was buggy as all get out.  It mostly worked, though.  Since Freenet6 gave me an ip6.int. delegation, I spent some time applying tons of patches to djbdns, my DNS server of choice, back then.  After tons of patching, I got IPv6 support, which was fairly neat at the time.  What did I use this new-found IPv6 connectivity for?  IRC and web site hosting. www.prolixium.com has had an AAAA record since at least 2003.&lt;br /&gt;
&lt;br /&gt;
Sometime in 2003 (I forget when), I moved my IPv6 tunnel to BTExact, British Telecom&#039;s free tunnel broker that actually gave out non-6bone /48&#039;s and ip6.arpa. DNS delegations.  I quickly moved to them, and enjoyed quicker speeds than Freenet6 for about a year.  Of course, after a year, my parents had a power outage at home, and my server lost the IP it had with OOL for the past two years.  BTExact, at that time, had frozen their tunnel broker service, and didn&#039;t allow any modifications or new tunnels to be created.  I went back to Freenet6, who had changed to 2001::/16 space.&lt;br /&gt;
&lt;br /&gt;
After leaving RPI, and getting a job, I decided to purchase a dedicated server from SagoNet.  I extended my network down to Tampa, FL, where the server was located.&lt;br /&gt;
&lt;br /&gt;
Fast-forwarding to the present day, I currently have six sites, and native IPv6 from Voxel dot Net.  Almost every host on the network is IPv6-aware, and the IPv6 connectivity is controlled completely by pf.&lt;br /&gt;
&lt;br /&gt;
Xicada connectivity at this point has been terminated, due to lack of interest.&lt;br /&gt;
&lt;br /&gt;
=== [[VLAN]] Conversion (Laundry Room Data Center) ===&lt;br /&gt;
&lt;br /&gt;
[[file:vlan.png|thumb|VLAN Setup]]I&#039;m lucky to have CAT5(e?) cabled to every room in my condo, all aggregated in the [[laundry room]], I figured it was time to deploy a couple different VLANs on my network.  Initially, I just had a dumb switch connecting all of the various ports in different rooms together.  Since that was too simple of a solution, I picked up a Cisco 2940 switch on [http://www.ebay.com/ eBay], and setup a 1Gbit trunk between starfire and the laundry room.  I setup 4x VLANs:&lt;br /&gt;
&lt;br /&gt;
* 2: Various wall jacks&lt;br /&gt;
* 3: Media center link (connected to kamikaze)&lt;br /&gt;
* 4: Linksys link (connected to mercury)&lt;br /&gt;
* 5: Lab link (connected to hysteresis)&lt;br /&gt;
&lt;br /&gt;
I ended up throwing some other gear in the laundry room along with the switch, and ended up moving my lab (3.0) there.&lt;br /&gt;
&lt;br /&gt;
=== BGP (Confederations) Conversion ===&lt;br /&gt;
&lt;br /&gt;
==== History ====&lt;br /&gt;
&lt;br /&gt;
Starting with the Xicada project, my network was one big OSPF backbone area.  Entirely flat, except for some route redistribution for the lab connection.  When I added OSPFv3 for IPv6 reachability, it was no different - one big area: no stub areas, no frills.  It worked, but was boring, and didn&#039;t provide the flexibility required if I wanted to start redirecting Internet traffic.&lt;br /&gt;
&lt;br /&gt;
After reading up on BGP, I realized I could make my network 1000% more complex, while gaining some real-world experience.  Sounds like a plan, huh?&lt;br /&gt;
Preparation and Design&lt;br /&gt;
&lt;br /&gt;
Due to some Quagga instability issues, I originally tested out some alternate BGP/OSPF implementations, including XORP.  Unfortunately, none of them fit the bill, and XORP, although promising, was horribly unstable and appeared to suffer from configuration file parsing issues, more than anything else.  So I decided to stick with Quagga.  I also decided to keep two separate BGP connections, one for IPv4 and one for IPv6 (so I didn&#039;t run into any nasty next-hop accessibility problems).&lt;br /&gt;
&lt;br /&gt;
One of the goals of the redesign was to eliminate the large network-wide IGP process and break down each site into sub-ASes, using BGP confederations and route reflectors.  This required a partial mesh of CBGP (confederation BGP - like EBGP, but more attributes are retained) between all the sites, to take advantage of the tunnels.  Unfortunately, this meant that I had to renumber all of my IPv6 tunnels, since they were all /128&#039;s.  Not a big deal.  I didn&#039;t want to do this with the IPv4 (OpenVPN) tunnels, since the documentation strongly recommended against the use of anything other than a 32-bit netmask.  This required the use of the ebgp-multihop command, since according to most [E]BGP implementations, /32&#039;s or /128&#039;s connecting to each other is not classified as &#039;directly connected&#039; for some reason.  (doesn&#039;t make sense to me, since even a TTL of 1 should theoretically allow communication to succeed)&lt;br /&gt;
&lt;br /&gt;
At each site, I wanted to run IBGP internally, and designate one box to be the route reflector, in order to loosen the IBGP full-mesh requirement.  Some of the OpenWrt devices did not have loopbacks at the time, so I needed to shuffle around some addresses and fix this.&lt;br /&gt;
&lt;br /&gt;
I&#039;d still run an IGP internal to each site (not nox or dax, since they are only one router), and advertise a default route via OSPFv2 within the site, for Internet access.  I could also advertise default routes from two different routers within a site, for redundancy and failover Internet access.&lt;br /&gt;
&lt;br /&gt;
So, here&#039;s some of the tasks I performed prior to making any routing changes:&lt;br /&gt;
&lt;br /&gt;
# Add loopbacks to all routers&lt;br /&gt;
# Redo all IPv6 tunnel interfaces, converted to /126&#039;s to avoid subnet-router anycast issues&lt;br /&gt;
# Redo tunnel naming standards (was too long before)&lt;br /&gt;
&lt;br /&gt;
==== IPv6 Migration ====&lt;br /&gt;
&lt;br /&gt;
I figured, since on most platforms, IGP routes take precedence over BGP routes, I could add all the peering relationships and get everything setup without skipping a beat.  Quagga&#039;s zebra process wouldn&#039;t insert or remove anything from the FIB (the kernel routing table).  Then I could remove OSPFv3 from all the WAN links, and zebra would just shuffle around the routes, but reachability would come back within a few minutes, maybe?&lt;br /&gt;
&lt;br /&gt;
So I started building the BGP neighbors, and quickly ran into a problem.  For some reason, no IPv6 BGP routes were being sent to other peers from Quagga&#039;s bgpd.  I posted a message to the mailing list, and quickly got a helpful response.  Apparently I was hitting a bug that&#039;s been in Quagga for awhile (typo) that dealt with the address-family negotiation between peers.  The quick fix was to add &#039;override-capability&#039; to each neighbor (or peer group) and it would accept all advertised address families.&lt;br /&gt;
&lt;br /&gt;
After all the peers were setup, I disabled [[OSPFv3]] on all the WAN links, and everything reconverged... oddly.  It looked like BGP was doing path-selection based on tiebreakers, and picking the higher peer address as the best path for a destination, even if it meant not utilizing the directly connected link.  After scratching my head for a few minutes, I realized my stupidity.  Normal BGP treats AS_CONFED_SEQUENCE and AS_CONFED_SET as a length of one, so all paths through my network looked like they had an AS path length of *1*.  Luckily, Quagga had a nice bgp bestpath as-path confed command that modified the path selection algorithm, and gave me what I wanted.  I described this a blog entry.&lt;br /&gt;
&lt;br /&gt;
Since I wanted all loopbacks and transit interfaces reachable from anywhere, I added a ton of network statements to bgpd.  It felt like a hack, but isn&#039;t too bad, since there&#039;s really no other way of doing it, without using a network-wide IGP.&lt;br /&gt;
&lt;br /&gt;
==== IPv4 Migration ====&lt;br /&gt;
&lt;br /&gt;
Since the IPv6 migration was successful, I figured the IPv4 migration would turn out the same - and it did, mostly.&lt;br /&gt;
&lt;br /&gt;
I started setting up the IPv4 BGP neighbors, and ran into a strange issue with ScreenOS.  I&#039;ve documented it here.  Basically, my two Juniper firewalls wouldn&#039;t establish IBGP connections unless they were configured as passive neighbors (wait for a connection).&lt;br /&gt;
&lt;br /&gt;
After all the IPv4 BGP connections were up and running, I killed the network-wide IGP process entirely (shut off ospfd/ospf6d on dax and nox), and let everything reconverge.  It worked out of the box - success!&lt;br /&gt;
&lt;br /&gt;
I removed the static default routes on my OpenWrt routers, and advertised defaults at each site.  No problem there.&lt;br /&gt;
&lt;br /&gt;
==== Finish ====&lt;br /&gt;
&lt;br /&gt;
Although I ran into a number of problems, and probably complicated troubleshooting of my network by an order of magnitude, I think the conversion was worth it.  Now if anyone wants to start Xicada 2.0, we can do it right, this time...&lt;br /&gt;
&lt;br /&gt;
=== EBGP Conversion ===&lt;br /&gt;
&lt;br /&gt;
I got sick of confederations, so I just removed the confederation statements and converted all of the inter-site links to straight EBGP.&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
PCN enables several applications:&lt;br /&gt;
&lt;br /&gt;
* VoIP (via [[SIP]] / G.711u)&lt;br /&gt;
* IPv6 Internet access&lt;br /&gt;
* Streaming audio&lt;br /&gt;
&lt;br /&gt;
== Lab ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Main Article: [[PCN Lab]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The PCN lab is Mark Kamichoff&#039;s network proving ground and general hacking arena.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.prolixium.com/mrtgfe PCN MRTG]&lt;br /&gt;
* [http://www.prolixium.net/ PCN Home Page]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Movies_seen_by_Mark_Kamichoff&amp;diff=830</id>
		<title>Movies seen by Mark Kamichoff</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Movies_seen_by_Mark_Kamichoff&amp;diff=830"/>
		<updated>2026-03-29T20:06:22Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Mark Kamichoff]] recently started keeping track of what movies he&#039;s seen.&lt;br /&gt;
&lt;br /&gt;
== 2007 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465602/ Shoot &#039;Em Up] || 2007/09/08 22:00 [[EDT]] || Entertaining || [http://en.wikipedia.org/wiki/Regal_Entertainment_Group Regal Entertainment Group]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0431197/ The Kingdom] || 2007/09/28 17:35 EDT || Entertaining || [http://en.wikipedia.org/wiki/AMC_Theatres AMC Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465538/ Michael Clayton] || 2007/10/19 20:05 EDT || [[Good]] || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0765429/ American Gangster] || 2007/11/09 19:40 [[EST]] || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0480249/ I Am Legend] || 2007/12/15 21:50 EST || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465234/ National Treasure: Book of Secrets] || 2007/12/28 20:25 EST || Boring || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2008 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0880578/ Untraceable] || 2008/02/09 20:00 EST || Unsettling || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1060277/ Cloverfield] || 2008/02/14 19:05 EST || Wow || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443274/ Vantage Point] || 2008/02/22 20:15 EST || Predictable || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0478087/ 21] || 2008/03/29 19:50 EST || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1091617/ Expelled: No Intelligence Allowed] || 2008/04/23 19:25 EDT || Revealing || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0411061/ 88 Minutes] || 2008/04/25 19:30 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0371746/ Iron Man] || 2008/05/07 20:00 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0367882/ Indiana Jones and the Kingdom of the Crystal Skull] || 2008/05/23 18:45 EDT || Entertaining || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0493464/ Wanted] || 2008/06/27 19:55 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0468569/ The Dark Night] || 2008/07/18 21:00 EDT || Awesome (but too long) || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443701/ The X Files: I Want to Believe] || 2008/07/25 19:55 EDT || Blasphemous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0988047/ Traitor] || 2008/09/01 19:50 EDT || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1034331/ Righteous Kill] || 2008/09/12 20:30 EDT || Interesting || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0887883/ Burn After Reading] || 2008/09/19 19:20 EDT || Hilarious || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0830515/ Quantum of Solace] || 2008/11/15 15:55 EST || [http://www.imdb.com/title/tt0381061/ Casino Royale] was better || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2009 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0421715/ The Curious Case of Benjamin Button] || 2009/01/09 22:00 EST || Excellent || [http://www.mezcharlotte.com/ MEZ]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1114740/ Paul Blart: Mall Cop] || 2009/02/06 19:05 EST || Painful, yet humorous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0963178/ The International] || 2009/03/14 16:00 EDT || Banks are evil? || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0473705/ State of Play] || 2009/04/24 19:45 EDT || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0458525/ X-Men Origins: Wolverine] || 2009/04/30 21:20 EDT || Action-packed || [http://www.ayrsleycinemas.com/ Ayrsley Cinemas]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0796366/ Star Trek] || 2009/05/07 19:45 EDT || [http://www.prolixium.com/mynews?id=839 Good] || Ayrsley Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek || 2009/05/08 16:50 EDT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek || 2009/05/09 21:30 EDT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0808151/ Angels &amp;amp; Demons] || 2009/05/15 19:30 EDT || Book was better, except for the end || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek ([[IMAX]]) || 2009/05/20 19:15 EDT || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1049413/ Up] || 2009/06/12 19:00 EDT || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0417741/ Harry Potter and the Half-Blood Prince] || 2009/08/01 16:30 EDT || Blah || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0361748/ Inglorious Basterds] || 2009/08/23 16:00 EDT || Violent || Ayrsley Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1136608/ District 9] || 2009/08/29 17:40 PDT || Surprising || [http://www.pacifictheatres.com/ Pacific Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1190080/ 2012] || 2009/11/24 12:05 EST || Thrilling || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0499549/ Avatar] [[3D]] || 2009/12/26 23:30 EST || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2010 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1228705/ Iron Man 2] || 2010/05/07 22:00 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0944835/ Salt] || 2010/07/24 13:50 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1323594/ Despicable Me] 3D || 2010/07/30 19:10 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1375666/ Inception] || 2010/08/07 15:25 EDT || Intriguing || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1001526/ Megamind] 3D || 2010/11/27 17:50 EST || Quite good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1104001/ Tron: Legacy] 3D || 2010/12/17 16:00 EST || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0980970/ The Chronicles of Narnia: The Voyage of the Dawn Treader] || 2010/12/23 18:50 EST || Not bad || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2011 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0970866/ Little Fockers] || 2011/01/02 16:30 EST || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0993842/ Hanna] || 2011/05/07 19:20 EDT || Strange || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0458339/ Captain America: The First Avenger] || 2011/08/07 14:35 EDT || Exciting || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1509767/ The Three Musketeers] || 2011/11/04 22:25 EDT || Fun || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1568911/ War Horse] || 2011/12/29 15:35 EST || Meh || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1229238/ Mission: Impossible - Ghost Protocol] (IMAX) || 2012/01/06 22:10 EST || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0477302/ Extremely Loud and Incredibly Close] || 2012/01/20 21:40 EST || Well done || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1591479/ Act of Valor] || 2012/03/02 22:50 EST || Powerful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1232829/ 21 Jump Street] || 2012/03/30 22:00 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0848228/ The Avengers] || 2012/05/05 21:30 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1409024/ Men in Black III] || 2012/06/09 16:10 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2215285/ Madea&#039;s Witness Protection] || 2012/06/30 16:10 EDT || Humorous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1345836/ The Dark Night Rises] || 2012/07/27 21:00 EDT || Excellent || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790886/ The Campaign] || 2012/08/18 16:50 EDT || Funny, but over the line || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1276104/ Looper] || 2012/10/06 19:30 EDT || Strange || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1074638/ Skyfall] || 2012/11/10 17:20 EST || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443272/ Lincoln] || 2012/11/22 19:30 EST || Good || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 == &lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1707386/ Les Miserables] || 2013/01/01 16:00 EST || Masterpiece || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790885/ Zero Dark Thirty] || 2013/01/26 16:35 EST || Dramatic || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1606378/ A Good Day to Die Hard] || 2013/02/23 17:40 EST || Explosive || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1623205/ Oz the Great and Powerful] || 2013/03/23 17:05 EDT || Childish || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1483013/ Oblivion] || 2013/04/19 22:20 EDT || Beautiful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1300854/ Iron Man 3] || 2013/05/10 19:15 EDT || Exciting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1408101/ Star Trek Into Darkness] (IMAX 3D) || 2013/05/18 12:50 EDT || Enjoyable || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek Into Darkness || 2013/06/15 19:00 EDT || Enjoyable || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek Into Darkness || 2013/06/30 15:20 EDT || Enjoyable || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0770828/ Man of Steel] || 2013/07/04 17:30 EDT || Gratuitous Destruction || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1723121/ We&#039;re the Millers] || 2013/08/17 20:10 EDT || Funny, but vulgar || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2357129/ Jobs] || 2013/08/19 19:20 EDT || Inspiring || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1411250/ Riddick] || 2013/09/10 19:40 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1837703/ The Fifth Estate] || 2013/10/23 19:30 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1535109/ Captain Phillips] || 2013/10/26 21:15 EDT || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1981115/ Thor: The Dark World] || 2013/11/10 19:00 EST || Mostly Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3063516/ Jackass Presents: Bad Grandpa] || 2013/11/23 19:00 EST || Funny || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1205537/ Jack Ryan: Shadow Recruit] || 2014/01/25 17:20 EST || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1418377/ I, Frankenstein] || 2014/02/15 20:00 EST || Strange, but good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2872732/ Lucy] || 2014/08/02 14:10 PDT || Disappointing || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790864/ The Maze Runner] || 2014/10/11 15:25 PDT || Great || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0816692/ Interstellar] || 2014/11/09 14:10 PST || Great || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1809398/ Unbroken] || 2014/12/25 19:40 EST || Long, Unsettling || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2015 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2395427/ Avengers: Age of Ultron] || 2015/05/15 17:30 PDT || Silly || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0369610/ Jurassic World] || 2015/06/20 13:05 PDT || Greedy || [https://en.wikipedia.org/wiki/Cinemark_Theatres Cinemark Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt4046784/ Maze Runner: The Scorch Trials] || 2015/09/19 16:15 PDT || Didn&#039;t match the book || Cinemark Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2279339/ Love the Coopers] || 2015/11/25 12:40 EST || Alright || Regal Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2488496/ Star Wars: The Force Awakens] || 2015/12/29 13:45 EST || Great || Ayrsley Cinemas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2016 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2277860/ Finding Dory] || 2016/06/25 16:20 PDT || Fun || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2709768/ The Secret Life of Pets] || 2016/07/09 14:00 PDT || Fun || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2660888/ Star Trek Beyond] || 2016/07/31 13:30 PDT || Too Much Action || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2387499/ Keeping Up with the Joneses] || 2016/10/29 11:50 PT || Fun || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2543164/ Arrival] || 2016/11/19 16:05 PT || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3183660/ Fantastic Beasts and Where to Find Them] || 2016/12/04 13:30 PT || Alright || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2017 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3748528/ Rogue One: A Star Wars Story] || 2017/01/02 11:30 PT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1219827/ Ghost in the Shell] || 2017/04/08 10:20 PT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3896198/ Guardians of the Galaxy Vol. 2] || 2017/06/11 14:15 PT || Excellent || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3469046/ Despicable Me 3] || 2017/07/04 14:45 PT || Mildly Funny || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2239822/ Valerian and the City of a Thousand Planets] || 2017/07/29 17:10 PT || Decent || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1856101/ Blade Runner 2049] || 2017/10/22 1510 PT || Need to rewatch the original || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3501632/ Thor: Ragnarok] || 2017/12/02 1540 PT || Funny || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2527336/ Star Wars: The Last Jedi] || 2017/12/18 1215 PT || Entertaining || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Wars: The Last Jedi || 2017/12/25 1930 ET || Entertaining || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2018 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1825683/ Black Panther] || 2018-03-17 1045 PT || Lived up to the hype || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt4154756/ Avengers: Infinity War] || 2018-04-27 1645 PT || Wow || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt4123430/ Fantastic Beasts: The Crimes of Grindelwald] || 2018-12-09 1500 PST || Meh || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2019 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt2527338/ Star Wars: Episode IX - The Rise of Skywalker] || 2019-12-25 1515 PST || Decent || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2021 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1160419/ Dune] || 2021-10-22 2040 PDT || Good || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2022 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1745960/ Top Gun: Maverick] || 2022-06-25 1615 EDT || Great || [https://en.wikipedia.org/wiki/Alamo_Drafthouse_Cinema Alamo Drafhouse Cinema]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2023 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt6791350/ Guardians of the Galaxy Vol. 3] || 2023-05-06 1615 EDT || Good || Alamo Drafhouse Cinema&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1462764/ Indiana Jones and the Dial of Destiny] || 2023-07-04 1100 EDT || Good || Alamo Drafhouse Cinema&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt15398776/ Oppenheimer] || 2023-07-22 0940 EDT || Monumental || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2024 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1856080/ The Boys in the Boat] || 2024-01-01 1535 EST || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2026 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt12042730/ Project Hail Mary] || 2026-03-29 1130 EDT || Excellent || [https://www.cmxcinemas.com/ CMX Cinemas]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Movies_seen_by_Mark_Kamichoff&amp;diff=829</id>
		<title>Movies seen by Mark Kamichoff</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Movies_seen_by_Mark_Kamichoff&amp;diff=829"/>
		<updated>2026-03-29T20:05:49Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Mark Kamichoff]] recently started keeping track of what movies he&#039;s seen.&lt;br /&gt;
&lt;br /&gt;
== 2007 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465602/ Shoot &#039;Em Up] || 2007/09/08 22:00 [[EDT]] || Entertaining || [http://en.wikipedia.org/wiki/Regal_Entertainment_Group Regal Entertainment Group]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0431197/ The Kingdom] || 2007/09/28 17:35 EDT || Entertaining || [http://en.wikipedia.org/wiki/AMC_Theatres AMC Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465538/ Michael Clayton] || 2007/10/19 20:05 EDT || [[Good]] || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0765429/ American Gangster] || 2007/11/09 19:40 [[EST]] || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0480249/ I Am Legend] || 2007/12/15 21:50 EST || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465234/ National Treasure: Book of Secrets] || 2007/12/28 20:25 EST || Boring || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2008 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0880578/ Untraceable] || 2008/02/09 20:00 EST || Unsettling || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1060277/ Cloverfield] || 2008/02/14 19:05 EST || Wow || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443274/ Vantage Point] || 2008/02/22 20:15 EST || Predictable || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0478087/ 21] || 2008/03/29 19:50 EST || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1091617/ Expelled: No Intelligence Allowed] || 2008/04/23 19:25 EDT || Revealing || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0411061/ 88 Minutes] || 2008/04/25 19:30 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0371746/ Iron Man] || 2008/05/07 20:00 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0367882/ Indiana Jones and the Kingdom of the Crystal Skull] || 2008/05/23 18:45 EDT || Entertaining || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0493464/ Wanted] || 2008/06/27 19:55 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0468569/ The Dark Night] || 2008/07/18 21:00 EDT || Awesome (but too long) || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443701/ The X Files: I Want to Believe] || 2008/07/25 19:55 EDT || Blasphemous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0988047/ Traitor] || 2008/09/01 19:50 EDT || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1034331/ Righteous Kill] || 2008/09/12 20:30 EDT || Interesting || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0887883/ Burn After Reading] || 2008/09/19 19:20 EDT || Hilarious || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0830515/ Quantum of Solace] || 2008/11/15 15:55 EST || [http://www.imdb.com/title/tt0381061/ Casino Royale] was better || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2009 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0421715/ The Curious Case of Benjamin Button] || 2009/01/09 22:00 EST || Excellent || [http://www.mezcharlotte.com/ MEZ]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1114740/ Paul Blart: Mall Cop] || 2009/02/06 19:05 EST || Painful, yet humorous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0963178/ The International] || 2009/03/14 16:00 EDT || Banks are evil? || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0473705/ State of Play] || 2009/04/24 19:45 EDT || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0458525/ X-Men Origins: Wolverine] || 2009/04/30 21:20 EDT || Action-packed || [http://www.ayrsleycinemas.com/ Ayrsley Cinemas]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0796366/ Star Trek] || 2009/05/07 19:45 EDT || [http://www.prolixium.com/mynews?id=839 Good] || Ayrsley Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek || 2009/05/08 16:50 EDT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek || 2009/05/09 21:30 EDT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0808151/ Angels &amp;amp; Demons] || 2009/05/15 19:30 EDT || Book was better, except for the end || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek ([[IMAX]]) || 2009/05/20 19:15 EDT || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1049413/ Up] || 2009/06/12 19:00 EDT || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0417741/ Harry Potter and the Half-Blood Prince] || 2009/08/01 16:30 EDT || Blah || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0361748/ Inglorious Basterds] || 2009/08/23 16:00 EDT || Violent || Ayrsley Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1136608/ District 9] || 2009/08/29 17:40 PDT || Surprising || [http://www.pacifictheatres.com/ Pacific Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1190080/ 2012] || 2009/11/24 12:05 EST || Thrilling || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0499549/ Avatar] [[3D]] || 2009/12/26 23:30 EST || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2010 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1228705/ Iron Man 2] || 2010/05/07 22:00 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0944835/ Salt] || 2010/07/24 13:50 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1323594/ Despicable Me] 3D || 2010/07/30 19:10 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1375666/ Inception] || 2010/08/07 15:25 EDT || Intriguing || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1001526/ Megamind] 3D || 2010/11/27 17:50 EST || Quite good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1104001/ Tron: Legacy] 3D || 2010/12/17 16:00 EST || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0980970/ The Chronicles of Narnia: The Voyage of the Dawn Treader] || 2010/12/23 18:50 EST || Not bad || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2011 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0970866/ Little Fockers] || 2011/01/02 16:30 EST || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0993842/ Hanna] || 2011/05/07 19:20 EDT || Strange || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0458339/ Captain America: The First Avenger] || 2011/08/07 14:35 EDT || Exciting || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1509767/ The Three Musketeers] || 2011/11/04 22:25 EDT || Fun || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1568911/ War Horse] || 2011/12/29 15:35 EST || Meh || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1229238/ Mission: Impossible - Ghost Protocol] (IMAX) || 2012/01/06 22:10 EST || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0477302/ Extremely Loud and Incredibly Close] || 2012/01/20 21:40 EST || Well done || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1591479/ Act of Valor] || 2012/03/02 22:50 EST || Powerful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1232829/ 21 Jump Street] || 2012/03/30 22:00 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0848228/ The Avengers] || 2012/05/05 21:30 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1409024/ Men in Black III] || 2012/06/09 16:10 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2215285/ Madea&#039;s Witness Protection] || 2012/06/30 16:10 EDT || Humorous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1345836/ The Dark Night Rises] || 2012/07/27 21:00 EDT || Excellent || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790886/ The Campaign] || 2012/08/18 16:50 EDT || Funny, but over the line || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1276104/ Looper] || 2012/10/06 19:30 EDT || Strange || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1074638/ Skyfall] || 2012/11/10 17:20 EST || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443272/ Lincoln] || 2012/11/22 19:30 EST || Good || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 == &lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1707386/ Les Miserables] || 2013/01/01 16:00 EST || Masterpiece || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790885/ Zero Dark Thirty] || 2013/01/26 16:35 EST || Dramatic || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1606378/ A Good Day to Die Hard] || 2013/02/23 17:40 EST || Explosive || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1623205/ Oz the Great and Powerful] || 2013/03/23 17:05 EDT || Childish || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1483013/ Oblivion] || 2013/04/19 22:20 EDT || Beautiful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1300854/ Iron Man 3] || 2013/05/10 19:15 EDT || Exciting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1408101/ Star Trek Into Darkness] (IMAX 3D) || 2013/05/18 12:50 EDT || Enjoyable || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek Into Darkness || 2013/06/15 19:00 EDT || Enjoyable || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek Into Darkness || 2013/06/30 15:20 EDT || Enjoyable || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0770828/ Man of Steel] || 2013/07/04 17:30 EDT || Gratuitous Destruction || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1723121/ We&#039;re the Millers] || 2013/08/17 20:10 EDT || Funny, but vulgar || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2357129/ Jobs] || 2013/08/19 19:20 EDT || Inspiring || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1411250/ Riddick] || 2013/09/10 19:40 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1837703/ The Fifth Estate] || 2013/10/23 19:30 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1535109/ Captain Phillips] || 2013/10/26 21:15 EDT || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1981115/ Thor: The Dark World] || 2013/11/10 19:00 EST || Mostly Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3063516/ Jackass Presents: Bad Grandpa] || 2013/11/23 19:00 EST || Funny || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1205537/ Jack Ryan: Shadow Recruit] || 2014/01/25 17:20 EST || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1418377/ I, Frankenstein] || 2014/02/15 20:00 EST || Strange, but good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2872732/ Lucy] || 2014/08/02 14:10 PDT || Disappointing || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790864/ The Maze Runner] || 2014/10/11 15:25 PDT || Great || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0816692/ Interstellar] || 2014/11/09 14:10 PST || Great || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1809398/ Unbroken] || 2014/12/25 19:40 EST || Long, Unsettling || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2015 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2395427/ Avengers: Age of Ultron] || 2015/05/15 17:30 PDT || Silly || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0369610/ Jurassic World] || 2015/06/20 13:05 PDT || Greedy || [https://en.wikipedia.org/wiki/Cinemark_Theatres Cinemark Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt4046784/ Maze Runner: The Scorch Trials] || 2015/09/19 16:15 PDT || Didn&#039;t match the book || Cinemark Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2279339/ Love the Coopers] || 2015/11/25 12:40 EST || Alright || Regal Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2488496/ Star Wars: The Force Awakens] || 2015/12/29 13:45 EST || Great || Ayrsley Cinemas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2016 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2277860/ Finding Dory] || 2016/06/25 16:20 PDT || Fun || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2709768/ The Secret Life of Pets] || 2016/07/09 14:00 PDT || Fun || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2660888/ Star Trek Beyond] || 2016/07/31 13:30 PDT || Too Much Action || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2387499/ Keeping Up with the Joneses] || 2016/10/29 11:50 PT || Fun || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2543164/ Arrival] || 2016/11/19 16:05 PT || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3183660/ Fantastic Beasts and Where to Find Them] || 2016/12/04 13:30 PT || Alright || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2017 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3748528/ Rogue One: A Star Wars Story] || 2017/01/02 11:30 PT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1219827/ Ghost in the Shell] || 2017/04/08 10:20 PT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3896198/ Guardians of the Galaxy Vol. 2] || 2017/06/11 14:15 PT || Excellent || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3469046/ Despicable Me 3] || 2017/07/04 14:45 PT || Mildly Funny || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2239822/ Valerian and the City of a Thousand Planets] || 2017/07/29 17:10 PT || Decent || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1856101/ Blade Runner 2049] || 2017/10/22 1510 PT || Need to rewatch the original || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3501632/ Thor: Ragnarok] || 2017/12/02 1540 PT || Funny || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2527336/ Star Wars: The Last Jedi] || 2017/12/18 1215 PT || Entertaining || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Wars: The Last Jedi || 2017/12/25 1930 ET || Entertaining || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2018 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1825683/ Black Panther] || 2018-03-17 1045 PT || Lived up to the hype || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt4154756/ Avengers: Infinity War] || 2018-04-27 1645 PT || Wow || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt4123430/ Fantastic Beasts: The Crimes of Grindelwald] || 2018-12-09 1500 PST || Meh || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2019 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt2527338/ Star Wars: Episode IX - The Rise of Skywalker] || 2019-12-25 1515 PST || Decent || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2021 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1160419/ Dune] || 2021-10-22 2040 PDT || Good || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2022 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1745960/ Top Gun: Maverick] || 2022-06-25 1615 EDT || Great || [https://en.wikipedia.org/wiki/Alamo_Drafthouse_Cinema Alamo Drafhouse Cinema]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2023 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt6791350/ Guardians of the Galaxy Vol. 3] || 2023-05-06 1615 EDT || Good || Alamo Drafhouse Cinema&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1462764/ Indiana Jones and the Dial of Destiny] || 2023-07-04 1100 EDT || Good || Alamo Drafhouse Cinema&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt15398776/ Oppenheimer] || 2023-07-22 0940 EDT || Monumental || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2024 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1856080/ The Boys in the Boat] || 2024-01-01 1535 EST || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2026 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt12042730/ Project Hail Mary] || 2026-03-29 1130 EDT || Excellent || [[CMX Cinemas]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=PCN_Lab&amp;diff=828</id>
		<title>PCN Lab</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=PCN_Lab&amp;diff=828"/>
		<updated>2026-01-24T16:49:03Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:rack.jpg|thumb|PCN Lab Rack]]The [[PCN]] lab is a network extension of the Prolixium Communications Network composed of Juniper vMX, Cumulus VX, MikroTik RouterOS, Cisco NX-OSv, Cisco IOS-XRv, and Cisco IOSv systems, with a few pieces of real equipment (SRX and ScreenOS firewalls).  It has been traditionally used by [[Mark Kamichoff]] to test and break network things but now it mostly sits idle.&lt;br /&gt;
&lt;br /&gt;
As of 2025 there is a new smaller lab setup composed of AS7712 and ConnectX hardware and some containers.  This page has not been updated to describe it yet.  I&#039;ll be calling it the &amp;quot;performance&amp;quot; lab for lack of a better term because it&#039;s composed of 100G links.&lt;br /&gt;
&lt;br /&gt;
== Performance Lab ==&lt;br /&gt;
&lt;br /&gt;
To be written.&lt;br /&gt;
&lt;br /&gt;
== Random Lab Setups ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;Deprecated lab setups are hidden by default.  Click &#039;&#039;&#039;expand&#039;&#039;&#039; to see them.&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;The current version is 4.0, although the lab environment is always changing.&lt;br /&gt;
&lt;br /&gt;
=== Lab 1.0 ===&lt;br /&gt;
&lt;br /&gt;
My previous lab setup involved a basic [[Dynamips]] setup, with the goal of learning and toying with [[MPLS]], [[multicast]], and other weird stuff.  The lab consisted of:&lt;br /&gt;
&lt;br /&gt;
* 4x emulated Cisco 7206VXR routers&lt;br /&gt;
* 1x Juniper M40 (Olive) router&lt;br /&gt;
* 1x Debian GNU/Linux virtual machine&lt;br /&gt;
&lt;br /&gt;
[[file:lab.png|280px|PCN Lab 1.0]]&lt;br /&gt;
&lt;br /&gt;
All routers ran MPLS with [[LDP]], which allows for dynamic creation of [[LSP|LSPs]] and much less configuration than [[RSVP]]-TE.  Latency to the end host, sinc was pretty horrible: roughly 150ms from the [[LAN]].  Bandwidth was limited to around 50KB/sec, since all Cisco routers, along with the VM, were emulated on a single Dell Dimension 2350 w/a Celeron processor.  The Juniper box was the only real piece of hardware.  Still, it&#039;s pretty fun.&lt;br /&gt;
&lt;br /&gt;
=== Lab 2.0 ===&lt;br /&gt;
&lt;br /&gt;
After I upgraded my main PC to a Core 2 Extreme processor, I realized I had a spare Athlon64 3200+ system that could run tons of Dynamips simulators without breaking a sweat.  Unfortunately the 0.2.7 release of Dynamips consumes a ton more CPU than previous versions, so I&#039;m only able to run five simulators without the system becoming too sluggish to use.  I picked up a new box, [[vega]], which handles the load just fine.  I built configurations for 9 routers and 5 VMware hosts, plus a Juniper Olive (real machine).  Here&#039;s a diagram of the setup:&lt;br /&gt;
&lt;br /&gt;
[[file:newlab.png|280px|Lab 2.0 environment]]&lt;br /&gt;
&lt;br /&gt;
Yep, just a bit of a [[Star Trek]] theme.&lt;br /&gt;
&lt;br /&gt;
The lab runs multiprotocol BGP (IPv6 and IPv4), OSPFv2, OSPFv3, and LDP (MPLS enabled on all transit links).  Connectivity to the outside production network is provided via relativity, a Juniper Olive, which is connected to a dedicated [[Fast Ethernet]] on starfire, my core router.  relativity and starfire have an EBGP peering session, with IPv4 and IPv6 address families, and do a form of conditional mutual route redistribution (it&#039;s not that bad, really..).  The lab learns a default route via BGP (0/0 and ::/0), as well as specific prefixes used on the production network, while the production network learns about the lab networks from OSPFv2/3 redistributed into BGP, which is then redistributed back into OSFPv2/3.  No, seriously, it&#039;s not too messy!  This is part of the reason why I have a JUNOS box doing all the route redistribution: routing policies are a cinch to configure.  Of course, there&#039;s only one way into the lab, so I don&#039;t see how a loop can ever form...&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a breakdown of all the routers:&lt;br /&gt;
&lt;br /&gt;
* relativity: Juniper Olive (physical box), provides lab connectivity to the outside world&lt;br /&gt;
* defiant: Cisco 7200 PE router, pins up an L3 VPN between sisko and janeway&lt;br /&gt;
* voyager: Cisco 7200 PE router (same)&lt;br /&gt;
* cardassia: Cisco 7200 P router, also BGP RR&lt;br /&gt;
* vorta: Juniper Olive (Qemu)&lt;br /&gt;
* sisko: Cisco 3745 CE router for VRF PROLIXIUM&lt;br /&gt;
* janeway: Cisco 3745 CE router for other end of VRF PROLIXIUM&lt;br /&gt;
* excelsior: Cisco 7200 PE router for EoMPLS between sulu and picard&lt;br /&gt;
* enterprise: Cisco 7200 PE router for EoMPLS / upstream connectivity&lt;br /&gt;
* sulu: Cisco 3745 CE router providing connectivity to serendipity&lt;br /&gt;
* picard: Cisco 3745 CE router providing connectivity to iridium&lt;br /&gt;
&lt;br /&gt;
Breakdown of all the VMware hosts:&lt;br /&gt;
&lt;br /&gt;
* arcadia: Red Hat Enterprise Linux 5, L3 VPN participant&lt;br /&gt;
* sinc: Debian GNU/Linux, L3 VPN participant&lt;br /&gt;
* iridium: Red Hat Enterprise Linux 5, EoMPLS testing&lt;br /&gt;
* serendipity: Debian GNU/Linux, EoMPLS testing&lt;br /&gt;
* cation: FreeBSD 6.2-STABLE, Quagga testing (removed)&lt;br /&gt;
&lt;br /&gt;
Lab goals:&lt;br /&gt;
&lt;br /&gt;
* Create a MPLS 2547bis L3 VPN w/Internet access&lt;br /&gt;
* Debug FreeBSD kernel panics with Quagga (read here)&lt;br /&gt;
* Create a EoMPLS instance&lt;br /&gt;
* Deploy DHCP-PD&lt;br /&gt;
* Test MLD, MRT6, and PIM-SM for IPv6&lt;br /&gt;
&lt;br /&gt;
The first goal was completed by connecting end hosts arcadia and sinc together, and providing a default route out to the Internet via a separate link on the CE router (sisko).  I setup a VRF for the two small networks, and configured the PE and CE routers to talk BGP, using AS64514 for the client network (VRF PROLIXIUM).  Internet access is provided via some trickery of BGP into OSPF and a static route (default-information originate via BGP on AS64514) pointing up to defiant&#039;s FastEthernet4/0 interface.  Although stuff works, and is latent as heck, there are possibly some MTU issues with sinc that need to be worked out.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s a diagram:&lt;br /&gt;
&lt;br /&gt;
[[file:l3vpn.png|280px|PCN Lab with MPLS VPN]]&lt;br /&gt;
&lt;br /&gt;
The second goal was somewhat achieved.  I placed cation on a small subnet hanging off of defiant.  defiant doesn&#039;t announce this network into any routing protocols, and performs NAT/PAT for this network.  I then pinned up two OpenVPN tunnels to the public IPs of starfire and nonce, with the goal of simulating an unstable network out on the Internet, hoping to see FreeBSD crash when multiple neighbor adjacencies flap.  Didn&#039;t blink, but I&#039;m still watching.&lt;br /&gt;
&lt;br /&gt;
EoMPLS between enterprise and excelsior (connecting picard and sulu, respectively) is complete.  Since sulu and picard are to be treated as real customers (perhaps some business class service), IPv4 static routes for their prefixes are pointed down to picard.  Picard then runs OSPFv2 with sulu, and redistributes a default route.&lt;br /&gt;
&lt;br /&gt;
DHCP-PD was setup between picard (RR) and enterprise (DR) for a little while.  It seemed to work well, and didn&#039;t require much administrative overhead on either the provider or customer&#039;s side.  I hope that some ISPs will start using this in the future.&lt;br /&gt;
&lt;br /&gt;
The multicast testing (PIM-SM, et al) is starting outside the lab, and on starfire, my main router, and relativity, the Juniper Olive.&lt;br /&gt;
&lt;br /&gt;
=== Lab 3.0 ===&lt;br /&gt;
&lt;br /&gt;
I picked up a real Juniper J2320 router on eBay to help studying for the Juniper enterprise routing exams.  I put it in the laundry room along with an HP box (vega) to run KVM and dynamips.  Here&#039;s a diagram (more to follow, later):&lt;br /&gt;
&lt;br /&gt;
[[file:lab30.png|480px|Lab 3.0]]&lt;br /&gt;
&lt;br /&gt;
=== Lab 3.1 ===&lt;br /&gt;
&lt;br /&gt;
I picked up a Juniper SRX210 and used it to replace the Juniper J2320.  I also added in stargazer and affinity via a 802.1q trunk:&lt;br /&gt;
&lt;br /&gt;
[[file:Lab31.png|480px|Lab 3.1]]&lt;br /&gt;
&lt;br /&gt;
=== Lab 3.2 ===&lt;br /&gt;
&lt;br /&gt;
Main lab isn&#039;t much different (added two SRXes, though):&lt;br /&gt;
&lt;br /&gt;
[[file:Lab32.png|480px|Lab 3.2]]&lt;br /&gt;
&lt;br /&gt;
However, I added another autonomous system to simulate a service provider environment w/RSVP-TE, IS-IS, and L3VPNs:&lt;br /&gt;
&lt;br /&gt;
[[file:splab.png|480px|Service Provider Lab]]&lt;br /&gt;
&lt;br /&gt;
=== Lab 3.3 ===&lt;br /&gt;
&lt;br /&gt;
I also added another AS hanging off the SP lab.  This was to get some experience with inter-AS MPLS VPNs.  asgard&#039;s ge-0/0/1 is connected to ori&#039;s Fa0/0 interface, which virtually connects martini&#039;s Untrust interface with zat&#039;s fxp4.  Got it?  Great!&lt;br /&gt;
&lt;br /&gt;
cicada was also added, which is an x86 VM running Mikrotik&#039;s RouterOS.&lt;br /&gt;
&lt;br /&gt;
[[file:spvpnlab.png|480px|Lab 3.3]]&lt;br /&gt;
&lt;br /&gt;
=== Lab 3.4 ===&lt;br /&gt;
&lt;br /&gt;
This has been updated to reflect the new Juniper EX2200-C switch and a small EIGRP network.&lt;br /&gt;
&lt;br /&gt;
[[file:lab34.png|480px|Lab 3.4]]&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lab 4.0 (current) ===&lt;br /&gt;
&lt;br /&gt;
[[Image:rack-upper.jpg|thumb|PCN Lab Physical Network Devices]]I finally swapped out the junky NETGEAR switches for a Foundry FLS624.  I also converted the Olives to vMXes.&lt;br /&gt;
&lt;br /&gt;
Main lab:&lt;br /&gt;
&lt;br /&gt;
[[file:lab40.png|480px|Lab 4.0]]&lt;br /&gt;
&lt;br /&gt;
Service provider lab:&lt;br /&gt;
&lt;br /&gt;
[[file:lab40-splab.png|480px|Service Provider Lab 4.0]]&lt;br /&gt;
&lt;br /&gt;
Service provider VPN lab:&lt;br /&gt;
&lt;br /&gt;
[[file:lab40-vpnlab.png|480px|Service provider VPN lab 4.0]]&lt;br /&gt;
&lt;br /&gt;
== LR-only Environments ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;This content is historical.  Click &#039;&#039;&#039;expand&#039;&#039;&#039; to see it.&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;To study for the [[JNCIP-M]] (and [[JNCIE-M]], now!) exam and put together a few simulations for work, I use the [[stargazer]] Qemu Olive instance with a bunch of isolated LRs.  A couple examples are listed below.&lt;br /&gt;
&lt;br /&gt;
=== JNCIP-M Lab ===&lt;br /&gt;
&lt;br /&gt;
There seem to be three lab variants in the JNCIP-M study material.  All of them are configured on stargazer, a Juniper Olive running in [[QEMU]]:&lt;br /&gt;
&lt;br /&gt;
==== OSPF ====&lt;br /&gt;
&lt;br /&gt;
This lab setup uses two interfaces that connect from r6 to [[OSPF]] and r7 to OSPF:&lt;br /&gt;
&lt;br /&gt;
[[file:JNCIP_OSPF.png|320px|JNCIP-M lab with OSPF router]]&lt;br /&gt;
&lt;br /&gt;
==== RIP ====&lt;br /&gt;
&lt;br /&gt;
This lab setup uses two interfaces that connect r6, r7, and RIP via a switch:&lt;br /&gt;
&lt;br /&gt;
[[file:JNCIP_RIP.png|320px|JNCIP-M lab with RIP router]]&lt;br /&gt;
&lt;br /&gt;
The switch is actually a Linux bridge with the tap interfaces as members.&lt;br /&gt;
&lt;br /&gt;
==== EBGP ====&lt;br /&gt;
&lt;br /&gt;
Chapter 6 focuses on EBGP, and introduces a couple new routers.  The switch is moved to the VRRP segment between r1 and r2 (connects to P1) and T1, T2, C1, and C2 are introduced:&lt;br /&gt;
&lt;br /&gt;
[[file:JNCIP_EBGP.png|320px|JNCIP-M EBGP lab]]&lt;br /&gt;
&lt;br /&gt;
=== JNCIE-M Lab ===&lt;br /&gt;
&lt;br /&gt;
There will be a couple variants of this lab environment.  Right now there is only one.&lt;br /&gt;
&lt;br /&gt;
==== Generic ====&lt;br /&gt;
&lt;br /&gt;
[[file:JNCIElab_generic.png|320px|JNCIP-E lab]]&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=827</id>
		<title>File:wan.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=827"/>
		<updated>2026-01-24T16:45:31Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:wan.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PCN WAN Architecture&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=826</id>
		<title>Prolixium Communications Network</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=826"/>
		<updated>2026-01-23T17:43:34Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:pcn.png|thumb|280px|Prolixium Communications Network Logo]]The Prolixium Communications Network (known also as &#039;&#039;&#039;PCN&#039;&#039;&#039;, &#039;&#039;&#039;mynet&#039;&#039;&#039;, &#039;&#039;&#039;My Network&#039;&#039;&#039;, &#039;&#039;&#039;Prolixium .NET&#039;&#039;&#039;, and &#039;&#039;&#039;My Hobby Network&#039;&#039;&#039;) is a collection of small, geographically disperse, computer networks that provide [[IPv4]] and [[IPv6]], [[VPN]], and [[VoIP]] services to the [[Kamichoff]] family.  Owned and operated solely by [[Mark Kamichoff]], PCN often serves as a testbed for various network experiments.  Some of the PCN nodes are connected via residential data services ([[cable modem]]), while others are located in [[data center|data centers]] have [[Gigabit Ethernet]] (or better) connections to the [[Internet]].&lt;br /&gt;
&lt;br /&gt;
== Current State ==&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
[[file:wan.png|thumb|PCN WAN Architecture]][[file:pcn-world.png|thumb|PCN World Map]]As of March 10, 2024, PCN is composed of several networks in the [[United States]] and across the globe, connected via [[OpenVPN]] and [[WireGuard]] with the IPv6 backbone connected via [[6in4]] tunnels:&lt;br /&gt;
&lt;br /&gt;
* [[North Brunswick, NJ]]: [[nat]].prolixium.com on [[FTTH]] via [[Verizon FiOS]]&lt;br /&gt;
* [[Piscataway, NJ]]&lt;br /&gt;
** [[excalibur]].prolixium.com on Virtual I/O via [https://www.vultr.com/ Vultr]&lt;br /&gt;
** [[dax]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Toronto, Canada]]: [[tiny]].prolixium.com on Virtual I/O via [http://atlantic.net/ atlantic.net]&lt;br /&gt;
* [[Dallas, TX]]: [[nox]].prolixium.com on Virtual I/O via [http://www.linode.com/ Linode]&lt;br /&gt;
* Dallas, TX: [[concorde]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Ashburn, VA]]: [[pegasus]].prolixium.com on Virtual I/O via [https://freerangecloud.com/ Free Range Cloud]&lt;br /&gt;
* Ashburn, VA: [[daedalus]].prolixium.com on Virtual I/O via [https://tier.net/ Tier.Net]&lt;br /&gt;
* Ashburn, VA: [[matrix]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA: [[elise]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA&lt;br /&gt;
** [[discovery]].prolixium.com via [[Verizon FiOS]]&lt;br /&gt;
** [[sprint]].prolixium.com via [[Verizon Wireless]] (LTE)&lt;br /&gt;
* [[Seattle, WA]]: [[orca]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* Seattle, WA: [[interstellar]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Sarasota, FL]]: [[scimitar]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Los Angeles, CA]]: [[trident]].prolixium.com Virtual I/O via [http://www.arpnetworks.com/ ARP Networks]&lt;br /&gt;
* [[Clover, SC]]: [[trefoil]].prolixium.com on ADSL via [[Spectrum]]&lt;br /&gt;
* [[York, SC]]: [[exodus]].prolixium.com on ADSL via [[AT&amp;amp;T]]&lt;br /&gt;
* [[Austin, TX]]: [[photonic]].prolixium.com on FTTH via Google Fiber&lt;br /&gt;
* [[Charlotte, NC]]: [[storm]].prolixium.com on FTTH via Google Fiber&lt;br /&gt;
* [[Arlington, VA]]: [[merlin]].prolixium.com on Ethernet via Comcast Business / Zayo&lt;br /&gt;
* [[Agawam, MA]]: [[galactica]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Amsterdam, Netherlands]]: [[firefly]].prolixium.com on Virtual I/O via [http://www.digitalocean.com/ DigitalOcean]&lt;br /&gt;
* [[Singapore]]: [[centauri]].prolixium.com on Virtual I/O via [http://ec2.amazon.com/ Amazon EC2]&lt;br /&gt;
&lt;br /&gt;
Each site has multiple OpenVPN tunnels to other locations supporting both IPv4 and IPv6.  The network is primarily powered by [[Free Range Routing]] (FRR) with some sites using [[BIRD]].&lt;br /&gt;
&lt;br /&gt;
=== Routing ===&lt;br /&gt;
&lt;br /&gt;
The routing infrastructure consists of several autonomous systems, taken from the IANA-allocated private range: 64512 through 65534.  Each site runs IBGP, possibly with a route reflector, and its own [[IGP]] for local next-hop resolution.  EBGP is used between sites and peering connections.  IPv4 Internet connectivity for each site is achieved by advertisement of default routes from boxes performing NAT.  The [[Prolixium Communications Network#Lab|lab]] is connected to [[starfire]] (core router) in Ashburn, VA.  The PCN used to use one large OSPF area with no EGP.  It was converted to a [[BGP]] confederation setup, which was a bad idea (but educational!), then reconverted to its current state.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet.png|280px|BGP on PCN]]&lt;br /&gt;
&lt;br /&gt;
=== IPv6 Connectivity ===&lt;br /&gt;
&lt;br /&gt;
IPv6 connectivity is provided by four (5) direct connections to Vultr (The Constant Company), ARP Networks, Free Range Cloud, and Tier.Net.  A Hurricane Electric BGP tunnel is used as backups off excalibur &amp;amp; trident but is depreferenced.  The border transit network piece of the PCN provides this connectivity.&lt;br /&gt;
&lt;br /&gt;
IPv6 addressing is out of 2620:6:2000::/44, which is a direct allocation from ARIN.&lt;br /&gt;
&lt;br /&gt;
==== Border Transit Network ====&lt;br /&gt;
&lt;br /&gt;
The border transit network operates in AS395460 and consists of [[excalibur]], [[trident]], [[orca]], [[pegasus]], [[daedalus]], and [[concorde]].  Connectivity is provided by the following transit peers:&lt;br /&gt;
&lt;br /&gt;
* trident: AS25795 and AS6939&lt;br /&gt;
* excalibur: AS20473 and AS6939&lt;br /&gt;
* orca: AS20473&lt;br /&gt;
* concorde: AS20473&lt;br /&gt;
* pegasus: AS53356&lt;br /&gt;
* daedalus: AS397423&lt;br /&gt;
&lt;br /&gt;
This network injects a default route into the rest of the PCN, which can be referred to PEN (Prolixium Enterprise Network).  The border network receives a full table from all transits and advertises 2620:6:2000::/44 out each peer along with some sites advertising /48 specifics for networks that are nearby.&lt;br /&gt;
&lt;br /&gt;
Hurricane Electric (AS6939) is only used as backup because it is a tunneled connection and is suspected to be throttled.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet-transit.png|280px|Border Transit Network]]&lt;br /&gt;
&lt;br /&gt;
[[file:pcn-world2-transit.png|280px|Border Transit Network Map]]&lt;br /&gt;
&lt;br /&gt;
The following hosts do not default route to the border transit network and use their own native IPv6 connectivity:&lt;br /&gt;
&lt;br /&gt;
* centauri&lt;br /&gt;
* firefly&lt;br /&gt;
* storm&lt;br /&gt;
&lt;br /&gt;
The following hosts may have IPv6 connectivity but it&#039;s not currently enabled (at time of writing):&lt;br /&gt;
&lt;br /&gt;
* exodus&lt;br /&gt;
* galactica&lt;br /&gt;
* photonic&lt;br /&gt;
&lt;br /&gt;
=== DNS ===&lt;br /&gt;
&lt;br /&gt;
[[DNS]] is done with two views: internal and external.  PCN has two external nameservers, and four internal ones, all which perform zone transfers from the master nameserver, ns3.antiderivative.net.  antiderivative.net is used for all NS records, as well as glue records at the GTLD servers.  The internal nameservers are ns{1-4} and external ones are ns{2,3}.  Each zone has two views, internal and external, and a common file that is included in both views (SOA, etc.).  The zones include the following:&lt;br /&gt;
&lt;br /&gt;
* Internal view, answering to 10/8, 172.16/12, and 192.168/16 addresses&lt;br /&gt;
** 3.10.in-addr.arpa. and 3.16.172.in-addr.arpa. reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s internal A/CNAME records&lt;br /&gt;
* External view, answering to everything !RFC1918&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s external A/CNAME records&lt;br /&gt;
* Common information, answering for all hosts&lt;br /&gt;
** 0.0.0.2.6.0.0.0.0.2.6.2.ip6.arpa., and other reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s common MX records&lt;br /&gt;
&lt;br /&gt;
Previously, the Xicada DNS Service (developed by Mark Kamichoff) kept track of all the forward delegations as well as IPv4 reverse delegations on Xicada.  The administrator of each node enumerated their zones into a web form, and then configured their DNS server to pull down a forwarders definition for all Xicada zones.  It supported BIND and djbdns, but also outputted a CSV file if someone decided to use another DNS server.  It was originally intended that each DNS server should pull down a fesh copy of the forwarders definition file nightly, but there were really no rules.&lt;br /&gt;
&lt;br /&gt;
Mark Kamichoff has a policy on his network to have DNS entries (includes A, AAAA, and PTR) for each and every active IP address.  If a host is offline, the DNS records should be immediately expunged.  This precludes the requirement of a host management system or a collection of poorly-maintained spreadsheets.  If an IP is needed, the PTR should be checked.  All [[DHCP]]-assigned IP addresses are created via {side ID}-{lastoctet}.prolixium.com.  Again, no confusion.  DNS itself is a database, so why not use it?&lt;br /&gt;
&lt;br /&gt;
All transit links on PCN are addressed using the prolixium.net domain.  The format is {unit/VLAN}.{interface}.{host}.prolixium.net.  For example, the xl1 interface on starfire would be: xl1.starfire.prolixium.net.  There is a collection of DNS entries for every IPv4 and IPv6 transit link.  There is not one hop in my network which has no PTR record (or a PTR record w/out a corresponding A or AAAA record).  Each router has a loopback interface with IPv4 and IPv6 addresses (if supported).&lt;br /&gt;
&lt;br /&gt;
=== Ashburn-Specific Setup ===&lt;br /&gt;
&lt;br /&gt;
[[file:charlotte.png|thumb|Ashburn LAN]]The network setup in Ashburn (formerly Seattle, WA and Charlotte, NC) is slightly different from the other sites, where there is a single router with a dynamic address.  In the Ashburn location there are two ISPs and they&#039;re terminated in separate LXC instances (all with VPNs to at least one of interstellar, nox, dax, or elise - the &amp;quot;enterprise&amp;quot; network):&lt;br /&gt;
&lt;br /&gt;
* discovery (on evolution) - Verizon FiOS&lt;br /&gt;
* sprint (on evolution) - Verizon Wireless (LTE)&lt;br /&gt;
&lt;br /&gt;
starfire and evolution are the two core routers with multiple Gigabit Ethernet interfaces.  The current routing setup is as follows:&lt;br /&gt;
&lt;br /&gt;
* IPv6 (Internet &amp;amp; internal) inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via VPN&lt;br /&gt;
* IPv4 Internet inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via NAT&lt;br /&gt;
* All LXCs above advertise an IPv4 default route into OSPFv2&lt;br /&gt;
* LOCAL_PREF and AS_PATH prepending influence the traffic flow&lt;br /&gt;
&lt;br /&gt;
In the case of backup, discovery is replaced with the LXC sprint.&lt;br /&gt;
&lt;br /&gt;
In the past, NetFlow was used on atlantis, which was depicted in the drawing below:&lt;br /&gt;
&lt;br /&gt;
[[file:netflow.png|280px|PCN NetFlow Setup]]&lt;br /&gt;
&lt;br /&gt;
The NetFlow collector ran [http://www.ntop.org/ ntop], but this was uninstalled due to instability.&lt;br /&gt;
&lt;br /&gt;
=== Printing ===&lt;br /&gt;
&lt;br /&gt;
The whole printing/CUPS/lpd setup is mostly an annoyance.  Most people would want to run CUPS on every Unix client on the network.  Mark Kamichoff believes it&#039;s better to have a lightweight client send a [http://en.wikipedia.org/wiki/PostScript PostScript] file via lpd to a CUPS server rather than sending a huge RAW raster stream across the network and have both the client and server do print processing.  See the diagram to the bottom:&lt;br /&gt;
&lt;br /&gt;
[[file:printing.png|280px|PCN Printing Setup]]&lt;br /&gt;
&lt;br /&gt;
=== SmokePing ===&lt;br /&gt;
&lt;br /&gt;
For monitoring, PCN uses a combination of Nagios, SmokePing, and [[MRTG]].  The SmokePing setup itself is a combination of slaves and masters, both IPv4 and IPv6.&lt;br /&gt;
&lt;br /&gt;
[[file:smokeping.png|280px|SmokePing]]&lt;br /&gt;
&lt;br /&gt;
[[nox]] is the master for a few slaves:&lt;br /&gt;
&lt;br /&gt;
* [[tiny]] - VPS connected to atlantic.net&lt;br /&gt;
* [[storm]] - RPi 5 connected to AT&amp;amp;T Fiber&lt;br /&gt;
* [[exodus]] - RPi 3 connected to AT&amp;amp;T DSL&lt;br /&gt;
* [[galactica]] - RPi 4 B connected to Comcast Xfinity&lt;br /&gt;
* [[photonic]] - RPi 4 B connected to Google Fiber&lt;br /&gt;
* [[merlin]] - RPi 3 B connected to Comcast Business / Zayo&lt;br /&gt;
* [[trefoil]] - RPi 5 connected to Spectrum&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;History is hidden by default.  Click &#039;&#039;&#039;expand&#039;&#039;&#039; to see it.&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;Warning: This entire section is written in the first-person ([[Mark Kamichoff|Mark Kamichoff&#039;s]]) point of view&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Beginnings ===&lt;br /&gt;
&lt;br /&gt;
After joining the [[http://xicada.sf.net Xicada] network back at [[RPI]], I decided to continue linking all of my networks and sites together via various VPN technologies.  At first, the network was just a simple VPN between my network at home and a few computers in my dorm room at RPI.  The connection tunnelled through RPI&#039;s firewall like a knife through warm butter, using OpenVPN&#039;s [[UDP]] encapsulation mode.  Actually, a site to site UDP tunnel was the only thing OpenVPN offered, back then.  My router at RPI was a blazing-fast [[Pentium]] 166MHz box running [[Debian GNU/Linux]].  At that point, my Xicada tunnels were terminated on another box I found in the trash, an old AMD K6-300, which eventually ran FreeBSD 4.&lt;br /&gt;
&lt;br /&gt;
The network quickly started expanding, and I was able to move the K6-300 box (starfire) into the ACM&#039;s lab, which was given a 100mbit link, in the basement of the DCC.  At this point in time, my network had three sites: home, the lab, and my dorm room.  Since I didn&#039;t stick around RPI during most summers, I reterminated the Xicada links on starfire, since it sported a more permanent link.&lt;br /&gt;
&lt;br /&gt;
Shortly after starfire was moved to the lab, I started toying with IPv6, and acquired a tunnel via Freenet6 (now Hexago, since they&#039;re actually trying to sell products, or something).  RPI&#039;s firewall wouldn&#039;t allow IP protocol 41 through the firewall, and my attempts at getting this opened up for my IP failed.  So, I terminated the IPv6 tunnel on my box at home, which sat on Optimum Online.  Freenet6 gave me a /48 block out of the 3ffe::/16 6bone space, and I started distributing /64&#039;s out to all of my LAN segments.  I started running Zebra&#039;s OSPFv3 daemon, and realized it was buggy as all get out.  It mostly worked, though.  Since Freenet6 gave me an ip6.int. delegation, I spent some time applying tons of patches to djbdns, my DNS server of choice, back then.  After tons of patching, I got IPv6 support, which was fairly neat at the time.  What did I use this new-found IPv6 connectivity for?  IRC and web site hosting. www.prolixium.com has had an AAAA record since at least 2003.&lt;br /&gt;
&lt;br /&gt;
Sometime in 2003 (I forget when), I moved my IPv6 tunnel to BTExact, British Telecom&#039;s free tunnel broker that actually gave out non-6bone /48&#039;s and ip6.arpa. DNS delegations.  I quickly moved to them, and enjoyed quicker speeds than Freenet6 for about a year.  Of course, after a year, my parents had a power outage at home, and my server lost the IP it had with OOL for the past two years.  BTExact, at that time, had frozen their tunnel broker service, and didn&#039;t allow any modifications or new tunnels to be created.  I went back to Freenet6, who had changed to 2001::/16 space.&lt;br /&gt;
&lt;br /&gt;
After leaving RPI, and getting a job, I decided to purchase a dedicated server from SagoNet.  I extended my network down to Tampa, FL, where the server was located.&lt;br /&gt;
&lt;br /&gt;
Fast-forwarding to the present day, I currently have six sites, and native IPv6 from Voxel dot Net.  Almost every host on the network is IPv6-aware, and the IPv6 connectivity is controlled completely by pf.&lt;br /&gt;
&lt;br /&gt;
Xicada connectivity at this point has been terminated, due to lack of interest.&lt;br /&gt;
&lt;br /&gt;
=== [[VLAN]] Conversion (Laundry Room Data Center) ===&lt;br /&gt;
&lt;br /&gt;
[[file:vlan.png|thumb|VLAN Setup]]I&#039;m lucky to have CAT5(e?) cabled to every room in my condo, all aggregated in the [[laundry room]], I figured it was time to deploy a couple different VLANs on my network.  Initially, I just had a dumb switch connecting all of the various ports in different rooms together.  Since that was too simple of a solution, I picked up a Cisco 2940 switch on [http://www.ebay.com/ eBay], and setup a 1Gbit trunk between starfire and the laundry room.  I setup 4x VLANs:&lt;br /&gt;
&lt;br /&gt;
* 2: Various wall jacks&lt;br /&gt;
* 3: Media center link (connected to kamikaze)&lt;br /&gt;
* 4: Linksys link (connected to mercury)&lt;br /&gt;
* 5: Lab link (connected to hysteresis)&lt;br /&gt;
&lt;br /&gt;
I ended up throwing some other gear in the laundry room along with the switch, and ended up moving my lab (3.0) there.&lt;br /&gt;
&lt;br /&gt;
=== BGP (Confederations) Conversion ===&lt;br /&gt;
&lt;br /&gt;
==== History ====&lt;br /&gt;
&lt;br /&gt;
Starting with the Xicada project, my network was one big OSPF backbone area.  Entirely flat, except for some route redistribution for the lab connection.  When I added OSPFv3 for IPv6 reachability, it was no different - one big area: no stub areas, no frills.  It worked, but was boring, and didn&#039;t provide the flexibility required if I wanted to start redirecting Internet traffic.&lt;br /&gt;
&lt;br /&gt;
After reading up on BGP, I realized I could make my network 1000% more complex, while gaining some real-world experience.  Sounds like a plan, huh?&lt;br /&gt;
Preparation and Design&lt;br /&gt;
&lt;br /&gt;
Due to some Quagga instability issues, I originally tested out some alternate BGP/OSPF implementations, including XORP.  Unfortunately, none of them fit the bill, and XORP, although promising, was horribly unstable and appeared to suffer from configuration file parsing issues, more than anything else.  So I decided to stick with Quagga.  I also decided to keep two separate BGP connections, one for IPv4 and one for IPv6 (so I didn&#039;t run into any nasty next-hop accessibility problems).&lt;br /&gt;
&lt;br /&gt;
One of the goals of the redesign was to eliminate the large network-wide IGP process and break down each site into sub-ASes, using BGP confederations and route reflectors.  This required a partial mesh of CBGP (confederation BGP - like EBGP, but more attributes are retained) between all the sites, to take advantage of the tunnels.  Unfortunately, this meant that I had to renumber all of my IPv6 tunnels, since they were all /128&#039;s.  Not a big deal.  I didn&#039;t want to do this with the IPv4 (OpenVPN) tunnels, since the documentation strongly recommended against the use of anything other than a 32-bit netmask.  This required the use of the ebgp-multihop command, since according to most [E]BGP implementations, /32&#039;s or /128&#039;s connecting to each other is not classified as &#039;directly connected&#039; for some reason.  (doesn&#039;t make sense to me, since even a TTL of 1 should theoretically allow communication to succeed)&lt;br /&gt;
&lt;br /&gt;
At each site, I wanted to run IBGP internally, and designate one box to be the route reflector, in order to loosen the IBGP full-mesh requirement.  Some of the OpenWrt devices did not have loopbacks at the time, so I needed to shuffle around some addresses and fix this.&lt;br /&gt;
&lt;br /&gt;
I&#039;d still run an IGP internal to each site (not nox or dax, since they are only one router), and advertise a default route via OSPFv2 within the site, for Internet access.  I could also advertise default routes from two different routers within a site, for redundancy and failover Internet access.&lt;br /&gt;
&lt;br /&gt;
So, here&#039;s some of the tasks I performed prior to making any routing changes:&lt;br /&gt;
&lt;br /&gt;
# Add loopbacks to all routers&lt;br /&gt;
# Redo all IPv6 tunnel interfaces, converted to /126&#039;s to avoid subnet-router anycast issues&lt;br /&gt;
# Redo tunnel naming standards (was too long before)&lt;br /&gt;
&lt;br /&gt;
==== IPv6 Migration ====&lt;br /&gt;
&lt;br /&gt;
I figured, since on most platforms, IGP routes take precedence over BGP routes, I could add all the peering relationships and get everything setup without skipping a beat.  Quagga&#039;s zebra process wouldn&#039;t insert or remove anything from the FIB (the kernel routing table).  Then I could remove OSPFv3 from all the WAN links, and zebra would just shuffle around the routes, but reachability would come back within a few minutes, maybe?&lt;br /&gt;
&lt;br /&gt;
So I started building the BGP neighbors, and quickly ran into a problem.  For some reason, no IPv6 BGP routes were being sent to other peers from Quagga&#039;s bgpd.  I posted a message to the mailing list, and quickly got a helpful response.  Apparently I was hitting a bug that&#039;s been in Quagga for awhile (typo) that dealt with the address-family negotiation between peers.  The quick fix was to add &#039;override-capability&#039; to each neighbor (or peer group) and it would accept all advertised address families.&lt;br /&gt;
&lt;br /&gt;
After all the peers were setup, I disabled [[OSPFv3]] on all the WAN links, and everything reconverged... oddly.  It looked like BGP was doing path-selection based on tiebreakers, and picking the higher peer address as the best path for a destination, even if it meant not utilizing the directly connected link.  After scratching my head for a few minutes, I realized my stupidity.  Normal BGP treats AS_CONFED_SEQUENCE and AS_CONFED_SET as a length of one, so all paths through my network looked like they had an AS path length of *1*.  Luckily, Quagga had a nice bgp bestpath as-path confed command that modified the path selection algorithm, and gave me what I wanted.  I described this a blog entry.&lt;br /&gt;
&lt;br /&gt;
Since I wanted all loopbacks and transit interfaces reachable from anywhere, I added a ton of network statements to bgpd.  It felt like a hack, but isn&#039;t too bad, since there&#039;s really no other way of doing it, without using a network-wide IGP.&lt;br /&gt;
&lt;br /&gt;
==== IPv4 Migration ====&lt;br /&gt;
&lt;br /&gt;
Since the IPv6 migration was successful, I figured the IPv4 migration would turn out the same - and it did, mostly.&lt;br /&gt;
&lt;br /&gt;
I started setting up the IPv4 BGP neighbors, and ran into a strange issue with ScreenOS.  I&#039;ve documented it here.  Basically, my two Juniper firewalls wouldn&#039;t establish IBGP connections unless they were configured as passive neighbors (wait for a connection).&lt;br /&gt;
&lt;br /&gt;
After all the IPv4 BGP connections were up and running, I killed the network-wide IGP process entirely (shut off ospfd/ospf6d on dax and nox), and let everything reconverge.  It worked out of the box - success!&lt;br /&gt;
&lt;br /&gt;
I removed the static default routes on my OpenWrt routers, and advertised defaults at each site.  No problem there.&lt;br /&gt;
&lt;br /&gt;
==== Finish ====&lt;br /&gt;
&lt;br /&gt;
Although I ran into a number of problems, and probably complicated troubleshooting of my network by an order of magnitude, I think the conversion was worth it.  Now if anyone wants to start Xicada 2.0, we can do it right, this time...&lt;br /&gt;
&lt;br /&gt;
=== EBGP Conversion ===&lt;br /&gt;
&lt;br /&gt;
I got sick of confederations, so I just removed the confederation statements and converted all of the inter-site links to straight EBGP.&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
PCN enables several applications:&lt;br /&gt;
&lt;br /&gt;
* VoIP (via [[SIP]] / G.711u)&lt;br /&gt;
* IPv6 Internet access&lt;br /&gt;
* Streaming audio&lt;br /&gt;
&lt;br /&gt;
== Lab ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Main Article: [[PCN Lab]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The PCN lab is Mark Kamichoff&#039;s network proving ground and general hacking arena.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.prolixium.com/mrtgfe PCN MRTG]&lt;br /&gt;
* [http://www.prolixium.net/ PCN Home Page]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Mark_Kamichoff&amp;diff=825</id>
		<title>Mark Kamichoff</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Mark_Kamichoff&amp;diff=825"/>
		<updated>2026-01-19T23:56:32Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Mark_Graduation.png|thumb|Mark Kamichoff]]Mark Kamichoff is a network engineer currently residing in [[Brambleton, VA]].  He used to be a [[network architect]] in [[Charlotte, NC]] and resided in [[Seattle, WA]] between 2014 and 2021.  He has a degree in computer and systems engineering from [[Rensselaer Polytechnic Institute]] with a minor in computer science.  He enjoys computer networking, [[Unix]] administration, [[swimming]], and [[trance music]].&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Movies seen by Mark Kamichoff]]&lt;br /&gt;
* [[Prolixium Communications Network]]&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.prolixium.com/profile Prolixium dot com: Mark Kamichoff&#039;s Profile]&lt;br /&gt;
* [https://www.prolixium.com/resume Mark Kamichoff&#039;s Résumé]&lt;br /&gt;
* [https://www.linkedin.com/in/mark-kamichoff/ Mark Kamichoff - LinkedIn]&lt;br /&gt;
* [https://www.facebook.com/Prolixium Mark Kamichoff] on [[Facebook]]&lt;br /&gt;
* [https://x.com/Prolixium Mark Kamichoff] on [http://twitter.com/ on X]&lt;br /&gt;
* [https://www.instagram.com/prolixium/ Prolixium] on [https://instagram.com/ Instagram]&lt;br /&gt;
* [https://bsky.app/profile/prolixium.bsky.social prolixium] on [https://bsky.app/ Bluesky]&lt;br /&gt;
* [https://www.threads.com/@prolixium prolixium] on [https://threads.net/ Threads]&lt;br /&gt;
* [https://tricorder.social/@prolixium prolixium] on [https://joinmastodon.org/ Mastodon]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Mark_Kamichoff&amp;diff=824</id>
		<title>Mark Kamichoff</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Mark_Kamichoff&amp;diff=824"/>
		<updated>2026-01-19T23:55:21Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Mark_Graduation.png|thumb|Mark Kamichoff]]Mark Kamichoff is a network engineer currently residing in [[Brambleton, VA]].  He used to be a [[network architect]] in [[Charlotte, NC]] and resided in [[Seattle, WA]] between 2014 and 2021.  He has a degree in computer and systems engineering from [[Rensselaer Polytechnic Institute]] with a minor in computer science.  He enjoys computer networking, [[Unix]] administration, [[swimming]], and [[trance music]].&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Movies seen by Mark Kamichoff]]&lt;br /&gt;
* [[Classic movies not seen by Mark Kamichoff]]&lt;br /&gt;
* [[ASUS Eee PC]]&lt;br /&gt;
* [[Prolixium Communications Network]]&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.prolixium.com/profile Prolixium dot com: Mark Kamichoff&#039;s Profile]&lt;br /&gt;
* [https://www.prolixium.com/resume Mark Kamichoff&#039;s Résumé]&lt;br /&gt;
* [https://www.linkedin.com/in/mark-kamichoff/ Mark Kamichoff - LinkedIn]&lt;br /&gt;
* [https://www.facebook.com/Prolixium Mark Kamichoff] on [[Facebook]]&lt;br /&gt;
* [https://x.com/Prolixium Mark Kamichoff] on [http://twitter.com/ on Twitter]&lt;br /&gt;
* [https://www.instagram.com/prolixium/ Prolixium] on [https://instagram.com/ Instagram]&lt;br /&gt;
* [https://bsky.app/profile/prolixium.bsky.social prolixium] on [https://bsky.app/ Bluesky]&lt;br /&gt;
* [https://www.threads.com/@prolixium prolixium] on [https://threads.net/ Threads]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Mark_Kamichoff&amp;diff=823</id>
		<title>Mark Kamichoff</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Mark_Kamichoff&amp;diff=823"/>
		<updated>2026-01-18T01:41:34Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Mark_Graduation.png|thumb|Mark Kamichoff]]Mark Kamichoff is a network engineer currently residing in [[Brambleton, VA]].  He used to be a [[network architect]] in [[Charlotte, NC]] and resided in [[Seattle, WA]] between 2014 and 2021.  He has a degree in computer and systems engineering from [[Rensselaer Polytechnic Institute]] with a minor in computer science.  He enjoys computer networking, [[Unix]] administration, [[swimming]], and [[trance music]].&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Movies seen by Mark Kamichoff]]&lt;br /&gt;
* [[Classic movies not seen by Mark Kamichoff]]&lt;br /&gt;
* [[ASUS Eee PC]]&lt;br /&gt;
* [[Prolixium Communications Network]]&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.prolixium.com/profile Prolixium dot com: Mark Kamichoff&#039;s Profile]&lt;br /&gt;
* [http://www.prolixium.com/resume Mark Kamichoff&#039;s Résumé]&lt;br /&gt;
* [http://www.linkedin.com/pub/1/718/B46 Mark Kamichoff - LinkedIn]&lt;br /&gt;
* [http://www.facebook.com/Prolixium Mark Kamichoff] on [[Facebook]]&lt;br /&gt;
* [http://twitter.com/Prolixium Mark Kamichoff] on [http://twitter.com/ on Twitter]&lt;br /&gt;
* [https://plus.google.com/+MarkKamichoff Mark Kamichoff] on [http://plus.google.com/ Google+]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:Mark_Graduation.png&amp;diff=822</id>
		<title>File:Mark Graduation.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:Mark_Graduation.png&amp;diff=822"/>
		<updated>2026-01-18T01:40:50Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:Mark Graduation.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Mark Kamichoff]] at the [[RPI]] graduation ceremony for class of 2004.&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=821</id>
		<title>Prolixium Communications Network</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=821"/>
		<updated>2025-05-18T20:40:25Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:pcn.png|thumb|280px|Prolixium Communications Network Logo]]The Prolixium Communications Network (known also as &#039;&#039;&#039;PCN&#039;&#039;&#039;, &#039;&#039;&#039;mynet&#039;&#039;&#039;, &#039;&#039;&#039;My Network&#039;&#039;&#039;, &#039;&#039;&#039;Prolixium .NET&#039;&#039;&#039;, and &#039;&#039;&#039;My Hobby Network&#039;&#039;&#039;) is a collection of small, geographically disperse, computer networks that provide [[IPv4]] and [[IPv6]], [[VPN]], and [[VoIP]] services to the [[Kamichoff]] family.  Owned and operated solely by [[Mark Kamichoff]], PCN often serves as a testbed for various network experiments.  Some of the PCN nodes are connected via residential data services ([[cable modem]]), while others are located in [[data center|data centers]] have [[Gigabit Ethernet]] (or better) connections to the [[Internet]].&lt;br /&gt;
&lt;br /&gt;
== Current State ==&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
[[file:wan.png|thumb|PCN WAN Architecture]][[file:pcn-world.png|thumb|PCN World Map]]As of March 10, 2024, PCN is composed of several networks in the [[United States]] and across the globe, connected via [[OpenVPN]] and [[WireGuard]] with the IPv6 backbone connected via [[6in4]] tunnels:&lt;br /&gt;
&lt;br /&gt;
* [[North Brunswick, NJ]]: [[nat]].prolixium.com on [[FTTH]] via [[Verizon FiOS]]&lt;br /&gt;
* [[Piscataway, NJ]]&lt;br /&gt;
** [[excalibur]].prolixium.com on Virtual I/O via [https://www.vultr.com/ Vultr]&lt;br /&gt;
** [[dax]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Toronto, Canada]]: [[tiny]].prolixium.com on Virtual I/O via [http://atlantic.net/ atlantic.net]&lt;br /&gt;
* [[Dallas, TX]]: [[nox]].prolixium.com on Virtual I/O via [http://www.linode.com/ Linode]&lt;br /&gt;
* Dallas, TX: [[concorde]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Ashburn, VA]]: [[pegasus]].prolixium.com on Virtual I/O via [https://freerangecloud.com/ Free Range Cloud]&lt;br /&gt;
* Ashburn, VA: [[daedalus]].prolixium.com on Virtual I/O via [https://tier.net/ Tier.Net]&lt;br /&gt;
* Ashburn, VA: [[matrix]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA: [[elise]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA&lt;br /&gt;
** [[discovery]].prolixium.com via [[Verizon FiOS]]&lt;br /&gt;
** [[sprint]].prolixium.com via [[Verizon Wireless]] (LTE)&lt;br /&gt;
* [[Seattle, WA]]: [[orca]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* Seattle, WA: [[interstellar]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Sarasota, FL]]: [[scimitar]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Los Angeles, CA]]: [[trident]].prolixium.com Virtual I/O via [http://www.arpnetworks.com/ ARP Networks]&lt;br /&gt;
* [[Clover, SC]]: [[trefoil]].prolixium.com on ADSL via [[Spectrum]]&lt;br /&gt;
* [[York, SC]]: [[exodus]].prolixium.com on ADSL via [[AT&amp;amp;T]]&lt;br /&gt;
* [[Austin, TX]]: [[photonic]].prolixium.com on FTTH via Google Fiber&lt;br /&gt;
* [[Charlotte, NC]]: [[storm]].prolixium.com on FTTH via AT&amp;amp;T&lt;br /&gt;
* [[Arlington, VA]]: [[merlin]].prolixium.com on Ethernet via Comcast Business / Zayo&lt;br /&gt;
* [[Agawam, MA]]: [[galactica]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Amsterdam, Netherlands]]: [[firefly]].prolixium.com on Virtual I/O via [http://www.digitalocean.com/ DigitalOcean]&lt;br /&gt;
* [[Singapore]]: [[centauri]].prolixium.com on Virtual I/O via [http://ec2.amazon.com/ Amazon EC2]&lt;br /&gt;
&lt;br /&gt;
Each site has multiple OpenVPN tunnels to other locations supporting both IPv4 and IPv6.  The network is primarily powered by [[Free Range Routing]] (FRR) with some sites using [[BIRD]].&lt;br /&gt;
&lt;br /&gt;
=== Routing ===&lt;br /&gt;
&lt;br /&gt;
The routing infrastructure consists of several autonomous systems, taken from the IANA-allocated private range: 64512 through 65534.  Each site runs IBGP, possibly with a route reflector, and its own [[IGP]] for local next-hop resolution.  EBGP is used between sites and peering connections.  IPv4 Internet connectivity for each site is achieved by advertisement of default routes from boxes performing NAT.  The [[Prolixium Communications Network#Lab|lab]] is connected to [[starfire]] (core router) in Ashburn, VA.  The PCN used to use one large OSPF area with no EGP.  It was converted to a [[BGP]] confederation setup, which was a bad idea (but educational!), then reconverted to its current state.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet.png|280px|BGP on PCN]]&lt;br /&gt;
&lt;br /&gt;
=== IPv6 Connectivity ===&lt;br /&gt;
&lt;br /&gt;
IPv6 connectivity is provided by four (5) direct connections to Vultr (The Constant Company), ARP Networks, Free Range Cloud, and Tier.Net.  A Hurricane Electric BGP tunnel is used as backups off excalibur &amp;amp; trident but is depreferenced.  The border transit network piece of the PCN provides this connectivity.&lt;br /&gt;
&lt;br /&gt;
IPv6 addressing is out of 2620:6:2000::/44, which is a direct allocation from ARIN.&lt;br /&gt;
&lt;br /&gt;
==== Border Transit Network ====&lt;br /&gt;
&lt;br /&gt;
The border transit network operates in AS395460 and consists of [[excalibur]], [[trident]], [[orca]], [[pegasus]], [[daedalus]], and [[concorde]].  Connectivity is provided by the following transit peers:&lt;br /&gt;
&lt;br /&gt;
* trident: AS25795 and AS6939&lt;br /&gt;
* excalibur: AS20473 and AS6939&lt;br /&gt;
* orca: AS20473&lt;br /&gt;
* concorde: AS20473&lt;br /&gt;
* pegasus: AS53356&lt;br /&gt;
* daedalus: AS397423&lt;br /&gt;
&lt;br /&gt;
This network injects a default route into the rest of the PCN, which can be referred to PEN (Prolixium Enterprise Network).  The border network receives a full table from all transits and advertises 2620:6:2000::/44 out each peer along with some sites advertising /48 specifics for networks that are nearby.&lt;br /&gt;
&lt;br /&gt;
Hurricane Electric (AS6939) is only used as backup because it is a tunneled connection and is suspected to be throttled.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet-transit.png|280px|Border Transit Network]]&lt;br /&gt;
&lt;br /&gt;
[[file:pcn-world2-transit.png|280px|Border Transit Network Map]]&lt;br /&gt;
&lt;br /&gt;
The following hosts do not default route to the border transit network and use their own native IPv6 connectivity:&lt;br /&gt;
&lt;br /&gt;
* centauri&lt;br /&gt;
* firefly&lt;br /&gt;
* storm&lt;br /&gt;
&lt;br /&gt;
The following hosts may have IPv6 connectivity but it&#039;s not currently enabled (at time of writing):&lt;br /&gt;
&lt;br /&gt;
* exodus&lt;br /&gt;
* galactica&lt;br /&gt;
* photonic&lt;br /&gt;
&lt;br /&gt;
=== DNS ===&lt;br /&gt;
&lt;br /&gt;
[[DNS]] is done with two views: internal and external.  PCN has two external nameservers, and four internal ones, all which perform zone transfers from the master nameserver, ns3.antiderivative.net.  antiderivative.net is used for all NS records, as well as glue records at the GTLD servers.  The internal nameservers are ns{1-4} and external ones are ns{2,3}.  Each zone has two views, internal and external, and a common file that is included in both views (SOA, etc.).  The zones include the following:&lt;br /&gt;
&lt;br /&gt;
* Internal view, answering to 10/8, 172.16/12, and 192.168/16 addresses&lt;br /&gt;
** 3.10.in-addr.arpa. and 3.16.172.in-addr.arpa. reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s internal A/CNAME records&lt;br /&gt;
* External view, answering to everything !RFC1918&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s external A/CNAME records&lt;br /&gt;
* Common information, answering for all hosts&lt;br /&gt;
** 0.0.0.2.6.0.0.0.0.2.6.2.ip6.arpa., and other reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s common MX records&lt;br /&gt;
&lt;br /&gt;
Previously, the Xicada DNS Service (developed by Mark Kamichoff) kept track of all the forward delegations as well as IPv4 reverse delegations on Xicada.  The administrator of each node enumerated their zones into a web form, and then configured their DNS server to pull down a forwarders definition for all Xicada zones.  It supported BIND and djbdns, but also outputted a CSV file if someone decided to use another DNS server.  It was originally intended that each DNS server should pull down a fesh copy of the forwarders definition file nightly, but there were really no rules.&lt;br /&gt;
&lt;br /&gt;
Mark Kamichoff has a policy on his network to have DNS entries (includes A, AAAA, and PTR) for each and every active IP address.  If a host is offline, the DNS records should be immediately expunged.  This precludes the requirement of a host management system or a collection of poorly-maintained spreadsheets.  If an IP is needed, the PTR should be checked.  All [[DHCP]]-assigned IP addresses are created via {side ID}-{lastoctet}.prolixium.com.  Again, no confusion.  DNS itself is a database, so why not use it?&lt;br /&gt;
&lt;br /&gt;
All transit links on PCN are addressed using the prolixium.net domain.  The format is {unit/VLAN}.{interface}.{host}.prolixium.net.  For example, the xl1 interface on starfire would be: xl1.starfire.prolixium.net.  There is a collection of DNS entries for every IPv4 and IPv6 transit link.  There is not one hop in my network which has no PTR record (or a PTR record w/out a corresponding A or AAAA record).  Each router has a loopback interface with IPv4 and IPv6 addresses (if supported).&lt;br /&gt;
&lt;br /&gt;
=== Ashburn-Specific Setup ===&lt;br /&gt;
&lt;br /&gt;
[[file:charlotte.png|thumb|Ashburn LAN]]The network setup in Ashburn (formerly Seattle, WA and Charlotte, NC) is slightly different from the other sites, where there is a single router with a dynamic address.  In the Ashburn location there are two ISPs and they&#039;re terminated in separate LXC instances (all with VPNs to at least one of interstellar, nox, dax, or elise - the &amp;quot;enterprise&amp;quot; network):&lt;br /&gt;
&lt;br /&gt;
* discovery (on evolution) - Verizon FiOS&lt;br /&gt;
* sprint (on evolution) - Verizon Wireless (LTE)&lt;br /&gt;
&lt;br /&gt;
starfire and evolution are the two core routers with multiple Gigabit Ethernet interfaces.  The current routing setup is as follows:&lt;br /&gt;
&lt;br /&gt;
* IPv6 (Internet &amp;amp; internal) inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via VPN&lt;br /&gt;
* IPv4 Internet inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via NAT&lt;br /&gt;
* All LXCs above advertise an IPv4 default route into OSPFv2&lt;br /&gt;
* LOCAL_PREF and AS_PATH prepending influence the traffic flow&lt;br /&gt;
&lt;br /&gt;
In the case of backup, discovery is replaced with the LXC sprint.&lt;br /&gt;
&lt;br /&gt;
In the past, NetFlow was used on atlantis, which was depicted in the drawing below:&lt;br /&gt;
&lt;br /&gt;
[[file:netflow.png|280px|PCN NetFlow Setup]]&lt;br /&gt;
&lt;br /&gt;
The NetFlow collector ran [http://www.ntop.org/ ntop], but this was uninstalled due to instability.&lt;br /&gt;
&lt;br /&gt;
=== Printing ===&lt;br /&gt;
&lt;br /&gt;
The whole printing/CUPS/lpd setup is mostly an annoyance.  Most people would want to run CUPS on every Unix client on the network.  Mark Kamichoff believes it&#039;s better to have a lightweight client send a [http://en.wikipedia.org/wiki/PostScript PostScript] file via lpd to a CUPS server rather than sending a huge RAW raster stream across the network and have both the client and server do print processing.  See the diagram to the bottom:&lt;br /&gt;
&lt;br /&gt;
[[file:printing.png|280px|PCN Printing Setup]]&lt;br /&gt;
&lt;br /&gt;
=== SmokePing ===&lt;br /&gt;
&lt;br /&gt;
For monitoring, PCN uses a combination of Nagios, SmokePing, and [[MRTG]].  The SmokePing setup itself is a combination of slaves and masters, both IPv4 and IPv6.&lt;br /&gt;
&lt;br /&gt;
[[file:smokeping.png|280px|SmokePing]]&lt;br /&gt;
&lt;br /&gt;
[[nox]] is the master for a few slaves:&lt;br /&gt;
&lt;br /&gt;
* [[tiny]] - VPS connected to atlantic.net&lt;br /&gt;
* [[storm]] - RPi 5 connected to AT&amp;amp;T Fiber&lt;br /&gt;
* [[exodus]] - RPi 3 connected to AT&amp;amp;T DSL&lt;br /&gt;
* [[galactica]] - RPi 4 B connected to Comcast Xfinity&lt;br /&gt;
* [[photonic]] - RPi 4 B connected to Google Fiber&lt;br /&gt;
* [[merlin]] - RPi 3 B connected to Comcast Business / Zayo&lt;br /&gt;
* [[trefoil]] - RPi 5 connected to Spectrum&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;History is hidden by default.  Click &#039;&#039;&#039;expand&#039;&#039;&#039; to see it.&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;Warning: This entire section is written in the first-person ([[Mark Kamichoff|Mark Kamichoff&#039;s]]) point of view&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Beginnings ===&lt;br /&gt;
&lt;br /&gt;
After joining the [[http://xicada.sf.net Xicada] network back at [[RPI]], I decided to continue linking all of my networks and sites together via various VPN technologies.  At first, the network was just a simple VPN between my network at home and a few computers in my dorm room at RPI.  The connection tunnelled through RPI&#039;s firewall like a knife through warm butter, using OpenVPN&#039;s [[UDP]] encapsulation mode.  Actually, a site to site UDP tunnel was the only thing OpenVPN offered, back then.  My router at RPI was a blazing-fast [[Pentium]] 166MHz box running [[Debian GNU/Linux]].  At that point, my Xicada tunnels were terminated on another box I found in the trash, an old AMD K6-300, which eventually ran FreeBSD 4.&lt;br /&gt;
&lt;br /&gt;
The network quickly started expanding, and I was able to move the K6-300 box (starfire) into the ACM&#039;s lab, which was given a 100mbit link, in the basement of the DCC.  At this point in time, my network had three sites: home, the lab, and my dorm room.  Since I didn&#039;t stick around RPI during most summers, I reterminated the Xicada links on starfire, since it sported a more permanent link.&lt;br /&gt;
&lt;br /&gt;
Shortly after starfire was moved to the lab, I started toying with IPv6, and acquired a tunnel via Freenet6 (now Hexago, since they&#039;re actually trying to sell products, or something).  RPI&#039;s firewall wouldn&#039;t allow IP protocol 41 through the firewall, and my attempts at getting this opened up for my IP failed.  So, I terminated the IPv6 tunnel on my box at home, which sat on Optimum Online.  Freenet6 gave me a /48 block out of the 3ffe::/16 6bone space, and I started distributing /64&#039;s out to all of my LAN segments.  I started running Zebra&#039;s OSPFv3 daemon, and realized it was buggy as all get out.  It mostly worked, though.  Since Freenet6 gave me an ip6.int. delegation, I spent some time applying tons of patches to djbdns, my DNS server of choice, back then.  After tons of patching, I got IPv6 support, which was fairly neat at the time.  What did I use this new-found IPv6 connectivity for?  IRC and web site hosting. www.prolixium.com has had an AAAA record since at least 2003.&lt;br /&gt;
&lt;br /&gt;
Sometime in 2003 (I forget when), I moved my IPv6 tunnel to BTExact, British Telecom&#039;s free tunnel broker that actually gave out non-6bone /48&#039;s and ip6.arpa. DNS delegations.  I quickly moved to them, and enjoyed quicker speeds than Freenet6 for about a year.  Of course, after a year, my parents had a power outage at home, and my server lost the IP it had with OOL for the past two years.  BTExact, at that time, had frozen their tunnel broker service, and didn&#039;t allow any modifications or new tunnels to be created.  I went back to Freenet6, who had changed to 2001::/16 space.&lt;br /&gt;
&lt;br /&gt;
After leaving RPI, and getting a job, I decided to purchase a dedicated server from SagoNet.  I extended my network down to Tampa, FL, where the server was located.&lt;br /&gt;
&lt;br /&gt;
Fast-forwarding to the present day, I currently have six sites, and native IPv6 from Voxel dot Net.  Almost every host on the network is IPv6-aware, and the IPv6 connectivity is controlled completely by pf.&lt;br /&gt;
&lt;br /&gt;
Xicada connectivity at this point has been terminated, due to lack of interest.&lt;br /&gt;
&lt;br /&gt;
=== [[VLAN]] Conversion (Laundry Room Data Center) ===&lt;br /&gt;
&lt;br /&gt;
[[file:vlan.png|thumb|VLAN Setup]]I&#039;m lucky to have CAT5(e?) cabled to every room in my condo, all aggregated in the [[laundry room]], I figured it was time to deploy a couple different VLANs on my network.  Initially, I just had a dumb switch connecting all of the various ports in different rooms together.  Since that was too simple of a solution, I picked up a Cisco 2940 switch on [http://www.ebay.com/ eBay], and setup a 1Gbit trunk between starfire and the laundry room.  I setup 4x VLANs:&lt;br /&gt;
&lt;br /&gt;
* 2: Various wall jacks&lt;br /&gt;
* 3: Media center link (connected to kamikaze)&lt;br /&gt;
* 4: Linksys link (connected to mercury)&lt;br /&gt;
* 5: Lab link (connected to hysteresis)&lt;br /&gt;
&lt;br /&gt;
I ended up throwing some other gear in the laundry room along with the switch, and ended up moving my lab (3.0) there.&lt;br /&gt;
&lt;br /&gt;
=== BGP (Confederations) Conversion ===&lt;br /&gt;
&lt;br /&gt;
==== History ====&lt;br /&gt;
&lt;br /&gt;
Starting with the Xicada project, my network was one big OSPF backbone area.  Entirely flat, except for some route redistribution for the lab connection.  When I added OSPFv3 for IPv6 reachability, it was no different - one big area: no stub areas, no frills.  It worked, but was boring, and didn&#039;t provide the flexibility required if I wanted to start redirecting Internet traffic.&lt;br /&gt;
&lt;br /&gt;
After reading up on BGP, I realized I could make my network 1000% more complex, while gaining some real-world experience.  Sounds like a plan, huh?&lt;br /&gt;
Preparation and Design&lt;br /&gt;
&lt;br /&gt;
Due to some Quagga instability issues, I originally tested out some alternate BGP/OSPF implementations, including XORP.  Unfortunately, none of them fit the bill, and XORP, although promising, was horribly unstable and appeared to suffer from configuration file parsing issues, more than anything else.  So I decided to stick with Quagga.  I also decided to keep two separate BGP connections, one for IPv4 and one for IPv6 (so I didn&#039;t run into any nasty next-hop accessibility problems).&lt;br /&gt;
&lt;br /&gt;
One of the goals of the redesign was to eliminate the large network-wide IGP process and break down each site into sub-ASes, using BGP confederations and route reflectors.  This required a partial mesh of CBGP (confederation BGP - like EBGP, but more attributes are retained) between all the sites, to take advantage of the tunnels.  Unfortunately, this meant that I had to renumber all of my IPv6 tunnels, since they were all /128&#039;s.  Not a big deal.  I didn&#039;t want to do this with the IPv4 (OpenVPN) tunnels, since the documentation strongly recommended against the use of anything other than a 32-bit netmask.  This required the use of the ebgp-multihop command, since according to most [E]BGP implementations, /32&#039;s or /128&#039;s connecting to each other is not classified as &#039;directly connected&#039; for some reason.  (doesn&#039;t make sense to me, since even a TTL of 1 should theoretically allow communication to succeed)&lt;br /&gt;
&lt;br /&gt;
At each site, I wanted to run IBGP internally, and designate one box to be the route reflector, in order to loosen the IBGP full-mesh requirement.  Some of the OpenWrt devices did not have loopbacks at the time, so I needed to shuffle around some addresses and fix this.&lt;br /&gt;
&lt;br /&gt;
I&#039;d still run an IGP internal to each site (not nox or dax, since they are only one router), and advertise a default route via OSPFv2 within the site, for Internet access.  I could also advertise default routes from two different routers within a site, for redundancy and failover Internet access.&lt;br /&gt;
&lt;br /&gt;
So, here&#039;s some of the tasks I performed prior to making any routing changes:&lt;br /&gt;
&lt;br /&gt;
# Add loopbacks to all routers&lt;br /&gt;
# Redo all IPv6 tunnel interfaces, converted to /126&#039;s to avoid subnet-router anycast issues&lt;br /&gt;
# Redo tunnel naming standards (was too long before)&lt;br /&gt;
&lt;br /&gt;
==== IPv6 Migration ====&lt;br /&gt;
&lt;br /&gt;
I figured, since on most platforms, IGP routes take precedence over BGP routes, I could add all the peering relationships and get everything setup without skipping a beat.  Quagga&#039;s zebra process wouldn&#039;t insert or remove anything from the FIB (the kernel routing table).  Then I could remove OSPFv3 from all the WAN links, and zebra would just shuffle around the routes, but reachability would come back within a few minutes, maybe?&lt;br /&gt;
&lt;br /&gt;
So I started building the BGP neighbors, and quickly ran into a problem.  For some reason, no IPv6 BGP routes were being sent to other peers from Quagga&#039;s bgpd.  I posted a message to the mailing list, and quickly got a helpful response.  Apparently I was hitting a bug that&#039;s been in Quagga for awhile (typo) that dealt with the address-family negotiation between peers.  The quick fix was to add &#039;override-capability&#039; to each neighbor (or peer group) and it would accept all advertised address families.&lt;br /&gt;
&lt;br /&gt;
After all the peers were setup, I disabled [[OSPFv3]] on all the WAN links, and everything reconverged... oddly.  It looked like BGP was doing path-selection based on tiebreakers, and picking the higher peer address as the best path for a destination, even if it meant not utilizing the directly connected link.  After scratching my head for a few minutes, I realized my stupidity.  Normal BGP treats AS_CONFED_SEQUENCE and AS_CONFED_SET as a length of one, so all paths through my network looked like they had an AS path length of *1*.  Luckily, Quagga had a nice bgp bestpath as-path confed command that modified the path selection algorithm, and gave me what I wanted.  I described this a blog entry.&lt;br /&gt;
&lt;br /&gt;
Since I wanted all loopbacks and transit interfaces reachable from anywhere, I added a ton of network statements to bgpd.  It felt like a hack, but isn&#039;t too bad, since there&#039;s really no other way of doing it, without using a network-wide IGP.&lt;br /&gt;
&lt;br /&gt;
==== IPv4 Migration ====&lt;br /&gt;
&lt;br /&gt;
Since the IPv6 migration was successful, I figured the IPv4 migration would turn out the same - and it did, mostly.&lt;br /&gt;
&lt;br /&gt;
I started setting up the IPv4 BGP neighbors, and ran into a strange issue with ScreenOS.  I&#039;ve documented it here.  Basically, my two Juniper firewalls wouldn&#039;t establish IBGP connections unless they were configured as passive neighbors (wait for a connection).&lt;br /&gt;
&lt;br /&gt;
After all the IPv4 BGP connections were up and running, I killed the network-wide IGP process entirely (shut off ospfd/ospf6d on dax and nox), and let everything reconverge.  It worked out of the box - success!&lt;br /&gt;
&lt;br /&gt;
I removed the static default routes on my OpenWrt routers, and advertised defaults at each site.  No problem there.&lt;br /&gt;
&lt;br /&gt;
==== Finish ====&lt;br /&gt;
&lt;br /&gt;
Although I ran into a number of problems, and probably complicated troubleshooting of my network by an order of magnitude, I think the conversion was worth it.  Now if anyone wants to start Xicada 2.0, we can do it right, this time...&lt;br /&gt;
&lt;br /&gt;
=== EBGP Conversion ===&lt;br /&gt;
&lt;br /&gt;
I got sick of confederations, so I just removed the confederation statements and converted all of the inter-site links to straight EBGP.&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
PCN enables several applications:&lt;br /&gt;
&lt;br /&gt;
* VoIP (via [[SIP]] / G.711u)&lt;br /&gt;
* IPv6 Internet access&lt;br /&gt;
* Streaming audio&lt;br /&gt;
&lt;br /&gt;
== Lab ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Main Article: [[PCN Lab]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The PCN lab is Mark Kamichoff&#039;s network proving ground and general hacking arena.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.prolixium.com/mrtgfe PCN MRTG]&lt;br /&gt;
* [http://www.prolixium.net/ PCN Home Page]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:charlotte.png&amp;diff=820</id>
		<title>File:charlotte.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:charlotte.png&amp;diff=820"/>
		<updated>2025-03-11T00:02:23Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:charlotte.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Charlotte LAN Environment&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:charlotte.png&amp;diff=819</id>
		<title>File:charlotte.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:charlotte.png&amp;diff=819"/>
		<updated>2024-12-07T00:51:09Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:charlotte.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Charlotte LAN Environment&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:smokeping.png&amp;diff=818</id>
		<title>File:smokeping.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:smokeping.png&amp;diff=818"/>
		<updated>2024-05-12T22:45:51Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:smokeping.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PCN SmokePing&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=817</id>
		<title>Prolixium Communications Network</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=817"/>
		<updated>2024-05-12T22:45:33Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: /* SmokePing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:pcn.png|thumb|280px|Prolixium Communications Network Logo]]The Prolixium Communications Network (known also as &#039;&#039;&#039;PCN&#039;&#039;&#039;, &#039;&#039;&#039;mynet&#039;&#039;&#039;, &#039;&#039;&#039;My Network&#039;&#039;&#039;, &#039;&#039;&#039;Prolixium .NET&#039;&#039;&#039;, and &#039;&#039;&#039;My Hobby Network&#039;&#039;&#039;) is a collection of small, geographically disperse, computer networks that provide [[IPv4]] and [[IPv6]], [[VPN]], and [[VoIP]] services to the [[Kamichoff]] family.  Owned and operated solely by [[Mark Kamichoff]], PCN often serves as a testbed for various network experiments.  Some of the PCN nodes are connected via residential data services ([[cable modem]]), while others are located in [[data center|data centers]] have [[Gigabit Ethernet]] (or better) connections to the [[Internet]].&lt;br /&gt;
&lt;br /&gt;
== Current State ==&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
[[file:wan.png|thumb|PCN WAN Architecture]][[file:pcn-world.png|thumb|PCN World Map]]As of March 10, 2024, PCN is composed of several networks in the [[United States]] and across the globe, connected via [[OpenVPN]] and [[WireGuard]] with the IPv6 backbone connected via [[6in4]] tunnels:&lt;br /&gt;
&lt;br /&gt;
* [[North Brunswick, NJ]]: [[nat]].prolixium.com on [[FTTH]] via [[Verizon FiOS]]&lt;br /&gt;
* [[Piscataway, NJ]]&lt;br /&gt;
** [[excalibur]].prolixium.com on Virtual I/O via [https://www.vultr.com/ Vultr]&lt;br /&gt;
** [[dax]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Toronto, Canada]]: [[tiny]].prolixium.com on Virtual I/O via [http://atlantic.net/ atlantic.net]&lt;br /&gt;
* [[Dallas, TX]]: [[nox]].prolixium.com on Virtual I/O via [http://www.linode.com/ Linode]&lt;br /&gt;
* Dallas, TX: [[concorde]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Ashburn, VA]]: [[pegasus]].prolixium.com on Virtual I/O via [https://freerangecloud.com/ Free Range Cloud]&lt;br /&gt;
* Ashburn, VA: [[daedalus]].prolixium.com on Virtual I/O via [https://tier.net/ Tier.Net]&lt;br /&gt;
* Ashburn, VA: [[matrix]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA: [[elise]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA&lt;br /&gt;
** [[discovery]].prolixium.com via [[Verizon FiOS]]&lt;br /&gt;
** [[sprint]].prolixium.com via [[Verizon Wireless]] (LTE)&lt;br /&gt;
* [[Seattle, WA]]: [[orca]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* Seattle, WA: [[interstellar]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Sarasota, FL]]: [[scimitar]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Los Angeles, CA]]: [[trident]].prolixium.com Virtual I/O via [http://www.arpnetworks.com/ ARP Networks]&lt;br /&gt;
* [[Clover, SC]]: [[trefoil]].prolixium.com on ADSL via [[Spectrum]]&lt;br /&gt;
* [[York, SC]]: [[exodus]].prolixium.com on ADSL via [[AT&amp;amp;T]]&lt;br /&gt;
* [[Austin, TX]]: [[photonic]].prolixium.com on FTTH via Google Fiber&lt;br /&gt;
* [[Charlotte, NC]]: [[storm]].prolixium.com on FTTH via AT&amp;amp;T&lt;br /&gt;
* [[Arlington, VA]]: [[merlin]].prolixium.com on Ethernet via Comcast Business / Zayo&lt;br /&gt;
* [[Agawam, MA]]: [[galactica]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Amsterdam, Netherlands]]: [[firefly]].prolixium.com on Virtual I/O via [http://www.digitalocean.com/ DigitalOcean]&lt;br /&gt;
* [[Singapore]]: [[centauri]].prolixium.com on Virtual I/O via [http://ec2.amazon.com/ Amazon EC2]&lt;br /&gt;
&lt;br /&gt;
Each site has multiple OpenVPN tunnels to other locations supporting both IPv4 and IPv6.  The network is primarily powered by [[Free Range Routing]] (FRR) with some sites using [[BIRD]].&lt;br /&gt;
&lt;br /&gt;
=== Routing ===&lt;br /&gt;
&lt;br /&gt;
The routing infrastructure consists of several autonomous systems, taken from the IANA-allocated private range: 64512 through 65534.  Each site runs IBGP, possibly with a route reflector, and its own [[IGP]] for local next-hop resolution.  EBGP is used between sites and peering connections.  IPv4 Internet connectivity for each site is achieved by advertisement of default routes from boxes performing NAT.  The [[Prolixium Communications Network#Lab|lab]] is connected to [[starfire]] (core router) in Ashburn, VA.  The PCN used to use one large OSPF area with no EGP.  It was converted to a [[BGP]] confederation setup, which was a bad idea (but educational!), then reconverted to its current state.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet.png|280px|BGP on PCN]]&lt;br /&gt;
&lt;br /&gt;
=== IPv6 Connectivity ===&lt;br /&gt;
&lt;br /&gt;
IPv6 connectivity is provided by four (5) direct connections to Vultr (The Constant Company), ARP Networks, Free Range Cloud, and Tier.Net.  A Hurricane Electric BGP tunnel is used as backups off excalibur &amp;amp; trident but is depreferenced.  The border transit network piece of the PCN provides this connectivity.&lt;br /&gt;
&lt;br /&gt;
IPv6 addressing is out of 2620:6:2000::/44, which is a direct allocation from ARIN.&lt;br /&gt;
&lt;br /&gt;
==== Border Transit Network ====&lt;br /&gt;
&lt;br /&gt;
The border transit network operates in AS395460 and consists of [[excalibur]], [[trident]], [[orca]], [[pegasus]], [[daedalus]], and [[concorde]].  Connectivity is provided by the following transit peers:&lt;br /&gt;
&lt;br /&gt;
* trident: AS25795 and AS6939&lt;br /&gt;
* excalibur: AS20473 and AS6939&lt;br /&gt;
* orca: AS20473&lt;br /&gt;
* concorde: AS20473&lt;br /&gt;
* pegasus: AS53356&lt;br /&gt;
* daedalus: AS397423&lt;br /&gt;
&lt;br /&gt;
This network injects a default route into the rest of the PCN, which can be referred to PEN (Prolixium Enterprise Network).  The border network receives a full table from all transits and advertises 2620:6:2000::/44 out each peer along with some sites advertising /48 specifics for networks that are nearby.&lt;br /&gt;
&lt;br /&gt;
Hurricane Electric (AS6939) is only used as backup because it is a tunneled connection and is suspected to be throttled.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet-transit.png|280px|Border Transit Network]]&lt;br /&gt;
&lt;br /&gt;
[[file:pcn-world2-transit.png|280px|Border Transit Network Map]]&lt;br /&gt;
&lt;br /&gt;
The following hosts do not default route to the border transit network and use their own native IPv6 connectivity:&lt;br /&gt;
&lt;br /&gt;
* centauri&lt;br /&gt;
* firefly&lt;br /&gt;
* storm&lt;br /&gt;
&lt;br /&gt;
The following hosts may have IPv6 connectivity but it&#039;s not currently enabled (at time of writing):&lt;br /&gt;
&lt;br /&gt;
* exodus&lt;br /&gt;
* galactica&lt;br /&gt;
* photonic&lt;br /&gt;
&lt;br /&gt;
=== DNS ===&lt;br /&gt;
&lt;br /&gt;
[[DNS]] is done with two views: internal and external.  PCN has two external nameservers, and four internal ones, all which perform zone transfers from the master nameserver, ns3.antiderivative.net.  antiderivative.net is used for all NS records, as well as glue records at the GTLD servers.  The internal nameservers are ns{1-4} and external ones are ns{2,3}.  Each zone has two views, internal and external, and a common file that is included in both views (SOA, etc.).  The zones include the following:&lt;br /&gt;
&lt;br /&gt;
* Internal view, answering to 10/8, 172.16/12, and 192.168/16 addresses&lt;br /&gt;
** 3.10.in-addr.arpa. and 3.16.172.in-addr.arpa. reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s internal A/CNAME records&lt;br /&gt;
* External view, answering to everything !RFC1918&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s external A/CNAME records&lt;br /&gt;
* Common information, answering for all hosts&lt;br /&gt;
** 0.0.0.2.6.0.0.0.0.2.6.2.ip6.arpa., and other reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s common MX records&lt;br /&gt;
&lt;br /&gt;
Previously, the Xicada DNS Service (developed by Mark Kamichoff) kept track of all the forward delegations as well as IPv4 reverse delegations on Xicada.  The administrator of each node enumerated their zones into a web form, and then configured their DNS server to pull down a forwarders definition for all Xicada zones.  It supported BIND and djbdns, but also outputted a CSV file if someone decided to use another DNS server.  It was originally intended that each DNS server should pull down a fesh copy of the forwarders definition file nightly, but there were really no rules.&lt;br /&gt;
&lt;br /&gt;
Mark Kamichoff has a policy on his network to have DNS entries (includes A, AAAA, and PTR) for each and every active IP address.  If a host is offline, the DNS records should be immediately expunged.  This precludes the requirement of a host management system or a collection of poorly-maintained spreadsheets.  If an IP is needed, the PTR should be checked.  All [[DHCP]]-assigned IP addresses are created via {side ID}-{lastoctet}.prolixium.com.  Again, no confusion.  DNS itself is a database, so why not use it?&lt;br /&gt;
&lt;br /&gt;
All transit links on PCN are addressed using the prolixium.net domain.  The format is {unit/VLAN}.{interface}.{host}.prolixium.net.  For example, the xl1 interface on starfire would be: xl1.starfire.prolixium.net.  There is a collection of DNS entries for every IPv4 and IPv6 transit link.  There is not one hop in my network which has no PTR record (or a PTR record w/out a corresponding A or AAAA record).  Each router has a loopback interface with IPv4 and IPv6 addresses (if supported).&lt;br /&gt;
&lt;br /&gt;
=== Ashburn-Specific Setup ===&lt;br /&gt;
&lt;br /&gt;
[[file:charlotte.png|thumb|Ashburn LAN]]The network setup in Ashburn (formerly Seattle, WA and Charlotte, NC) is slightly different from the other sites, where there is a single router with a dynamic address.  In the Ashburn location there are two ISPs and they&#039;re terminated in separate LXC instances (all with VPNs to at least one of interstellar, nox, dax, or elise - the &amp;quot;enterprise&amp;quot; network):&lt;br /&gt;
&lt;br /&gt;
* discovery (on evolution) - Verizon FiOS&lt;br /&gt;
* sprint (on evolution) - Verizon Wireless (LTE)&lt;br /&gt;
&lt;br /&gt;
starfire and evolution are the two core routers with multiple Gigabit Ethernet interfaces.  The current routing setup is as follows:&lt;br /&gt;
&lt;br /&gt;
* IPv6 (Internet &amp;amp; internal) inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via VPN&lt;br /&gt;
* IPv4 Internet inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via NAT&lt;br /&gt;
* All LXCs above advertise an IPv4 default route into OSPFv2&lt;br /&gt;
* LOCAL_PREF and AS_PATH prepending influence the traffic flow&lt;br /&gt;
&lt;br /&gt;
In the case of backup, discovery is replaced with the LXC sprint.&lt;br /&gt;
&lt;br /&gt;
In the past, NetFlow was used on atlantis, which was depicted in the drawing below:&lt;br /&gt;
&lt;br /&gt;
[[file:netflow.png|280px|PCN NetFlow Setup]]&lt;br /&gt;
&lt;br /&gt;
The NetFlow collector ran [http://www.ntop.org/ ntop], but this was uninstalled due to instability.&lt;br /&gt;
&lt;br /&gt;
=== Printing ===&lt;br /&gt;
&lt;br /&gt;
The whole printing/CUPS/lpd setup is mostly an annoyance.  Most people would want to run CUPS on every Unix client on the network.  Mark Kamichoff believes it&#039;s better to have a lightweight client send a [http://en.wikipedia.org/wiki/PostScript PostScript] file via lpd to a CUPS server rather than sending a huge RAW raster stream across the network and have both the client and server do print processing.  See the diagram to the bottom:&lt;br /&gt;
&lt;br /&gt;
[[file:printing.png|280px|PCN Printing Setup]]&lt;br /&gt;
&lt;br /&gt;
=== SmokePing ===&lt;br /&gt;
&lt;br /&gt;
For monitoring, PCN uses a combination of Nagios, SmokePing, and [[MRTG]].  The SmokePing setup itself is a combination of slaves and masters, both IPv4 and IPv6.&lt;br /&gt;
&lt;br /&gt;
[[file:smokeping.png|280px|SmokePing]]&lt;br /&gt;
&lt;br /&gt;
[[nox]] is the master for a few slaves:&lt;br /&gt;
&lt;br /&gt;
* [[tiny]] - VPS connected to atlantic.net&lt;br /&gt;
* [[storm]] - RPi 3 connected to AT&amp;amp;T Fiber&lt;br /&gt;
* [[exodus]] - RPi 3 connected to AT&amp;amp;T DSL&lt;br /&gt;
* [[galactica]] - RPi 4 B connected to Comcast Xfinity&lt;br /&gt;
* [[photonic]] - RPi 4 B connected to Google Fiber&lt;br /&gt;
* [[merlin]] - RPi 3 B connected to Comcast Business / Zayo&lt;br /&gt;
* [[trefoil]] - RPi 5 connected to Spectrum&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;History is hidden by default.  Click &#039;&#039;&#039;expand&#039;&#039;&#039; to see it.&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;Warning: This entire section is written in the first-person ([[Mark Kamichoff|Mark Kamichoff&#039;s]]) point of view&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Beginnings ===&lt;br /&gt;
&lt;br /&gt;
After joining the [[http://xicada.sf.net Xicada] network back at [[RPI]], I decided to continue linking all of my networks and sites together via various VPN technologies.  At first, the network was just a simple VPN between my network at home and a few computers in my dorm room at RPI.  The connection tunnelled through RPI&#039;s firewall like a knife through warm butter, using OpenVPN&#039;s [[UDP]] encapsulation mode.  Actually, a site to site UDP tunnel was the only thing OpenVPN offered, back then.  My router at RPI was a blazing-fast [[Pentium]] 166MHz box running [[Debian GNU/Linux]].  At that point, my Xicada tunnels were terminated on another box I found in the trash, an old AMD K6-300, which eventually ran FreeBSD 4.&lt;br /&gt;
&lt;br /&gt;
The network quickly started expanding, and I was able to move the K6-300 box (starfire) into the ACM&#039;s lab, which was given a 100mbit link, in the basement of the DCC.  At this point in time, my network had three sites: home, the lab, and my dorm room.  Since I didn&#039;t stick around RPI during most summers, I reterminated the Xicada links on starfire, since it sported a more permanent link.&lt;br /&gt;
&lt;br /&gt;
Shortly after starfire was moved to the lab, I started toying with IPv6, and acquired a tunnel via Freenet6 (now Hexago, since they&#039;re actually trying to sell products, or something).  RPI&#039;s firewall wouldn&#039;t allow IP protocol 41 through the firewall, and my attempts at getting this opened up for my IP failed.  So, I terminated the IPv6 tunnel on my box at home, which sat on Optimum Online.  Freenet6 gave me a /48 block out of the 3ffe::/16 6bone space, and I started distributing /64&#039;s out to all of my LAN segments.  I started running Zebra&#039;s OSPFv3 daemon, and realized it was buggy as all get out.  It mostly worked, though.  Since Freenet6 gave me an ip6.int. delegation, I spent some time applying tons of patches to djbdns, my DNS server of choice, back then.  After tons of patching, I got IPv6 support, which was fairly neat at the time.  What did I use this new-found IPv6 connectivity for?  IRC and web site hosting. www.prolixium.com has had an AAAA record since at least 2003.&lt;br /&gt;
&lt;br /&gt;
Sometime in 2003 (I forget when), I moved my IPv6 tunnel to BTExact, British Telecom&#039;s free tunnel broker that actually gave out non-6bone /48&#039;s and ip6.arpa. DNS delegations.  I quickly moved to them, and enjoyed quicker speeds than Freenet6 for about a year.  Of course, after a year, my parents had a power outage at home, and my server lost the IP it had with OOL for the past two years.  BTExact, at that time, had frozen their tunnel broker service, and didn&#039;t allow any modifications or new tunnels to be created.  I went back to Freenet6, who had changed to 2001::/16 space.&lt;br /&gt;
&lt;br /&gt;
After leaving RPI, and getting a job, I decided to purchase a dedicated server from SagoNet.  I extended my network down to Tampa, FL, where the server was located.&lt;br /&gt;
&lt;br /&gt;
Fast-forwarding to the present day, I currently have six sites, and native IPv6 from Voxel dot Net.  Almost every host on the network is IPv6-aware, and the IPv6 connectivity is controlled completely by pf.&lt;br /&gt;
&lt;br /&gt;
Xicada connectivity at this point has been terminated, due to lack of interest.&lt;br /&gt;
&lt;br /&gt;
=== [[VLAN]] Conversion (Laundry Room Data Center) ===&lt;br /&gt;
&lt;br /&gt;
[[file:vlan.png|thumb|VLAN Setup]]I&#039;m lucky to have CAT5(e?) cabled to every room in my condo, all aggregated in the [[laundry room]], I figured it was time to deploy a couple different VLANs on my network.  Initially, I just had a dumb switch connecting all of the various ports in different rooms together.  Since that was too simple of a solution, I picked up a Cisco 2940 switch on [http://www.ebay.com/ eBay], and setup a 1Gbit trunk between starfire and the laundry room.  I setup 4x VLANs:&lt;br /&gt;
&lt;br /&gt;
* 2: Various wall jacks&lt;br /&gt;
* 3: Media center link (connected to kamikaze)&lt;br /&gt;
* 4: Linksys link (connected to mercury)&lt;br /&gt;
* 5: Lab link (connected to hysteresis)&lt;br /&gt;
&lt;br /&gt;
I ended up throwing some other gear in the laundry room along with the switch, and ended up moving my lab (3.0) there.&lt;br /&gt;
&lt;br /&gt;
=== BGP (Confederations) Conversion ===&lt;br /&gt;
&lt;br /&gt;
==== History ====&lt;br /&gt;
&lt;br /&gt;
Starting with the Xicada project, my network was one big OSPF backbone area.  Entirely flat, except for some route redistribution for the lab connection.  When I added OSPFv3 for IPv6 reachability, it was no different - one big area: no stub areas, no frills.  It worked, but was boring, and didn&#039;t provide the flexibility required if I wanted to start redirecting Internet traffic.&lt;br /&gt;
&lt;br /&gt;
After reading up on BGP, I realized I could make my network 1000% more complex, while gaining some real-world experience.  Sounds like a plan, huh?&lt;br /&gt;
Preparation and Design&lt;br /&gt;
&lt;br /&gt;
Due to some Quagga instability issues, I originally tested out some alternate BGP/OSPF implementations, including XORP.  Unfortunately, none of them fit the bill, and XORP, although promising, was horribly unstable and appeared to suffer from configuration file parsing issues, more than anything else.  So I decided to stick with Quagga.  I also decided to keep two separate BGP connections, one for IPv4 and one for IPv6 (so I didn&#039;t run into any nasty next-hop accessibility problems).&lt;br /&gt;
&lt;br /&gt;
One of the goals of the redesign was to eliminate the large network-wide IGP process and break down each site into sub-ASes, using BGP confederations and route reflectors.  This required a partial mesh of CBGP (confederation BGP - like EBGP, but more attributes are retained) between all the sites, to take advantage of the tunnels.  Unfortunately, this meant that I had to renumber all of my IPv6 tunnels, since they were all /128&#039;s.  Not a big deal.  I didn&#039;t want to do this with the IPv4 (OpenVPN) tunnels, since the documentation strongly recommended against the use of anything other than a 32-bit netmask.  This required the use of the ebgp-multihop command, since according to most [E]BGP implementations, /32&#039;s or /128&#039;s connecting to each other is not classified as &#039;directly connected&#039; for some reason.  (doesn&#039;t make sense to me, since even a TTL of 1 should theoretically allow communication to succeed)&lt;br /&gt;
&lt;br /&gt;
At each site, I wanted to run IBGP internally, and designate one box to be the route reflector, in order to loosen the IBGP full-mesh requirement.  Some of the OpenWrt devices did not have loopbacks at the time, so I needed to shuffle around some addresses and fix this.&lt;br /&gt;
&lt;br /&gt;
I&#039;d still run an IGP internal to each site (not nox or dax, since they are only one router), and advertise a default route via OSPFv2 within the site, for Internet access.  I could also advertise default routes from two different routers within a site, for redundancy and failover Internet access.&lt;br /&gt;
&lt;br /&gt;
So, here&#039;s some of the tasks I performed prior to making any routing changes:&lt;br /&gt;
&lt;br /&gt;
# Add loopbacks to all routers&lt;br /&gt;
# Redo all IPv6 tunnel interfaces, converted to /126&#039;s to avoid subnet-router anycast issues&lt;br /&gt;
# Redo tunnel naming standards (was too long before)&lt;br /&gt;
&lt;br /&gt;
==== IPv6 Migration ====&lt;br /&gt;
&lt;br /&gt;
I figured, since on most platforms, IGP routes take precedence over BGP routes, I could add all the peering relationships and get everything setup without skipping a beat.  Quagga&#039;s zebra process wouldn&#039;t insert or remove anything from the FIB (the kernel routing table).  Then I could remove OSPFv3 from all the WAN links, and zebra would just shuffle around the routes, but reachability would come back within a few minutes, maybe?&lt;br /&gt;
&lt;br /&gt;
So I started building the BGP neighbors, and quickly ran into a problem.  For some reason, no IPv6 BGP routes were being sent to other peers from Quagga&#039;s bgpd.  I posted a message to the mailing list, and quickly got a helpful response.  Apparently I was hitting a bug that&#039;s been in Quagga for awhile (typo) that dealt with the address-family negotiation between peers.  The quick fix was to add &#039;override-capability&#039; to each neighbor (or peer group) and it would accept all advertised address families.&lt;br /&gt;
&lt;br /&gt;
After all the peers were setup, I disabled [[OSPFv3]] on all the WAN links, and everything reconverged... oddly.  It looked like BGP was doing path-selection based on tiebreakers, and picking the higher peer address as the best path for a destination, even if it meant not utilizing the directly connected link.  After scratching my head for a few minutes, I realized my stupidity.  Normal BGP treats AS_CONFED_SEQUENCE and AS_CONFED_SET as a length of one, so all paths through my network looked like they had an AS path length of *1*.  Luckily, Quagga had a nice bgp bestpath as-path confed command that modified the path selection algorithm, and gave me what I wanted.  I described this a blog entry.&lt;br /&gt;
&lt;br /&gt;
Since I wanted all loopbacks and transit interfaces reachable from anywhere, I added a ton of network statements to bgpd.  It felt like a hack, but isn&#039;t too bad, since there&#039;s really no other way of doing it, without using a network-wide IGP.&lt;br /&gt;
&lt;br /&gt;
==== IPv4 Migration ====&lt;br /&gt;
&lt;br /&gt;
Since the IPv6 migration was successful, I figured the IPv4 migration would turn out the same - and it did, mostly.&lt;br /&gt;
&lt;br /&gt;
I started setting up the IPv4 BGP neighbors, and ran into a strange issue with ScreenOS.  I&#039;ve documented it here.  Basically, my two Juniper firewalls wouldn&#039;t establish IBGP connections unless they were configured as passive neighbors (wait for a connection).&lt;br /&gt;
&lt;br /&gt;
After all the IPv4 BGP connections were up and running, I killed the network-wide IGP process entirely (shut off ospfd/ospf6d on dax and nox), and let everything reconverge.  It worked out of the box - success!&lt;br /&gt;
&lt;br /&gt;
I removed the static default routes on my OpenWrt routers, and advertised defaults at each site.  No problem there.&lt;br /&gt;
&lt;br /&gt;
==== Finish ====&lt;br /&gt;
&lt;br /&gt;
Although I ran into a number of problems, and probably complicated troubleshooting of my network by an order of magnitude, I think the conversion was worth it.  Now if anyone wants to start Xicada 2.0, we can do it right, this time...&lt;br /&gt;
&lt;br /&gt;
=== EBGP Conversion ===&lt;br /&gt;
&lt;br /&gt;
I got sick of confederations, so I just removed the confederation statements and converted all of the inter-site links to straight EBGP.&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
PCN enables several applications:&lt;br /&gt;
&lt;br /&gt;
* VoIP (via [[SIP]] / G.711u)&lt;br /&gt;
* IPv6 Internet access&lt;br /&gt;
* Streaming audio&lt;br /&gt;
&lt;br /&gt;
== Lab ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Main Article: [[PCN Lab]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The PCN lab is Mark Kamichoff&#039;s network proving ground and general hacking arena.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.prolixium.com/mrtgfe PCN MRTG]&lt;br /&gt;
* [http://www.prolixium.net/ PCN Home Page]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:pcn-world.png&amp;diff=816</id>
		<title>File:pcn-world.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:pcn-world.png&amp;diff=816"/>
		<updated>2024-05-12T22:37:57Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:pcn-world.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=815</id>
		<title>File:wan.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=815"/>
		<updated>2024-05-12T22:34:56Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:wan.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PCN WAN Architecture&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=814</id>
		<title>Prolixium Communications Network</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=814"/>
		<updated>2024-05-12T22:18:21Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:pcn.png|thumb|280px|Prolixium Communications Network Logo]]The Prolixium Communications Network (known also as &#039;&#039;&#039;PCN&#039;&#039;&#039;, &#039;&#039;&#039;mynet&#039;&#039;&#039;, &#039;&#039;&#039;My Network&#039;&#039;&#039;, &#039;&#039;&#039;Prolixium .NET&#039;&#039;&#039;, and &#039;&#039;&#039;My Hobby Network&#039;&#039;&#039;) is a collection of small, geographically disperse, computer networks that provide [[IPv4]] and [[IPv6]], [[VPN]], and [[VoIP]] services to the [[Kamichoff]] family.  Owned and operated solely by [[Mark Kamichoff]], PCN often serves as a testbed for various network experiments.  Some of the PCN nodes are connected via residential data services ([[cable modem]]), while others are located in [[data center|data centers]] have [[Gigabit Ethernet]] (or better) connections to the [[Internet]].&lt;br /&gt;
&lt;br /&gt;
== Current State ==&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
[[file:wan.png|thumb|PCN WAN Architecture]][[file:pcn-world.png|thumb|PCN World Map]]As of March 10, 2024, PCN is composed of several networks in the [[United States]] and across the globe, connected via [[OpenVPN]] and [[WireGuard]] with the IPv6 backbone connected via [[6in4]] tunnels:&lt;br /&gt;
&lt;br /&gt;
* [[North Brunswick, NJ]]: [[nat]].prolixium.com on [[FTTH]] via [[Verizon FiOS]]&lt;br /&gt;
* [[Piscataway, NJ]]&lt;br /&gt;
** [[excalibur]].prolixium.com on Virtual I/O via [https://www.vultr.com/ Vultr]&lt;br /&gt;
** [[dax]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Toronto, Canada]]: [[tiny]].prolixium.com on Virtual I/O via [http://atlantic.net/ atlantic.net]&lt;br /&gt;
* [[Dallas, TX]]: [[nox]].prolixium.com on Virtual I/O via [http://www.linode.com/ Linode]&lt;br /&gt;
* Dallas, TX: [[concorde]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Ashburn, VA]]: [[pegasus]].prolixium.com on Virtual I/O via [https://freerangecloud.com/ Free Range Cloud]&lt;br /&gt;
* Ashburn, VA: [[daedalus]].prolixium.com on Virtual I/O via [https://tier.net/ Tier.Net]&lt;br /&gt;
* Ashburn, VA: [[matrix]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA: [[elise]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA&lt;br /&gt;
** [[discovery]].prolixium.com via [[Verizon FiOS]]&lt;br /&gt;
** [[sprint]].prolixium.com via [[Verizon Wireless]] (LTE)&lt;br /&gt;
* [[Seattle, WA]]: [[orca]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* Seattle, WA: [[interstellar]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Sarasota, FL]]: [[scimitar]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Los Angeles, CA]]: [[trident]].prolixium.com Virtual I/O via [http://www.arpnetworks.com/ ARP Networks]&lt;br /&gt;
* [[Clover, SC]]: [[trefoil]].prolixium.com on ADSL via [[Spectrum]]&lt;br /&gt;
* [[York, SC]]: [[exodus]].prolixium.com on ADSL via [[AT&amp;amp;T]]&lt;br /&gt;
* [[Austin, TX]]: [[photonic]].prolixium.com on FTTH via Google Fiber&lt;br /&gt;
* [[Charlotte, NC]]: [[storm]].prolixium.com on FTTH via AT&amp;amp;T&lt;br /&gt;
* [[Arlington, VA]]: [[merlin]].prolixium.com on Ethernet via Comcast Business / Zayo&lt;br /&gt;
* [[Agawam, MA]]: [[galactica]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Amsterdam, Netherlands]]: [[firefly]].prolixium.com on Virtual I/O via [http://www.digitalocean.com/ DigitalOcean]&lt;br /&gt;
* [[Singapore]]: [[centauri]].prolixium.com on Virtual I/O via [http://ec2.amazon.com/ Amazon EC2]&lt;br /&gt;
&lt;br /&gt;
Each site has multiple OpenVPN tunnels to other locations supporting both IPv4 and IPv6.  The network is primarily powered by [[Free Range Routing]] (FRR) with some sites using [[BIRD]].&lt;br /&gt;
&lt;br /&gt;
=== Routing ===&lt;br /&gt;
&lt;br /&gt;
The routing infrastructure consists of several autonomous systems, taken from the IANA-allocated private range: 64512 through 65534.  Each site runs IBGP, possibly with a route reflector, and its own [[IGP]] for local next-hop resolution.  EBGP is used between sites and peering connections.  IPv4 Internet connectivity for each site is achieved by advertisement of default routes from boxes performing NAT.  The [[Prolixium Communications Network#Lab|lab]] is connected to [[starfire]] (core router) in Ashburn, VA.  The PCN used to use one large OSPF area with no EGP.  It was converted to a [[BGP]] confederation setup, which was a bad idea (but educational!), then reconverted to its current state.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet.png|280px|BGP on PCN]]&lt;br /&gt;
&lt;br /&gt;
=== IPv6 Connectivity ===&lt;br /&gt;
&lt;br /&gt;
IPv6 connectivity is provided by four (5) direct connections to Vultr (The Constant Company), ARP Networks, Free Range Cloud, and Tier.Net.  A Hurricane Electric BGP tunnel is used as backups off excalibur &amp;amp; trident but is depreferenced.  The border transit network piece of the PCN provides this connectivity.&lt;br /&gt;
&lt;br /&gt;
IPv6 addressing is out of 2620:6:2000::/44, which is a direct allocation from ARIN.&lt;br /&gt;
&lt;br /&gt;
==== Border Transit Network ====&lt;br /&gt;
&lt;br /&gt;
The border transit network operates in AS395460 and consists of [[excalibur]], [[trident]], [[orca]], [[pegasus]], [[daedalus]], and [[concorde]].  Connectivity is provided by the following transit peers:&lt;br /&gt;
&lt;br /&gt;
* trident: AS25795 and AS6939&lt;br /&gt;
* excalibur: AS20473 and AS6939&lt;br /&gt;
* orca: AS20473&lt;br /&gt;
* concorde: AS20473&lt;br /&gt;
* pegasus: AS53356&lt;br /&gt;
* daedalus: AS397423&lt;br /&gt;
&lt;br /&gt;
This network injects a default route into the rest of the PCN, which can be referred to PEN (Prolixium Enterprise Network).  The border network receives a full table from all transits and advertises 2620:6:2000::/44 out each peer along with some sites advertising /48 specifics for networks that are nearby.&lt;br /&gt;
&lt;br /&gt;
Hurricane Electric (AS6939) is only used as backup because it is a tunneled connection and is suspected to be throttled.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet-transit.png|280px|Border Transit Network]]&lt;br /&gt;
&lt;br /&gt;
[[file:pcn-world2-transit.png|280px|Border Transit Network Map]]&lt;br /&gt;
&lt;br /&gt;
The following hosts do not default route to the border transit network and use their own native IPv6 connectivity:&lt;br /&gt;
&lt;br /&gt;
* centauri&lt;br /&gt;
* firefly&lt;br /&gt;
* storm&lt;br /&gt;
&lt;br /&gt;
The following hosts may have IPv6 connectivity but it&#039;s not currently enabled (at time of writing):&lt;br /&gt;
&lt;br /&gt;
* exodus&lt;br /&gt;
* galactica&lt;br /&gt;
* photonic&lt;br /&gt;
&lt;br /&gt;
=== DNS ===&lt;br /&gt;
&lt;br /&gt;
[[DNS]] is done with two views: internal and external.  PCN has two external nameservers, and four internal ones, all which perform zone transfers from the master nameserver, ns3.antiderivative.net.  antiderivative.net is used for all NS records, as well as glue records at the GTLD servers.  The internal nameservers are ns{1-4} and external ones are ns{2,3}.  Each zone has two views, internal and external, and a common file that is included in both views (SOA, etc.).  The zones include the following:&lt;br /&gt;
&lt;br /&gt;
* Internal view, answering to 10/8, 172.16/12, and 192.168/16 addresses&lt;br /&gt;
** 3.10.in-addr.arpa. and 3.16.172.in-addr.arpa. reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s internal A/CNAME records&lt;br /&gt;
* External view, answering to everything !RFC1918&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s external A/CNAME records&lt;br /&gt;
* Common information, answering for all hosts&lt;br /&gt;
** 0.0.0.2.6.0.0.0.0.2.6.2.ip6.arpa., and other reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s common MX records&lt;br /&gt;
&lt;br /&gt;
Previously, the Xicada DNS Service (developed by Mark Kamichoff) kept track of all the forward delegations as well as IPv4 reverse delegations on Xicada.  The administrator of each node enumerated their zones into a web form, and then configured their DNS server to pull down a forwarders definition for all Xicada zones.  It supported BIND and djbdns, but also outputted a CSV file if someone decided to use another DNS server.  It was originally intended that each DNS server should pull down a fesh copy of the forwarders definition file nightly, but there were really no rules.&lt;br /&gt;
&lt;br /&gt;
Mark Kamichoff has a policy on his network to have DNS entries (includes A, AAAA, and PTR) for each and every active IP address.  If a host is offline, the DNS records should be immediately expunged.  This precludes the requirement of a host management system or a collection of poorly-maintained spreadsheets.  If an IP is needed, the PTR should be checked.  All [[DHCP]]-assigned IP addresses are created via {side ID}-{lastoctet}.prolixium.com.  Again, no confusion.  DNS itself is a database, so why not use it?&lt;br /&gt;
&lt;br /&gt;
All transit links on PCN are addressed using the prolixium.net domain.  The format is {unit/VLAN}.{interface}.{host}.prolixium.net.  For example, the xl1 interface on starfire would be: xl1.starfire.prolixium.net.  There is a collection of DNS entries for every IPv4 and IPv6 transit link.  There is not one hop in my network which has no PTR record (or a PTR record w/out a corresponding A or AAAA record).  Each router has a loopback interface with IPv4 and IPv6 addresses (if supported).&lt;br /&gt;
&lt;br /&gt;
=== Ashburn-Specific Setup ===&lt;br /&gt;
&lt;br /&gt;
[[file:charlotte.png|thumb|Ashburn LAN]]The network setup in Ashburn (formerly Seattle, WA and Charlotte, NC) is slightly different from the other sites, where there is a single router with a dynamic address.  In the Ashburn location there are two ISPs and they&#039;re terminated in separate LXC instances (all with VPNs to at least one of interstellar, nox, dax, or elise - the &amp;quot;enterprise&amp;quot; network):&lt;br /&gt;
&lt;br /&gt;
* discovery (on evolution) - Verizon FiOS&lt;br /&gt;
* sprint (on evolution) - Verizon Wireless (LTE)&lt;br /&gt;
&lt;br /&gt;
starfire and evolution are the two core routers with multiple Gigabit Ethernet interfaces.  The current routing setup is as follows:&lt;br /&gt;
&lt;br /&gt;
* IPv6 (Internet &amp;amp; internal) inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via VPN&lt;br /&gt;
* IPv4 Internet inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via NAT&lt;br /&gt;
* All LXCs above advertise an IPv4 default route into OSPFv2&lt;br /&gt;
* LOCAL_PREF and AS_PATH prepending influence the traffic flow&lt;br /&gt;
&lt;br /&gt;
In the case of backup, discovery is replaced with the LXC sprint.&lt;br /&gt;
&lt;br /&gt;
In the past, NetFlow was used on atlantis, which was depicted in the drawing below:&lt;br /&gt;
&lt;br /&gt;
[[file:netflow.png|280px|PCN NetFlow Setup]]&lt;br /&gt;
&lt;br /&gt;
The NetFlow collector ran [http://www.ntop.org/ ntop], but this was uninstalled due to instability.&lt;br /&gt;
&lt;br /&gt;
=== Printing ===&lt;br /&gt;
&lt;br /&gt;
The whole printing/CUPS/lpd setup is mostly an annoyance.  Most people would want to run CUPS on every Unix client on the network.  Mark Kamichoff believes it&#039;s better to have a lightweight client send a [http://en.wikipedia.org/wiki/PostScript PostScript] file via lpd to a CUPS server rather than sending a huge RAW raster stream across the network and have both the client and server do print processing.  See the diagram to the bottom:&lt;br /&gt;
&lt;br /&gt;
[[file:printing.png|280px|PCN Printing Setup]]&lt;br /&gt;
&lt;br /&gt;
=== SmokePing ===&lt;br /&gt;
&lt;br /&gt;
For monitoring, PCN uses a combination of Nagios, SmokePing, and [[MRTG]].  The SmokePing setup itself is a combination of slaves and masters, both IPv4 and IPv6.&lt;br /&gt;
&lt;br /&gt;
[[file:smokeping.png|280px|SmokePing]]&lt;br /&gt;
&lt;br /&gt;
[[nox]] is the master for a few slaves:&lt;br /&gt;
&lt;br /&gt;
* [[tiny]] - VPS connected to atlantic.net&lt;br /&gt;
* [[storm]] - RPi 3 connected to AT&amp;amp;T Fiber&lt;br /&gt;
* [[exodus]] - RPi 3 connected to AT&amp;amp;T DSL&lt;br /&gt;
* [[galactica]] - RPi 4 B connected to Comcast Xfinity&lt;br /&gt;
* [[photonic]] - RPi 4 B connected to Google Fiber&lt;br /&gt;
* [[merlin]] - RPi 3 B connected to Comcast Business / Zayo&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;History is hidden by default.  Click &#039;&#039;&#039;expand&#039;&#039;&#039; to see it.&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;Warning: This entire section is written in the first-person ([[Mark Kamichoff|Mark Kamichoff&#039;s]]) point of view&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Beginnings ===&lt;br /&gt;
&lt;br /&gt;
After joining the [[http://xicada.sf.net Xicada] network back at [[RPI]], I decided to continue linking all of my networks and sites together via various VPN technologies.  At first, the network was just a simple VPN between my network at home and a few computers in my dorm room at RPI.  The connection tunnelled through RPI&#039;s firewall like a knife through warm butter, using OpenVPN&#039;s [[UDP]] encapsulation mode.  Actually, a site to site UDP tunnel was the only thing OpenVPN offered, back then.  My router at RPI was a blazing-fast [[Pentium]] 166MHz box running [[Debian GNU/Linux]].  At that point, my Xicada tunnels were terminated on another box I found in the trash, an old AMD K6-300, which eventually ran FreeBSD 4.&lt;br /&gt;
&lt;br /&gt;
The network quickly started expanding, and I was able to move the K6-300 box (starfire) into the ACM&#039;s lab, which was given a 100mbit link, in the basement of the DCC.  At this point in time, my network had three sites: home, the lab, and my dorm room.  Since I didn&#039;t stick around RPI during most summers, I reterminated the Xicada links on starfire, since it sported a more permanent link.&lt;br /&gt;
&lt;br /&gt;
Shortly after starfire was moved to the lab, I started toying with IPv6, and acquired a tunnel via Freenet6 (now Hexago, since they&#039;re actually trying to sell products, or something).  RPI&#039;s firewall wouldn&#039;t allow IP protocol 41 through the firewall, and my attempts at getting this opened up for my IP failed.  So, I terminated the IPv6 tunnel on my box at home, which sat on Optimum Online.  Freenet6 gave me a /48 block out of the 3ffe::/16 6bone space, and I started distributing /64&#039;s out to all of my LAN segments.  I started running Zebra&#039;s OSPFv3 daemon, and realized it was buggy as all get out.  It mostly worked, though.  Since Freenet6 gave me an ip6.int. delegation, I spent some time applying tons of patches to djbdns, my DNS server of choice, back then.  After tons of patching, I got IPv6 support, which was fairly neat at the time.  What did I use this new-found IPv6 connectivity for?  IRC and web site hosting. www.prolixium.com has had an AAAA record since at least 2003.&lt;br /&gt;
&lt;br /&gt;
Sometime in 2003 (I forget when), I moved my IPv6 tunnel to BTExact, British Telecom&#039;s free tunnel broker that actually gave out non-6bone /48&#039;s and ip6.arpa. DNS delegations.  I quickly moved to them, and enjoyed quicker speeds than Freenet6 for about a year.  Of course, after a year, my parents had a power outage at home, and my server lost the IP it had with OOL for the past two years.  BTExact, at that time, had frozen their tunnel broker service, and didn&#039;t allow any modifications or new tunnels to be created.  I went back to Freenet6, who had changed to 2001::/16 space.&lt;br /&gt;
&lt;br /&gt;
After leaving RPI, and getting a job, I decided to purchase a dedicated server from SagoNet.  I extended my network down to Tampa, FL, where the server was located.&lt;br /&gt;
&lt;br /&gt;
Fast-forwarding to the present day, I currently have six sites, and native IPv6 from Voxel dot Net.  Almost every host on the network is IPv6-aware, and the IPv6 connectivity is controlled completely by pf.&lt;br /&gt;
&lt;br /&gt;
Xicada connectivity at this point has been terminated, due to lack of interest.&lt;br /&gt;
&lt;br /&gt;
=== [[VLAN]] Conversion (Laundry Room Data Center) ===&lt;br /&gt;
&lt;br /&gt;
[[file:vlan.png|thumb|VLAN Setup]]I&#039;m lucky to have CAT5(e?) cabled to every room in my condo, all aggregated in the [[laundry room]], I figured it was time to deploy a couple different VLANs on my network.  Initially, I just had a dumb switch connecting all of the various ports in different rooms together.  Since that was too simple of a solution, I picked up a Cisco 2940 switch on [http://www.ebay.com/ eBay], and setup a 1Gbit trunk between starfire and the laundry room.  I setup 4x VLANs:&lt;br /&gt;
&lt;br /&gt;
* 2: Various wall jacks&lt;br /&gt;
* 3: Media center link (connected to kamikaze)&lt;br /&gt;
* 4: Linksys link (connected to mercury)&lt;br /&gt;
* 5: Lab link (connected to hysteresis)&lt;br /&gt;
&lt;br /&gt;
I ended up throwing some other gear in the laundry room along with the switch, and ended up moving my lab (3.0) there.&lt;br /&gt;
&lt;br /&gt;
=== BGP (Confederations) Conversion ===&lt;br /&gt;
&lt;br /&gt;
==== History ====&lt;br /&gt;
&lt;br /&gt;
Starting with the Xicada project, my network was one big OSPF backbone area.  Entirely flat, except for some route redistribution for the lab connection.  When I added OSPFv3 for IPv6 reachability, it was no different - one big area: no stub areas, no frills.  It worked, but was boring, and didn&#039;t provide the flexibility required if I wanted to start redirecting Internet traffic.&lt;br /&gt;
&lt;br /&gt;
After reading up on BGP, I realized I could make my network 1000% more complex, while gaining some real-world experience.  Sounds like a plan, huh?&lt;br /&gt;
Preparation and Design&lt;br /&gt;
&lt;br /&gt;
Due to some Quagga instability issues, I originally tested out some alternate BGP/OSPF implementations, including XORP.  Unfortunately, none of them fit the bill, and XORP, although promising, was horribly unstable and appeared to suffer from configuration file parsing issues, more than anything else.  So I decided to stick with Quagga.  I also decided to keep two separate BGP connections, one for IPv4 and one for IPv6 (so I didn&#039;t run into any nasty next-hop accessibility problems).&lt;br /&gt;
&lt;br /&gt;
One of the goals of the redesign was to eliminate the large network-wide IGP process and break down each site into sub-ASes, using BGP confederations and route reflectors.  This required a partial mesh of CBGP (confederation BGP - like EBGP, but more attributes are retained) between all the sites, to take advantage of the tunnels.  Unfortunately, this meant that I had to renumber all of my IPv6 tunnels, since they were all /128&#039;s.  Not a big deal.  I didn&#039;t want to do this with the IPv4 (OpenVPN) tunnels, since the documentation strongly recommended against the use of anything other than a 32-bit netmask.  This required the use of the ebgp-multihop command, since according to most [E]BGP implementations, /32&#039;s or /128&#039;s connecting to each other is not classified as &#039;directly connected&#039; for some reason.  (doesn&#039;t make sense to me, since even a TTL of 1 should theoretically allow communication to succeed)&lt;br /&gt;
&lt;br /&gt;
At each site, I wanted to run IBGP internally, and designate one box to be the route reflector, in order to loosen the IBGP full-mesh requirement.  Some of the OpenWrt devices did not have loopbacks at the time, so I needed to shuffle around some addresses and fix this.&lt;br /&gt;
&lt;br /&gt;
I&#039;d still run an IGP internal to each site (not nox or dax, since they are only one router), and advertise a default route via OSPFv2 within the site, for Internet access.  I could also advertise default routes from two different routers within a site, for redundancy and failover Internet access.&lt;br /&gt;
&lt;br /&gt;
So, here&#039;s some of the tasks I performed prior to making any routing changes:&lt;br /&gt;
&lt;br /&gt;
# Add loopbacks to all routers&lt;br /&gt;
# Redo all IPv6 tunnel interfaces, converted to /126&#039;s to avoid subnet-router anycast issues&lt;br /&gt;
# Redo tunnel naming standards (was too long before)&lt;br /&gt;
&lt;br /&gt;
==== IPv6 Migration ====&lt;br /&gt;
&lt;br /&gt;
I figured, since on most platforms, IGP routes take precedence over BGP routes, I could add all the peering relationships and get everything setup without skipping a beat.  Quagga&#039;s zebra process wouldn&#039;t insert or remove anything from the FIB (the kernel routing table).  Then I could remove OSPFv3 from all the WAN links, and zebra would just shuffle around the routes, but reachability would come back within a few minutes, maybe?&lt;br /&gt;
&lt;br /&gt;
So I started building the BGP neighbors, and quickly ran into a problem.  For some reason, no IPv6 BGP routes were being sent to other peers from Quagga&#039;s bgpd.  I posted a message to the mailing list, and quickly got a helpful response.  Apparently I was hitting a bug that&#039;s been in Quagga for awhile (typo) that dealt with the address-family negotiation between peers.  The quick fix was to add &#039;override-capability&#039; to each neighbor (or peer group) and it would accept all advertised address families.&lt;br /&gt;
&lt;br /&gt;
After all the peers were setup, I disabled [[OSPFv3]] on all the WAN links, and everything reconverged... oddly.  It looked like BGP was doing path-selection based on tiebreakers, and picking the higher peer address as the best path for a destination, even if it meant not utilizing the directly connected link.  After scratching my head for a few minutes, I realized my stupidity.  Normal BGP treats AS_CONFED_SEQUENCE and AS_CONFED_SET as a length of one, so all paths through my network looked like they had an AS path length of *1*.  Luckily, Quagga had a nice bgp bestpath as-path confed command that modified the path selection algorithm, and gave me what I wanted.  I described this a blog entry.&lt;br /&gt;
&lt;br /&gt;
Since I wanted all loopbacks and transit interfaces reachable from anywhere, I added a ton of network statements to bgpd.  It felt like a hack, but isn&#039;t too bad, since there&#039;s really no other way of doing it, without using a network-wide IGP.&lt;br /&gt;
&lt;br /&gt;
==== IPv4 Migration ====&lt;br /&gt;
&lt;br /&gt;
Since the IPv6 migration was successful, I figured the IPv4 migration would turn out the same - and it did, mostly.&lt;br /&gt;
&lt;br /&gt;
I started setting up the IPv4 BGP neighbors, and ran into a strange issue with ScreenOS.  I&#039;ve documented it here.  Basically, my two Juniper firewalls wouldn&#039;t establish IBGP connections unless they were configured as passive neighbors (wait for a connection).&lt;br /&gt;
&lt;br /&gt;
After all the IPv4 BGP connections were up and running, I killed the network-wide IGP process entirely (shut off ospfd/ospf6d on dax and nox), and let everything reconverge.  It worked out of the box - success!&lt;br /&gt;
&lt;br /&gt;
I removed the static default routes on my OpenWrt routers, and advertised defaults at each site.  No problem there.&lt;br /&gt;
&lt;br /&gt;
==== Finish ====&lt;br /&gt;
&lt;br /&gt;
Although I ran into a number of problems, and probably complicated troubleshooting of my network by an order of magnitude, I think the conversion was worth it.  Now if anyone wants to start Xicada 2.0, we can do it right, this time...&lt;br /&gt;
&lt;br /&gt;
=== EBGP Conversion ===&lt;br /&gt;
&lt;br /&gt;
I got sick of confederations, so I just removed the confederation statements and converted all of the inter-site links to straight EBGP.&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
PCN enables several applications:&lt;br /&gt;
&lt;br /&gt;
* VoIP (via [[SIP]] / G.711u)&lt;br /&gt;
* IPv6 Internet access&lt;br /&gt;
* Streaming audio&lt;br /&gt;
&lt;br /&gt;
== Lab ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Main Article: [[PCN Lab]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The PCN lab is Mark Kamichoff&#039;s network proving ground and general hacking arena.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.prolixium.com/mrtgfe PCN MRTG]&lt;br /&gt;
* [http://www.prolixium.net/ PCN Home Page]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:bgpnet.png&amp;diff=813</id>
		<title>File:bgpnet.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:bgpnet.png&amp;diff=813"/>
		<updated>2024-05-12T22:17:20Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:bgpnet.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BGP Confederations on [[PCN]]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=812</id>
		<title>Prolixium Communications Network</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=812"/>
		<updated>2024-03-10T20:17:33Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:pcn.png|thumb|280px|Prolixium Communications Network Logo]]The Prolixium Communications Network (known also as &#039;&#039;&#039;PCN&#039;&#039;&#039;, &#039;&#039;&#039;mynet&#039;&#039;&#039;, &#039;&#039;&#039;My Network&#039;&#039;&#039;, &#039;&#039;&#039;Prolixium .NET&#039;&#039;&#039;, and &#039;&#039;&#039;My Hobby Network&#039;&#039;&#039;) is a collection of small, geographically disperse, computer networks that provide [[IPv4]] and [[IPv6]], [[VPN]], and [[VoIP]] services to the [[Kamichoff]] family.  Owned and operated solely by [[Mark Kamichoff]], PCN often serves as a testbed for various network experiments.  Some of the PCN nodes are connected via residential data services ([[cable modem]]), while others are located in [[data center|data centers]] have [[Gigabit Ethernet]] (or better) connections to the [[Internet]].&lt;br /&gt;
&lt;br /&gt;
== Current State ==&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
[[file:wan.png|thumb|PCN WAN Architecture]][[file:pcn-world.png|thumb|PCN World Map]]As of March 10, 2024, PCN is composed of several networks in the [[United States]] and across the globe, connected via [[OpenVPN]] and [[WireGuard]] with the IPv6 backbone connected via [[6in4]] tunnels:&lt;br /&gt;
&lt;br /&gt;
* [[North Brunswick, NJ]]: [[nat]].prolixium.com on [[FTTH]] via [[Verizon FiOS]]&lt;br /&gt;
* [[Piscataway, NJ]]&lt;br /&gt;
** [[excalibur]].prolixium.com on Virtual I/O via [https://www.vultr.com/ Vultr]&lt;br /&gt;
** [[dax]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Toronto, Canada]]: [[tiny]].prolixium.com on Virtual I/O via [http://atlantic.net/ atlantic.net]&lt;br /&gt;
* [[Dallas, TX]]: [[nox]].prolixium.com on Virtual I/O via [http://www.linode.com/ Linode]&lt;br /&gt;
* Dallas, TX: [[concorde]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Ashburn, VA]]: [[pegasus]].prolixium.com on Virtual I/O via [https://freerangecloud.com/ Free Range Cloud]&lt;br /&gt;
* Ashburn, VA: [[daedalus]].prolixium.com on Virtual I/O via [https://tier.net/ Tier.Net]&lt;br /&gt;
* Ashburn, VA: [[matrix]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA: [[elise]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA&lt;br /&gt;
** [[discovery]].prolixium.com via [[Verizon FiOS]]&lt;br /&gt;
** [[sprint]].prolixium.com via [[Verizon Wireless]] (LTE)&lt;br /&gt;
* [[Seattle, WA]]: [[orca]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* Seattle, WA: [[interstellar]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Sarasota, FL]]: [[scimitar]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Los Angeles, CA]]: [[trident]].prolixium.com Virtual I/O via [http://www.arpnetworks.com/ ARP Networks]&lt;br /&gt;
* [[York, SC]]: [[exodus]].prolixium.com on ADSL via [[AT&amp;amp;T]]&lt;br /&gt;
* [[Austin, TX]]: [[photonic]].prolixium.com on FTTH via Google Fiber&lt;br /&gt;
* [[Charlotte, NC]]: [[storm]].prolixium.com on FTTH via AT&amp;amp;T&lt;br /&gt;
* [[Arlington, VA]]: [[merlin]].prolixium.com on Ethernet via Comcast Business / Zayo&lt;br /&gt;
* [[Agawam, MA]]: [[galactica]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Amsterdam, Netherlands]]: [[firefly]].prolixium.com on Virtual I/O via [http://www.digitalocean.com/ DigitalOcean]&lt;br /&gt;
* [[Singapore]]: [[centauri]].prolixium.com on Virtual I/O via [http://ec2.amazon.com/ Amazon EC2]&lt;br /&gt;
&lt;br /&gt;
Each site has multiple OpenVPN tunnels to other locations supporting both IPv4 and IPv6.  The network is primarily powered by [[Free Range Routing]] (FRR) with some sites using [[BIRD]].&lt;br /&gt;
&lt;br /&gt;
=== Routing ===&lt;br /&gt;
&lt;br /&gt;
The routing infrastructure consists of several autonomous systems, taken from the IANA-allocated private range: 64512 through 65534.  Each site runs IBGP, possibly with a route reflector, and its own [[IGP]] for local next-hop resolution.  EBGP is used between sites and peering connections.  IPv4 Internet connectivity for each site is achieved by advertisement of default routes from boxes performing NAT.  The [[Prolixium Communications Network#Lab|lab]] is connected to [[starfire]] (core router) in Ashburn, VA.  The PCN used to use one large OSPF area with no EGP.  It was converted to a [[BGP]] confederation setup, which was a bad idea (but educational!), then reconverted to its current state.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet.png|280px|BGP on PCN]]&lt;br /&gt;
&lt;br /&gt;
=== IPv6 Connectivity ===&lt;br /&gt;
&lt;br /&gt;
IPv6 connectivity is provided by four (5) direct connections to Vultr (The Constant Company), ARP Networks, Free Range Cloud, and Tier.Net.  A Hurricane Electric BGP tunnel is used as backups off excalibur &amp;amp; trident but is depreferenced.  The border transit network piece of the PCN provides this connectivity.&lt;br /&gt;
&lt;br /&gt;
IPv6 addressing is out of 2620:6:2000::/44, which is a direct allocation from ARIN.&lt;br /&gt;
&lt;br /&gt;
==== Border Transit Network ====&lt;br /&gt;
&lt;br /&gt;
The border transit network operates in AS395460 and consists of [[excalibur]], [[trident]], [[orca]], [[pegasus]], [[daedalus]], and [[concorde]].  Connectivity is provided by the following transit peers:&lt;br /&gt;
&lt;br /&gt;
* trident: AS25795 and AS6939&lt;br /&gt;
* excalibur: AS20473 and AS6939&lt;br /&gt;
* orca: AS20473&lt;br /&gt;
* concorde: AS20473&lt;br /&gt;
* pegasus: AS53356&lt;br /&gt;
* daedalus: AS397423&lt;br /&gt;
&lt;br /&gt;
This network injects a default route into the rest of the PCN, which can be referred to PEN (Prolixium Enterprise Network).  The border network receives a full table from all transits and advertises 2620:6:2000::/44 out each peer along with some sites advertising /48 specifics for networks that are nearby.&lt;br /&gt;
&lt;br /&gt;
Hurricane Electric (AS6939) is only used as backup because it is a tunneled connection and is suspected to be throttled.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet-transit.png|280px|Border Transit Network]]&lt;br /&gt;
&lt;br /&gt;
[[file:pcn-world2-transit.png|280px|Border Transit Network Map]]&lt;br /&gt;
&lt;br /&gt;
The following hosts do not default route to the border transit network and use their own native IPv6 connectivity:&lt;br /&gt;
&lt;br /&gt;
* centauri&lt;br /&gt;
* firefly&lt;br /&gt;
* storm&lt;br /&gt;
&lt;br /&gt;
The following hosts may have IPv6 connectivity but it&#039;s not currently enabled (at time of writing):&lt;br /&gt;
&lt;br /&gt;
* exodus&lt;br /&gt;
* galactica&lt;br /&gt;
* photonic&lt;br /&gt;
&lt;br /&gt;
=== DNS ===&lt;br /&gt;
&lt;br /&gt;
[[DNS]] is done with two views: internal and external.  PCN has two external nameservers, and four internal ones, all which perform zone transfers from the master nameserver, ns3.antiderivative.net.  antiderivative.net is used for all NS records, as well as glue records at the GTLD servers.  The internal nameservers are ns{1-4} and external ones are ns{2,3}.  Each zone has two views, internal and external, and a common file that is included in both views (SOA, etc.).  The zones include the following:&lt;br /&gt;
&lt;br /&gt;
* Internal view, answering to 10/8, 172.16/12, and 192.168/16 addresses&lt;br /&gt;
** 3.10.in-addr.arpa. and 3.16.172.in-addr.arpa. reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s internal A/CNAME records&lt;br /&gt;
* External view, answering to everything !RFC1918&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s external A/CNAME records&lt;br /&gt;
* Common information, answering for all hosts&lt;br /&gt;
** 0.0.0.2.6.0.0.0.0.2.6.2.ip6.arpa., and other reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s common MX records&lt;br /&gt;
&lt;br /&gt;
Previously, the Xicada DNS Service (developed by Mark Kamichoff) kept track of all the forward delegations as well as IPv4 reverse delegations on Xicada.  The administrator of each node enumerated their zones into a web form, and then configured their DNS server to pull down a forwarders definition for all Xicada zones.  It supported BIND and djbdns, but also outputted a CSV file if someone decided to use another DNS server.  It was originally intended that each DNS server should pull down a fesh copy of the forwarders definition file nightly, but there were really no rules.&lt;br /&gt;
&lt;br /&gt;
Mark Kamichoff has a policy on his network to have DNS entries (includes A, AAAA, and PTR) for each and every active IP address.  If a host is offline, the DNS records should be immediately expunged.  This precludes the requirement of a host management system or a collection of poorly-maintained spreadsheets.  If an IP is needed, the PTR should be checked.  All [[DHCP]]-assigned IP addresses are created via {side ID}-{lastoctet}.prolixium.com.  Again, no confusion.  DNS itself is a database, so why not use it?&lt;br /&gt;
&lt;br /&gt;
All transit links on PCN are addressed using the prolixium.net domain.  The format is {unit/VLAN}.{interface}.{host}.prolixium.net.  For example, the xl1 interface on starfire would be: xl1.starfire.prolixium.net.  There is a collection of DNS entries for every IPv4 and IPv6 transit link.  There is not one hop in my network which has no PTR record (or a PTR record w/out a corresponding A or AAAA record).  Each router has a loopback interface with IPv4 and IPv6 addresses (if supported).&lt;br /&gt;
&lt;br /&gt;
=== Ashburn-Specific Setup ===&lt;br /&gt;
&lt;br /&gt;
[[file:charlotte.png|thumb|Ashburn LAN]]The network setup in Ashburn (formerly Seattle, WA and Charlotte, NC) is slightly different from the other sites, where there is a single router with a dynamic address.  In the Ashburn location there are two ISPs and they&#039;re terminated in separate LXC instances (all with VPNs to at least one of interstellar, nox, dax, or elise - the &amp;quot;enterprise&amp;quot; network):&lt;br /&gt;
&lt;br /&gt;
* discovery (on evolution) - Verizon FiOS&lt;br /&gt;
* sprint (on evolution) - Verizon Wireless (LTE)&lt;br /&gt;
&lt;br /&gt;
starfire and evolution are the two core routers with multiple Gigabit Ethernet interfaces.  The current routing setup is as follows:&lt;br /&gt;
&lt;br /&gt;
* IPv6 (Internet &amp;amp; internal) inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via VPN&lt;br /&gt;
* IPv4 Internet inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via NAT&lt;br /&gt;
* All LXCs above advertise an IPv4 default route into OSPFv2&lt;br /&gt;
* LOCAL_PREF and AS_PATH prepending influence the traffic flow&lt;br /&gt;
&lt;br /&gt;
In the case of backup, discovery is replaced with the LXC sprint.&lt;br /&gt;
&lt;br /&gt;
In the past, NetFlow was used on atlantis, which was depicted in the drawing below:&lt;br /&gt;
&lt;br /&gt;
[[file:netflow.png|280px|PCN NetFlow Setup]]&lt;br /&gt;
&lt;br /&gt;
The NetFlow collector ran [http://www.ntop.org/ ntop], but this was uninstalled due to instability.&lt;br /&gt;
&lt;br /&gt;
=== Printing ===&lt;br /&gt;
&lt;br /&gt;
The whole printing/CUPS/lpd setup is mostly an annoyance.  Most people would want to run CUPS on every Unix client on the network.  Mark Kamichoff believes it&#039;s better to have a lightweight client send a [http://en.wikipedia.org/wiki/PostScript PostScript] file via lpd to a CUPS server rather than sending a huge RAW raster stream across the network and have both the client and server do print processing.  See the diagram to the bottom:&lt;br /&gt;
&lt;br /&gt;
[[file:printing.png|280px|PCN Printing Setup]]&lt;br /&gt;
&lt;br /&gt;
=== SmokePing ===&lt;br /&gt;
&lt;br /&gt;
For monitoring, PCN uses a combination of Nagios, SmokePing, and [[MRTG]].  The SmokePing setup itself is a combination of slaves and masters, both IPv4 and IPv6.&lt;br /&gt;
&lt;br /&gt;
[[file:smokeping.png|280px|SmokePing]]&lt;br /&gt;
&lt;br /&gt;
[[nox]] is the master for a few slaves:&lt;br /&gt;
&lt;br /&gt;
* [[tiny]] - VPS connected to atlantic.net&lt;br /&gt;
* [[storm]] - RPi 3 connected to AT&amp;amp;T Fiber&lt;br /&gt;
* [[exodus]] - RPi 3 connected to AT&amp;amp;T DSL&lt;br /&gt;
* [[galactica]] - RPi 4 B connected to Comcast Xfinity&lt;br /&gt;
* [[photonic]] - RPi 4 B connected to Google Fiber&lt;br /&gt;
* [[merlin]] - RPi 3 B connected to Comcast Business / Zayo&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;History is hidden by default.  Click &#039;&#039;&#039;expand&#039;&#039;&#039; to see it.&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;Warning: This entire section is written in the first-person ([[Mark Kamichoff|Mark Kamichoff&#039;s]]) point of view&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Beginnings ===&lt;br /&gt;
&lt;br /&gt;
After joining the [[http://xicada.sf.net Xicada] network back at [[RPI]], I decided to continue linking all of my networks and sites together via various VPN technologies.  At first, the network was just a simple VPN between my network at home and a few computers in my dorm room at RPI.  The connection tunnelled through RPI&#039;s firewall like a knife through warm butter, using OpenVPN&#039;s [[UDP]] encapsulation mode.  Actually, a site to site UDP tunnel was the only thing OpenVPN offered, back then.  My router at RPI was a blazing-fast [[Pentium]] 166MHz box running [[Debian GNU/Linux]].  At that point, my Xicada tunnels were terminated on another box I found in the trash, an old AMD K6-300, which eventually ran FreeBSD 4.&lt;br /&gt;
&lt;br /&gt;
The network quickly started expanding, and I was able to move the K6-300 box (starfire) into the ACM&#039;s lab, which was given a 100mbit link, in the basement of the DCC.  At this point in time, my network had three sites: home, the lab, and my dorm room.  Since I didn&#039;t stick around RPI during most summers, I reterminated the Xicada links on starfire, since it sported a more permanent link.&lt;br /&gt;
&lt;br /&gt;
Shortly after starfire was moved to the lab, I started toying with IPv6, and acquired a tunnel via Freenet6 (now Hexago, since they&#039;re actually trying to sell products, or something).  RPI&#039;s firewall wouldn&#039;t allow IP protocol 41 through the firewall, and my attempts at getting this opened up for my IP failed.  So, I terminated the IPv6 tunnel on my box at home, which sat on Optimum Online.  Freenet6 gave me a /48 block out of the 3ffe::/16 6bone space, and I started distributing /64&#039;s out to all of my LAN segments.  I started running Zebra&#039;s OSPFv3 daemon, and realized it was buggy as all get out.  It mostly worked, though.  Since Freenet6 gave me an ip6.int. delegation, I spent some time applying tons of patches to djbdns, my DNS server of choice, back then.  After tons of patching, I got IPv6 support, which was fairly neat at the time.  What did I use this new-found IPv6 connectivity for?  IRC and web site hosting. www.prolixium.com has had an AAAA record since at least 2003.&lt;br /&gt;
&lt;br /&gt;
Sometime in 2003 (I forget when), I moved my IPv6 tunnel to BTExact, British Telecom&#039;s free tunnel broker that actually gave out non-6bone /48&#039;s and ip6.arpa. DNS delegations.  I quickly moved to them, and enjoyed quicker speeds than Freenet6 for about a year.  Of course, after a year, my parents had a power outage at home, and my server lost the IP it had with OOL for the past two years.  BTExact, at that time, had frozen their tunnel broker service, and didn&#039;t allow any modifications or new tunnels to be created.  I went back to Freenet6, who had changed to 2001::/16 space.&lt;br /&gt;
&lt;br /&gt;
After leaving RPI, and getting a job, I decided to purchase a dedicated server from SagoNet.  I extended my network down to Tampa, FL, where the server was located.&lt;br /&gt;
&lt;br /&gt;
Fast-forwarding to the present day, I currently have six sites, and native IPv6 from Voxel dot Net.  Almost every host on the network is IPv6-aware, and the IPv6 connectivity is controlled completely by pf.&lt;br /&gt;
&lt;br /&gt;
Xicada connectivity at this point has been terminated, due to lack of interest.&lt;br /&gt;
&lt;br /&gt;
=== [[VLAN]] Conversion (Laundry Room Data Center) ===&lt;br /&gt;
&lt;br /&gt;
[[file:vlan.png|thumb|VLAN Setup]]I&#039;m lucky to have CAT5(e?) cabled to every room in my condo, all aggregated in the [[laundry room]], I figured it was time to deploy a couple different VLANs on my network.  Initially, I just had a dumb switch connecting all of the various ports in different rooms together.  Since that was too simple of a solution, I picked up a Cisco 2940 switch on [http://www.ebay.com/ eBay], and setup a 1Gbit trunk between starfire and the laundry room.  I setup 4x VLANs:&lt;br /&gt;
&lt;br /&gt;
* 2: Various wall jacks&lt;br /&gt;
* 3: Media center link (connected to kamikaze)&lt;br /&gt;
* 4: Linksys link (connected to mercury)&lt;br /&gt;
* 5: Lab link (connected to hysteresis)&lt;br /&gt;
&lt;br /&gt;
I ended up throwing some other gear in the laundry room along with the switch, and ended up moving my lab (3.0) there.&lt;br /&gt;
&lt;br /&gt;
=== BGP (Confederations) Conversion ===&lt;br /&gt;
&lt;br /&gt;
==== History ====&lt;br /&gt;
&lt;br /&gt;
Starting with the Xicada project, my network was one big OSPF backbone area.  Entirely flat, except for some route redistribution for the lab connection.  When I added OSPFv3 for IPv6 reachability, it was no different - one big area: no stub areas, no frills.  It worked, but was boring, and didn&#039;t provide the flexibility required if I wanted to start redirecting Internet traffic.&lt;br /&gt;
&lt;br /&gt;
After reading up on BGP, I realized I could make my network 1000% more complex, while gaining some real-world experience.  Sounds like a plan, huh?&lt;br /&gt;
Preparation and Design&lt;br /&gt;
&lt;br /&gt;
Due to some Quagga instability issues, I originally tested out some alternate BGP/OSPF implementations, including XORP.  Unfortunately, none of them fit the bill, and XORP, although promising, was horribly unstable and appeared to suffer from configuration file parsing issues, more than anything else.  So I decided to stick with Quagga.  I also decided to keep two separate BGP connections, one for IPv4 and one for IPv6 (so I didn&#039;t run into any nasty next-hop accessibility problems).&lt;br /&gt;
&lt;br /&gt;
One of the goals of the redesign was to eliminate the large network-wide IGP process and break down each site into sub-ASes, using BGP confederations and route reflectors.  This required a partial mesh of CBGP (confederation BGP - like EBGP, but more attributes are retained) between all the sites, to take advantage of the tunnels.  Unfortunately, this meant that I had to renumber all of my IPv6 tunnels, since they were all /128&#039;s.  Not a big deal.  I didn&#039;t want to do this with the IPv4 (OpenVPN) tunnels, since the documentation strongly recommended against the use of anything other than a 32-bit netmask.  This required the use of the ebgp-multihop command, since according to most [E]BGP implementations, /32&#039;s or /128&#039;s connecting to each other is not classified as &#039;directly connected&#039; for some reason.  (doesn&#039;t make sense to me, since even a TTL of 1 should theoretically allow communication to succeed)&lt;br /&gt;
&lt;br /&gt;
At each site, I wanted to run IBGP internally, and designate one box to be the route reflector, in order to loosen the IBGP full-mesh requirement.  Some of the OpenWrt devices did not have loopbacks at the time, so I needed to shuffle around some addresses and fix this.&lt;br /&gt;
&lt;br /&gt;
I&#039;d still run an IGP internal to each site (not nox or dax, since they are only one router), and advertise a default route via OSPFv2 within the site, for Internet access.  I could also advertise default routes from two different routers within a site, for redundancy and failover Internet access.&lt;br /&gt;
&lt;br /&gt;
So, here&#039;s some of the tasks I performed prior to making any routing changes:&lt;br /&gt;
&lt;br /&gt;
# Add loopbacks to all routers&lt;br /&gt;
# Redo all IPv6 tunnel interfaces, converted to /126&#039;s to avoid subnet-router anycast issues&lt;br /&gt;
# Redo tunnel naming standards (was too long before)&lt;br /&gt;
&lt;br /&gt;
==== IPv6 Migration ====&lt;br /&gt;
&lt;br /&gt;
I figured, since on most platforms, IGP routes take precedence over BGP routes, I could add all the peering relationships and get everything setup without skipping a beat.  Quagga&#039;s zebra process wouldn&#039;t insert or remove anything from the FIB (the kernel routing table).  Then I could remove OSPFv3 from all the WAN links, and zebra would just shuffle around the routes, but reachability would come back within a few minutes, maybe?&lt;br /&gt;
&lt;br /&gt;
So I started building the BGP neighbors, and quickly ran into a problem.  For some reason, no IPv6 BGP routes were being sent to other peers from Quagga&#039;s bgpd.  I posted a message to the mailing list, and quickly got a helpful response.  Apparently I was hitting a bug that&#039;s been in Quagga for awhile (typo) that dealt with the address-family negotiation between peers.  The quick fix was to add &#039;override-capability&#039; to each neighbor (or peer group) and it would accept all advertised address families.&lt;br /&gt;
&lt;br /&gt;
After all the peers were setup, I disabled [[OSPFv3]] on all the WAN links, and everything reconverged... oddly.  It looked like BGP was doing path-selection based on tiebreakers, and picking the higher peer address as the best path for a destination, even if it meant not utilizing the directly connected link.  After scratching my head for a few minutes, I realized my stupidity.  Normal BGP treats AS_CONFED_SEQUENCE and AS_CONFED_SET as a length of one, so all paths through my network looked like they had an AS path length of *1*.  Luckily, Quagga had a nice bgp bestpath as-path confed command that modified the path selection algorithm, and gave me what I wanted.  I described this a blog entry.&lt;br /&gt;
&lt;br /&gt;
Since I wanted all loopbacks and transit interfaces reachable from anywhere, I added a ton of network statements to bgpd.  It felt like a hack, but isn&#039;t too bad, since there&#039;s really no other way of doing it, without using a network-wide IGP.&lt;br /&gt;
&lt;br /&gt;
==== IPv4 Migration ====&lt;br /&gt;
&lt;br /&gt;
Since the IPv6 migration was successful, I figured the IPv4 migration would turn out the same - and it did, mostly.&lt;br /&gt;
&lt;br /&gt;
I started setting up the IPv4 BGP neighbors, and ran into a strange issue with ScreenOS.  I&#039;ve documented it here.  Basically, my two Juniper firewalls wouldn&#039;t establish IBGP connections unless they were configured as passive neighbors (wait for a connection).&lt;br /&gt;
&lt;br /&gt;
After all the IPv4 BGP connections were up and running, I killed the network-wide IGP process entirely (shut off ospfd/ospf6d on dax and nox), and let everything reconverge.  It worked out of the box - success!&lt;br /&gt;
&lt;br /&gt;
I removed the static default routes on my OpenWrt routers, and advertised defaults at each site.  No problem there.&lt;br /&gt;
&lt;br /&gt;
==== Finish ====&lt;br /&gt;
&lt;br /&gt;
Although I ran into a number of problems, and probably complicated troubleshooting of my network by an order of magnitude, I think the conversion was worth it.  Now if anyone wants to start Xicada 2.0, we can do it right, this time...&lt;br /&gt;
&lt;br /&gt;
=== EBGP Conversion ===&lt;br /&gt;
&lt;br /&gt;
I got sick of confederations, so I just removed the confederation statements and converted all of the inter-site links to straight EBGP.&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
PCN enables several applications:&lt;br /&gt;
&lt;br /&gt;
* VoIP (via [[SIP]] / G.711u)&lt;br /&gt;
* IPv6 Internet access&lt;br /&gt;
* Streaming audio&lt;br /&gt;
&lt;br /&gt;
== Lab ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Main Article: [[PCN Lab]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The PCN lab is Mark Kamichoff&#039;s network proving ground and general hacking arena.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.prolixium.com/mrtgfe PCN MRTG]&lt;br /&gt;
* [http://www.prolixium.net/ PCN Home Page]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:pcn-world2-transit.png&amp;diff=811</id>
		<title>File:pcn-world2-transit.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:pcn-world2-transit.png&amp;diff=811"/>
		<updated>2024-03-10T13:38:31Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:pcn-world2-transit.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:pcn-world.png&amp;diff=810</id>
		<title>File:pcn-world.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:pcn-world.png&amp;diff=810"/>
		<updated>2024-03-10T13:37:47Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:pcn-world.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=809</id>
		<title>Prolixium Communications Network</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=809"/>
		<updated>2024-03-03T00:18:19Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:pcn.png|thumb|280px|Prolixium Communications Network Logo]]The Prolixium Communications Network (known also as &#039;&#039;&#039;PCN&#039;&#039;&#039;, &#039;&#039;&#039;mynet&#039;&#039;&#039;, &#039;&#039;&#039;My Network&#039;&#039;&#039;, and &#039;&#039;&#039;Prolixium .NET&#039;&#039;&#039;) is a collection of small, geographically disperse, computer networks that provide [[IPv4]] and [[IPv6]], [[VPN]], and [[VoIP]] services to the [[Kamichoff]] family.  Owned and operated solely by [[Mark Kamichoff]], PCN often serves as a testbed for various network experiments.  The majority of the PCN nodes are connected via residential data services ([[cable modem]]), while some located in [[data center|data centers]] have [[Gigabit Ethernet]] connections to the [[Internet]].&lt;br /&gt;
&lt;br /&gt;
== Current State ==&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
[[file:wan.png|thumb|PCN WAN Architecture]][[file:pcn-world.png|thumb|PCN World Map]]As of February 2, 2022, PCN is composed of several networks in the [[United States]] and across the globe, connected via [[OpenVPN]] and [[Wireguard]] with the IPv6 backbone connected via [[6in4]] tunnels:&lt;br /&gt;
&lt;br /&gt;
* [[North Brunswick, NJ]]: [[nat]].prolixium.com on [[FTTH]] via [[Verizon FiOS]]&lt;br /&gt;
* [[Piscataway, NJ]]&lt;br /&gt;
** [[excalibur]].prolixium.com on Virtual I/O via [https://www.vultr.com/ Vultr]&lt;br /&gt;
** [[dax]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Toronto, Canada]]: [[tiny]].prolixium.com on Virtual I/O via [http://atlantic.net/ atlantic.net]&lt;br /&gt;
* [[Dallas, TX]]: [[nox]].prolixium.com on Virtual I/O via [http://www.linode.com/ Linode]&lt;br /&gt;
* Dallas, TX: [[concorde]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Ashburn, VA]]: [[pegasus]].prolixium.com on Virtual I/O via [https://freerangecloud.com/ Free Range Cloud]&lt;br /&gt;
* Ashburn, VA: [[matrix]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA: [[elise]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA&lt;br /&gt;
** [[discovery]].prolixium.com via [[Verizon FiOS]]&lt;br /&gt;
** [[sprint]].prolixium.com via [[Verizon Wireless]] (LTE)&lt;br /&gt;
* [[Seattle, WA]]: [[orca]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* Seattle, WA: [[interstellar]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Sarasota, FL]]: [[scimitar]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Los Angeles, CA]]: [[trident]].prolixium.com Virtual I/O via [http://www.arpnetworks.com/ ARP Networks]&lt;br /&gt;
* [[York, SC]]: [[exodus]].prolixium.com on ADSL via [[AT&amp;amp;T]]&lt;br /&gt;
* [[Austin, TX]]: [[photonic]].prolixium.com on FTTH via Google Fiber&lt;br /&gt;
* [[Charlotte, NC]]: [[storm]].prolixium.com on FTTH via AT&amp;amp;T&lt;br /&gt;
* [[Arlington, VA]]: [[merlin]].prolixium.com on Ethernet via Comcast Business / Zayo&lt;br /&gt;
* [[Agawam, MA]]: [[galactica]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Amsterdam, Netherlands]]: [[firefly]].prolixium.com on Virtual I/O via [http://www.digitalocean.com/ DigitalOcean]&lt;br /&gt;
* [[Singapore]]: [[centauri]].prolixium.com on Virtual I/O via [http://ec2.amazon.com/ Amazon EC2]&lt;br /&gt;
&lt;br /&gt;
Each site has multiple OpenVPN tunnels to other locations supporting both IPv4 and IPv6.  The network is primarily powered by [[Free Range Routing]] (FRR) with some sites using [[BIRD]].&lt;br /&gt;
&lt;br /&gt;
=== Routing ===&lt;br /&gt;
&lt;br /&gt;
The routing infrastructure consists of several autonomous systems, taken from the IANA-allocated private range: 64512 through 65534.  Each site runs IBGP, possibly with a route reflector, and its own [[IGP]] for local next-hop resolution.  EBGP is used between sites and peering connections.  IPv4 Internet connectivity for each site is achieved by advertisement of default routes from boxes performing NAT.  The [[Prolixium Communications Network#Lab|lab]] is connected to [[starfire]] (core router) in Ashburn, VA.  The PCN used to use one large OSPF area with no EGP.  It was converted to a [[BGP]] confederation setup, which was a bad idea (but educational!), then reconverted to its current state.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet.png|280px|BGP on PCN]]&lt;br /&gt;
&lt;br /&gt;
=== IPv6 Connectivity ===&lt;br /&gt;
&lt;br /&gt;
IPv6 connectivity is provided by four (5) direct connections to Vultr, Choopa (The Constant Company), ARP Networks, and Free Range Cloud.  A Hurricane Electric BGP tunnel is used as backups in LAX and EWR2 but is depreferenced.  The border transit network piece of the PCN provides this connectivity.&lt;br /&gt;
&lt;br /&gt;
IPv6 addressing is out of 2620:6:2000::/44, which is a direct allocation from ARIN.&lt;br /&gt;
&lt;br /&gt;
==== Border Transit Network ====&lt;br /&gt;
&lt;br /&gt;
The border transit network operates in AS395460 and consists of [[excalibur]], [[trident]], [[orca]], [[pegasus]], and [[concorde]].  Connectivity is provided by the following transit peers:&lt;br /&gt;
&lt;br /&gt;
* trident: AS25795 and AS6939&lt;br /&gt;
* excalibur: AS20473 and AS6939&lt;br /&gt;
* orca: AS20473&lt;br /&gt;
* concorde: AS20473&lt;br /&gt;
* pegasus: AS53356&lt;br /&gt;
&lt;br /&gt;
This network injects a default route into the rest of the PCN, which can be referred to PEN (Prolixium Enterprise Network).  The border network receives a full table from all transits and advertises 2620:6:2000::/44 out each peer along with some sites advertising /48 specifics for networks that are nearby.&lt;br /&gt;
&lt;br /&gt;
Hurricane Electric (AS6939) is only used as backup because it is a tunneled connection and is suspected to be throttled.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet-transit.png|280px|Border Transit Network]]&lt;br /&gt;
&lt;br /&gt;
[[file:pcn-world2-transit.png|280px|Border Transit Network Map]]&lt;br /&gt;
&lt;br /&gt;
The following hosts do not default route to the border transit network and use their own native IPv6 connectivity:&lt;br /&gt;
&lt;br /&gt;
* centauri&lt;br /&gt;
* firefly&lt;br /&gt;
* storm&lt;br /&gt;
&lt;br /&gt;
The following hosts may have IPv6 connectivity but it&#039;s not currently enabled (at time of writing):&lt;br /&gt;
&lt;br /&gt;
* exodus&lt;br /&gt;
* galactica&lt;br /&gt;
* photonic&lt;br /&gt;
&lt;br /&gt;
=== DNS ===&lt;br /&gt;
&lt;br /&gt;
[[DNS]] is done with two views: internal and external.  PCN has two external nameservers, and four internal ones, all which perform zone transfers from the master nameserver, ns3.antiderivative.net.  antiderivative.net is used for all NS records, as well as glue records at the GTLD servers.  The internal nameservers are ns{1-4} and external ones are ns{2,3}.  Each zone has two views, internal and external, and a common file that is included in both views (SOA, etc.).  The zones include the following:&lt;br /&gt;
&lt;br /&gt;
* Internal view, answering to 10/8, 172.16/12, and 192.168/16 addresses&lt;br /&gt;
** 3.10.in-addr.arpa. and 3.16.172.in-addr.arpa. reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s internal A/CNAME records&lt;br /&gt;
* External view, answering to everything !RFC1918&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s external A/CNAME records&lt;br /&gt;
* Common information, answering for all hosts&lt;br /&gt;
** 0.0.0.2.6.0.0.0.0.2.6.2.ip6.arpa., and other reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s common MX records&lt;br /&gt;
&lt;br /&gt;
Previously, the Xicada DNS Service (developed by Mark Kamichoff) kept track of all the forward delegations as well as IPv4 reverse delegations on Xicada.  The administrator of each node enumerated their zones into a web form, and then configured their DNS server to pull down a forwarders definition for all Xicada zones.  It supported BIND and djbdns, but also outputted a CSV file if someone decided to use another DNS server.  It was originally intended that each DNS server should pull down a fesh copy of the forwarders definition file nightly, but there were really no rules.&lt;br /&gt;
&lt;br /&gt;
Mark Kamichoff has a policy on his network to have DNS entries (includes A, AAAA, and PTR) for each and every active IP address.  If a host is offline, the DNS records should be immediately expunged.  This precludes the requirement of a host management system or a collection of poorly-maintained spreadsheets.  If an IP is needed, the PTR should be checked.  All [[DHCP]]-assigned IP addresses are created via {side ID}-{lastoctet}.prolixium.com.  Again, no confusion.  DNS itself is a database, so why not use it?&lt;br /&gt;
&lt;br /&gt;
All transit links on PCN are addressed using the prolixium.net domain.  The format is {unit/VLAN}.{interface}.{host}.prolixium.net.  For example, the xl1 interface on starfire would be: xl1.starfire.prolixium.net.  There is a collection of DNS entries for every IPv4 and IPv6 transit link.  There is not one hop in my network which has no PTR record (or a PTR record w/out a corresponding A or AAAA record).  Each router has a loopback interface with IPv4 and IPv6 addresses (if supported).&lt;br /&gt;
&lt;br /&gt;
=== Ashburn-Specific Setup ===&lt;br /&gt;
&lt;br /&gt;
[[file:charlotte.png|thumb|Ashburn LAN]]The network setup in Ashburn (formerly Seattle, WA and Charlotte, NC) is slightly different from the other sites, where there is a single router with a dynamic address.  In the Ashburn location there are two ISPs and they&#039;re terminated in separate LXC instances (all with VPNs to at least one of interstellar, nox, dax, or elise - the &amp;quot;enterprise&amp;quot; network):&lt;br /&gt;
&lt;br /&gt;
* discovery (on evolution) - Verizon FiOS&lt;br /&gt;
* sprint (on evolution) - Verizon Wireless (LTE)&lt;br /&gt;
&lt;br /&gt;
starfire and evolution are the two core routers with multiple Gigabit Ethernet interfaces.  The current routing setup is as follows:&lt;br /&gt;
&lt;br /&gt;
* IPv6 (Internet &amp;amp; internal) inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via VPN&lt;br /&gt;
* IPv4 Internet inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via NAT&lt;br /&gt;
* All LXCs above advertise an IPv4 default route into OSPFv2&lt;br /&gt;
* LOCAL_PREF and AS_PATH prepending influence the traffic flow&lt;br /&gt;
&lt;br /&gt;
In the case of backup, discovery is replaced with the LXC sprint.&lt;br /&gt;
&lt;br /&gt;
In the past, NetFlow was used on atlantis, which was depicted in the drawing below:&lt;br /&gt;
&lt;br /&gt;
[[file:netflow.png|280px|PCN NetFlow Setup]]&lt;br /&gt;
&lt;br /&gt;
The NetFlow collector ran [http://www.ntop.org/ ntop], but this was uninstalled due to instability.&lt;br /&gt;
&lt;br /&gt;
=== Printing ===&lt;br /&gt;
&lt;br /&gt;
The whole printing/CUPS/lpd setup is mostly an annoyance.  Most people would want to run CUPS on every Unix client on the network.  Mark Kamichoff believes it&#039;s better to have a lightweight client send a [http://en.wikipedia.org/wiki/PostScript PostScript] file via lpd to a CUPS server rather than sending a huge RAW raster stream across the network and have both the client and server do print processing.  See the diagram to the bottom:&lt;br /&gt;
&lt;br /&gt;
[[file:printing.png|280px|PCN Printing Setup]]&lt;br /&gt;
&lt;br /&gt;
=== SmokePing ===&lt;br /&gt;
&lt;br /&gt;
For monitoring, PCN uses a combination of Nagios, SmokePing, and [[MRTG]].  The SmokePing setup itself is a combination of slaves and masters, both IPv4 and IPv6.&lt;br /&gt;
&lt;br /&gt;
[[file:smokeping.png|280px|SmokePing]]&lt;br /&gt;
&lt;br /&gt;
[[nox]] is the master for a few slaves:&lt;br /&gt;
&lt;br /&gt;
* [[tiny]] - VPS connected to atlantic.net&lt;br /&gt;
* [[storm]] - RPi 3 connected to AT&amp;amp;T Fiber&lt;br /&gt;
* [[exodus]] - RPi 3 connected to AT&amp;amp;T DSL&lt;br /&gt;
* [[galactica]] - RPi 4 B connected to Comcast Xfinity&lt;br /&gt;
* [[photonic]] - RPi 4 B connected to Google Fiber&lt;br /&gt;
* [[merlin]] - RPi 3 B connected to Comcast Business / Zayo&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;History is hidden by default.  Click &#039;&#039;&#039;expand&#039;&#039;&#039; to see it.&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;Warning: This entire section is written in the first-person ([[Mark Kamichoff|Mark Kamichoff&#039;s]]) point of view&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Beginnings ===&lt;br /&gt;
&lt;br /&gt;
After joining the [[http://xicada.sf.net Xicada] network back at [[RPI]], I decided to continue linking all of my networks and sites together via various VPN technologies.  At first, the network was just a simple VPN between my network at home and a few computers in my dorm room at RPI.  The connection tunnelled through RPI&#039;s firewall like a knife through warm butter, using OpenVPN&#039;s [[UDP]] encapsulation mode.  Actually, a site to site UDP tunnel was the only thing OpenVPN offered, back then.  My router at RPI was a blazing-fast [[Pentium]] 166MHz box running [[Debian GNU/Linux]].  At that point, my Xicada tunnels were terminated on another box I found in the trash, an old AMD K6-300, which eventually ran FreeBSD 4.&lt;br /&gt;
&lt;br /&gt;
The network quickly started expanding, and I was able to move the K6-300 box (starfire) into the ACM&#039;s lab, which was given a 100mbit link, in the basement of the DCC.  At this point in time, my network had three sites: home, the lab, and my dorm room.  Since I didn&#039;t stick around RPI during most summers, I reterminated the Xicada links on starfire, since it sported a more permanent link.&lt;br /&gt;
&lt;br /&gt;
Shortly after starfire was moved to the lab, I started toying with IPv6, and acquired a tunnel via Freenet6 (now Hexago, since they&#039;re actually trying to sell products, or something).  RPI&#039;s firewall wouldn&#039;t allow IP protocol 41 through the firewall, and my attempts at getting this opened up for my IP failed.  So, I terminated the IPv6 tunnel on my box at home, which sat on Optimum Online.  Freenet6 gave me a /48 block out of the 3ffe::/16 6bone space, and I started distributing /64&#039;s out to all of my LAN segments.  I started running Zebra&#039;s OSPFv3 daemon, and realized it was buggy as all get out.  It mostly worked, though.  Since Freenet6 gave me an ip6.int. delegation, I spent some time applying tons of patches to djbdns, my DNS server of choice, back then.  After tons of patching, I got IPv6 support, which was fairly neat at the time.  What did I use this new-found IPv6 connectivity for?  IRC and web site hosting. www.prolixium.com has had an AAAA record since at least 2003.&lt;br /&gt;
&lt;br /&gt;
Sometime in 2003 (I forget when), I moved my IPv6 tunnel to BTExact, British Telecom&#039;s free tunnel broker that actually gave out non-6bone /48&#039;s and ip6.arpa. DNS delegations.  I quickly moved to them, and enjoyed quicker speeds than Freenet6 for about a year.  Of course, after a year, my parents had a power outage at home, and my server lost the IP it had with OOL for the past two years.  BTExact, at that time, had frozen their tunnel broker service, and didn&#039;t allow any modifications or new tunnels to be created.  I went back to Freenet6, who had changed to 2001::/16 space.&lt;br /&gt;
&lt;br /&gt;
After leaving RPI, and getting a job, I decided to purchase a dedicated server from SagoNet.  I extended my network down to Tampa, FL, where the server was located.&lt;br /&gt;
&lt;br /&gt;
Fast-forwarding to the present day, I currently have six sites, and native IPv6 from Voxel dot Net.  Almost every host on the network is IPv6-aware, and the IPv6 connectivity is controlled completely by pf.&lt;br /&gt;
&lt;br /&gt;
Xicada connectivity at this point has been terminated, due to lack of interest.&lt;br /&gt;
&lt;br /&gt;
=== [[VLAN]] Conversion (Laundry Room Data Center) ===&lt;br /&gt;
&lt;br /&gt;
[[file:vlan.png|thumb|VLAN Setup]]I&#039;m lucky to have CAT5(e?) cabled to every room in my condo, all aggregated in the [[laundry room]], I figured it was time to deploy a couple different VLANs on my network.  Initially, I just had a dumb switch connecting all of the various ports in different rooms together.  Since that was too simple of a solution, I picked up a Cisco 2940 switch on [http://www.ebay.com/ eBay], and setup a 1Gbit trunk between starfire and the laundry room.  I setup 4x VLANs:&lt;br /&gt;
&lt;br /&gt;
* 2: Various wall jacks&lt;br /&gt;
* 3: Media center link (connected to kamikaze)&lt;br /&gt;
* 4: Linksys link (connected to mercury)&lt;br /&gt;
* 5: Lab link (connected to hysteresis)&lt;br /&gt;
&lt;br /&gt;
I ended up throwing some other gear in the laundry room along with the switch, and ended up moving my lab (3.0) there.&lt;br /&gt;
&lt;br /&gt;
=== BGP (Confederations) Conversion ===&lt;br /&gt;
&lt;br /&gt;
==== History ====&lt;br /&gt;
&lt;br /&gt;
Starting with the Xicada project, my network was one big OSPF backbone area.  Entirely flat, except for some route redistribution for the lab connection.  When I added OSPFv3 for IPv6 reachability, it was no different - one big area: no stub areas, no frills.  It worked, but was boring, and didn&#039;t provide the flexibility required if I wanted to start redirecting Internet traffic.&lt;br /&gt;
&lt;br /&gt;
After reading up on BGP, I realized I could make my network 1000% more complex, while gaining some real-world experience.  Sounds like a plan, huh?&lt;br /&gt;
Preparation and Design&lt;br /&gt;
&lt;br /&gt;
Due to some Quagga instability issues, I originally tested out some alternate BGP/OSPF implementations, including XORP.  Unfortunately, none of them fit the bill, and XORP, although promising, was horribly unstable and appeared to suffer from configuration file parsing issues, more than anything else.  So I decided to stick with Quagga.  I also decided to keep two separate BGP connections, one for IPv4 and one for IPv6 (so I didn&#039;t run into any nasty next-hop accessibility problems).&lt;br /&gt;
&lt;br /&gt;
One of the goals of the redesign was to eliminate the large network-wide IGP process and break down each site into sub-ASes, using BGP confederations and route reflectors.  This required a partial mesh of CBGP (confederation BGP - like EBGP, but more attributes are retained) between all the sites, to take advantage of the tunnels.  Unfortunately, this meant that I had to renumber all of my IPv6 tunnels, since they were all /128&#039;s.  Not a big deal.  I didn&#039;t want to do this with the IPv4 (OpenVPN) tunnels, since the documentation strongly recommended against the use of anything other than a 32-bit netmask.  This required the use of the ebgp-multihop command, since according to most [E]BGP implementations, /32&#039;s or /128&#039;s connecting to each other is not classified as &#039;directly connected&#039; for some reason.  (doesn&#039;t make sense to me, since even a TTL of 1 should theoretically allow communication to succeed)&lt;br /&gt;
&lt;br /&gt;
At each site, I wanted to run IBGP internally, and designate one box to be the route reflector, in order to loosen the IBGP full-mesh requirement.  Some of the OpenWrt devices did not have loopbacks at the time, so I needed to shuffle around some addresses and fix this.&lt;br /&gt;
&lt;br /&gt;
I&#039;d still run an IGP internal to each site (not nox or dax, since they are only one router), and advertise a default route via OSPFv2 within the site, for Internet access.  I could also advertise default routes from two different routers within a site, for redundancy and failover Internet access.&lt;br /&gt;
&lt;br /&gt;
So, here&#039;s some of the tasks I performed prior to making any routing changes:&lt;br /&gt;
&lt;br /&gt;
# Add loopbacks to all routers&lt;br /&gt;
# Redo all IPv6 tunnel interfaces, converted to /126&#039;s to avoid subnet-router anycast issues&lt;br /&gt;
# Redo tunnel naming standards (was too long before)&lt;br /&gt;
&lt;br /&gt;
==== IPv6 Migration ====&lt;br /&gt;
&lt;br /&gt;
I figured, since on most platforms, IGP routes take precedence over BGP routes, I could add all the peering relationships and get everything setup without skipping a beat.  Quagga&#039;s zebra process wouldn&#039;t insert or remove anything from the FIB (the kernel routing table).  Then I could remove OSPFv3 from all the WAN links, and zebra would just shuffle around the routes, but reachability would come back within a few minutes, maybe?&lt;br /&gt;
&lt;br /&gt;
So I started building the BGP neighbors, and quickly ran into a problem.  For some reason, no IPv6 BGP routes were being sent to other peers from Quagga&#039;s bgpd.  I posted a message to the mailing list, and quickly got a helpful response.  Apparently I was hitting a bug that&#039;s been in Quagga for awhile (typo) that dealt with the address-family negotiation between peers.  The quick fix was to add &#039;override-capability&#039; to each neighbor (or peer group) and it would accept all advertised address families.&lt;br /&gt;
&lt;br /&gt;
After all the peers were setup, I disabled [[OSPFv3]] on all the WAN links, and everything reconverged... oddly.  It looked like BGP was doing path-selection based on tiebreakers, and picking the higher peer address as the best path for a destination, even if it meant not utilizing the directly connected link.  After scratching my head for a few minutes, I realized my stupidity.  Normal BGP treats AS_CONFED_SEQUENCE and AS_CONFED_SET as a length of one, so all paths through my network looked like they had an AS path length of *1*.  Luckily, Quagga had a nice bgp bestpath as-path confed command that modified the path selection algorithm, and gave me what I wanted.  I described this a blog entry.&lt;br /&gt;
&lt;br /&gt;
Since I wanted all loopbacks and transit interfaces reachable from anywhere, I added a ton of network statements to bgpd.  It felt like a hack, but isn&#039;t too bad, since there&#039;s really no other way of doing it, without using a network-wide IGP.&lt;br /&gt;
&lt;br /&gt;
==== IPv4 Migration ====&lt;br /&gt;
&lt;br /&gt;
Since the IPv6 migration was successful, I figured the IPv4 migration would turn out the same - and it did, mostly.&lt;br /&gt;
&lt;br /&gt;
I started setting up the IPv4 BGP neighbors, and ran into a strange issue with ScreenOS.  I&#039;ve documented it here.  Basically, my two Juniper firewalls wouldn&#039;t establish IBGP connections unless they were configured as passive neighbors (wait for a connection).&lt;br /&gt;
&lt;br /&gt;
After all the IPv4 BGP connections were up and running, I killed the network-wide IGP process entirely (shut off ospfd/ospf6d on dax and nox), and let everything reconverge.  It worked out of the box - success!&lt;br /&gt;
&lt;br /&gt;
I removed the static default routes on my OpenWrt routers, and advertised defaults at each site.  No problem there.&lt;br /&gt;
&lt;br /&gt;
==== Finish ====&lt;br /&gt;
&lt;br /&gt;
Although I ran into a number of problems, and probably complicated troubleshooting of my network by an order of magnitude, I think the conversion was worth it.  Now if anyone wants to start Xicada 2.0, we can do it right, this time...&lt;br /&gt;
&lt;br /&gt;
=== EBGP Conversion ===&lt;br /&gt;
&lt;br /&gt;
I got sick of confederations, so I just removed the confederation statements and converted all of the inter-site links to straight EBGP.&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
PCN enables several applications:&lt;br /&gt;
&lt;br /&gt;
* VoIP (via [[SIP]] / G.711u)&lt;br /&gt;
* IPv6 Internet access&lt;br /&gt;
* Streaming audio&lt;br /&gt;
&lt;br /&gt;
== Lab ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Main Article: [[PCN Lab]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The PCN lab is Mark Kamichoff&#039;s network proving ground and general hacking arena.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.prolixium.com/mrtgfe PCN MRTG]&lt;br /&gt;
* [http://www.prolixium.net/ PCN Home Page]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:pcn-world2-transit.png&amp;diff=808</id>
		<title>File:pcn-world2-transit.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:pcn-world2-transit.png&amp;diff=808"/>
		<updated>2024-03-03T00:15:34Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:pcn-world2-transit.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:bgpnet-transit.png&amp;diff=807</id>
		<title>File:bgpnet-transit.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:bgpnet-transit.png&amp;diff=807"/>
		<updated>2024-03-03T00:13:34Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:bgpnet-transit.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Border Transit Network&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:smokeping.png&amp;diff=806</id>
		<title>File:smokeping.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:smokeping.png&amp;diff=806"/>
		<updated>2024-02-14T01:36:57Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:smokeping.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PCN SmokePing&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=805</id>
		<title>File:wan.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=805"/>
		<updated>2024-02-14T01:36:37Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:wan.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PCN WAN Architecture&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=804</id>
		<title>Prolixium Communications Network</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=804"/>
		<updated>2024-02-14T01:26:35Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:pcn.png|thumb|280px|Prolixium Communications Network Logo]]The Prolixium Communications Network (known also as &#039;&#039;&#039;PCN&#039;&#039;&#039;, &#039;&#039;&#039;mynet&#039;&#039;&#039;, &#039;&#039;&#039;My Network&#039;&#039;&#039;, and &#039;&#039;&#039;Prolixium .NET&#039;&#039;&#039;) is a collection of small, geographically disperse, computer networks that provide [[IPv4]] and [[IPv6]], [[VPN]], and [[VoIP]] services to the [[Kamichoff]] family.  Owned and operated solely by [[Mark Kamichoff]], PCN often serves as a testbed for various network experiments.  The majority of the PCN nodes are connected via residential data services ([[cable modem]]), while some located in [[data center|data centers]] have [[Gigabit Ethernet]] connections to the [[Internet]].&lt;br /&gt;
&lt;br /&gt;
== Current State ==&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
[[file:wan.png|thumb|PCN WAN Architecture]][[file:pcn-world.png|thumb|PCN World Map]]As of February 2, 2022, PCN is composed of several networks in the [[United States]] and across the globe, connected via [[OpenVPN]] and [[Wireguard]] with the IPv6 backbone connected via [[6in4]] tunnels:&lt;br /&gt;
&lt;br /&gt;
* [[North Brunswick, NJ]]: [[nat]].prolixium.com on [[FTTH]] via [[Verizon FiOS]]&lt;br /&gt;
* [[Piscataway, NJ]]: [[excalibur]].prolixium.com on Gigabit Ethernet via [[Choopa]]&lt;br /&gt;
** [[dax]].prolixium.com&lt;br /&gt;
* [[Toronto, Canada]]: [[tiny]].prolixium.com on Virtual I/O via [http://atlantic.net/ atlantic.net]&lt;br /&gt;
* [[Dallas, TX]]: [[nox]].prolixium.com on Virtual I/O via [http://www.linode.com/ Linode]&lt;br /&gt;
* Dallas, TX: [[concorde]].prolixium.com on Virtual I/O via [[Vultr]]&lt;br /&gt;
* [[Ashburn, VA]]: [[pegasus]].prolixium.com on Virtual I/O via [https://freerangecloud.com/ Free Range Cloud]&lt;br /&gt;
* Ashburn, VA: [[matrix]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA: [[elise]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA&lt;br /&gt;
** [[discovery]].prolixium.com via [[Verizon FiOS]]&lt;br /&gt;
** [[sprint]].prolixium.com via [[Verizon Wireless]] (LTE)&lt;br /&gt;
* [[Seattle, WA]]: [[orca]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* Seattle, WA: [[interstellar]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Sarasota, FL]]: [[scimitar]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Los Angeles, CA]]: [[trident]].prolixium.com Virtual I/O via [http://www.arpnetworks.com/ ARP Networks]&lt;br /&gt;
* [[York, SC]]: [[exodus]].prolixium.com on ADSL via [[AT&amp;amp;T]]&lt;br /&gt;
* [[Austin, TX]]: [[photonic]].prolixium.com on FTTH via Google Fiber&lt;br /&gt;
* [[Charlotte, NC]]: [[storm]].prolixium.com on FTTH via AT&amp;amp;T&lt;br /&gt;
* [[Arlington, VA]]: [[merlin]].prolixium.com on Ethernet via Comcast Business / Zayo&lt;br /&gt;
* [[Agawam, MA]]: [[galactica]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Amsterdam, Netherlands]]: [[firefly]].prolixium.com on Virtual I/O via [http://www.digitalocean.com/ DigitalOcean]&lt;br /&gt;
* [[Singapore]]: [[centauri]].prolixium.com on Virtual I/O via [http://ec2.amazon.com/ Amazon EC2]&lt;br /&gt;
&lt;br /&gt;
Each site has multiple OpenVPN tunnels to other locations supporting both IPv4 and IPv6.  The network is primarily powered by [[Free Range Routing]] (FRR) with some sites using [[BIRD]].&lt;br /&gt;
&lt;br /&gt;
=== Routing ===&lt;br /&gt;
&lt;br /&gt;
The routing infrastructure consists of several autonomous systems, taken from the IANA-allocated private range: 64512 through 65534.  Each site runs IBGP, possibly with a route reflector, and its own [[IGP]] for local next-hop resolution.  EBGP is used between sites and peering connections.  IPv4 Internet connectivity for each site is achieved by advertisement of default routes from boxes performing NAT.  The [[Prolixium Communications Network#Lab|lab]] is connected to [[starfire]] (core router) in Ashburn, VA.  The PCN used to use one large OSPF area with no EGP.  It was converted to a [[BGP]] confederation setup, which was a bad idea (but educational!), then reconverted to its current state.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet.png|280px|BGP on PCN]]&lt;br /&gt;
&lt;br /&gt;
=== IPv6 Connectivity ===&lt;br /&gt;
&lt;br /&gt;
IPv6 connectivity is provided by four (5) direct connections to Vultr, Choopa (The Constant Company), ARP Networks, and Free Range Cloud.  A Hurricane Electric BGP tunnel is used as backups in LAX and EWR2 but is depreferenced.  The border transit network piece of the PCN provides this connectivity.&lt;br /&gt;
&lt;br /&gt;
IPv6 addressing is out of 2620:6:2000::/44, which is a direct allocation from ARIN.&lt;br /&gt;
&lt;br /&gt;
==== Border Transit Network ====&lt;br /&gt;
&lt;br /&gt;
The border transit network operates in AS395460 and consists of [[excalibur]], [[trident]], [[orca]], [[pegasus]], and [[concorde]].  Connectivity is provided by the following transit peers:&lt;br /&gt;
&lt;br /&gt;
* trident: AS25795 and AS6939&lt;br /&gt;
* excalibur: AS20473 and AS6939&lt;br /&gt;
* orca: AS20473&lt;br /&gt;
* concorde: AS20473&lt;br /&gt;
* pegasus: AS53356&lt;br /&gt;
&lt;br /&gt;
This network injects a default route into the rest of the PCN, which can be referred to PEN (Prolixium Enterprise Network).  The border network receives a full table from all transits and advertises 2620:6:2000::/44 out each peer along with some sites advertising /48 specifics for networks that are nearby.&lt;br /&gt;
&lt;br /&gt;
Hurricane Electric (AS6939) is only used as backup because it is a tunneled connection and is suspected to be throttled.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet-transit.png|280px|Border Transit Network]]&lt;br /&gt;
&lt;br /&gt;
[[file:pcn-world2-transit.png|280px|Border Transit Network Map]]&lt;br /&gt;
&lt;br /&gt;
The following hosts do not default route to the border transit network and use their own native IPv6 connectivity:&lt;br /&gt;
&lt;br /&gt;
* centauri&lt;br /&gt;
* firefly&lt;br /&gt;
* storm&lt;br /&gt;
&lt;br /&gt;
The following hosts may have IPv6 connectivity but it&#039;s not currently enabled (at time of writing):&lt;br /&gt;
&lt;br /&gt;
* exodus&lt;br /&gt;
* galactica&lt;br /&gt;
* photonic&lt;br /&gt;
&lt;br /&gt;
=== DNS ===&lt;br /&gt;
&lt;br /&gt;
[[DNS]] is done with two views: internal and external.  PCN has two external nameservers, and four internal ones, all which perform zone transfers from the master nameserver, ns3.antiderivative.net.  antiderivative.net is used for all NS records, as well as glue records at the GTLD servers.  The internal nameservers are ns{1-4} and external ones are ns{2,3}.  Each zone has two views, internal and external, and a common file that is included in both views (SOA, etc.).  The zones include the following:&lt;br /&gt;
&lt;br /&gt;
* Internal view, answering to 10/8, 172.16/12, and 192.168/16 addresses&lt;br /&gt;
** 3.10.in-addr.arpa. and 3.16.172.in-addr.arpa. reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s internal A/CNAME records&lt;br /&gt;
* External view, answering to everything !RFC1918&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s external A/CNAME records&lt;br /&gt;
* Common information, answering for all hosts&lt;br /&gt;
** 180/30.189.9.69.in-addr.arpa., 232/29.186.9.69.in-addr.arpa, 0.0.0.2.6.0.0.0.0.2.6.2.ip6.arpa., and other reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s common MX records&lt;br /&gt;
&lt;br /&gt;
Previously, the Xicada DNS Service (developed by Mark Kamichoff) kept track of all the forward delegations as well as IPv4 reverse delegations on Xicada.  The administrator of each node enumerated their zones into a web form, and then configured their DNS server to pull down a forwarders definition for all Xicada zones.  It supported BIND and djbdns, but also outputted a CSV file if someone decided to use another DNS server.  It was originally intended that each DNS server should pull down a fesh copy of the forwarders definition file nightly, but there were really no rules.&lt;br /&gt;
&lt;br /&gt;
Mark Kamichoff has a policy on his network to have DNS entries (includes A, AAAA, and PTR) for each and every active IP address.  If a host is offline, the DNS records should be immediately expunged.  This precludes the requirement of a host management system or a collection of poorly-maintained spreadsheets.  If an IP is needed, the PTR should be checked.  All [[DHCP]]-assigned IP addresses are created via {side ID}-{lastoctet}.prolixium.com.  Again, no confusion.  DNS itself is a database, so why not use it?&lt;br /&gt;
&lt;br /&gt;
All transit links on PCN are addressed using the prolixium.net domain.  The format is {unit/VLAN}.{interface}.{host}.prolixium.net.  For example, the xl1 interface on starfire would be: xl1.starfire.prolixium.net.  There is a collection of DNS entries for every IPv4 and IPv6 transit link.  There is not one hop in my network which has no PTR record (or a PTR record w/out a corresponding A or AAAA record).  Each router has a loopback interface with IPv4 and IPv6 addresses (if supported).&lt;br /&gt;
&lt;br /&gt;
=== Ashburn-Specific Setup ===&lt;br /&gt;
&lt;br /&gt;
[[file:charlotte.png|thumb|Ashburn LAN]]The network setup in Ashburn (formerly Seattle, WA and Charlotte, NC) is slightly different from the other sites, where there is a single router with a dynamic address.  In the Ashburn location there are two ISPs and they&#039;re terminated in separate LXC instances (all with VPNs to at least one of interstellar, nox, dax, or elise - the &amp;quot;enterprise&amp;quot; network):&lt;br /&gt;
&lt;br /&gt;
* discovery (on evolution) - Verizon FiOS&lt;br /&gt;
* sprint (on evolution) - Verizon Wireless (LTE)&lt;br /&gt;
&lt;br /&gt;
starfire and evolution are the two core routers with multiple Gigabit Ethernet interfaces.  The current routing setup is as follows:&lt;br /&gt;
&lt;br /&gt;
* IPv6 (Internet &amp;amp; internal) inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via VPN&lt;br /&gt;
* IPv4 Internet inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via NAT&lt;br /&gt;
* All LXCs above advertise an IPv4 default route into OSPFv2&lt;br /&gt;
* LOCAL_PREF and AS_PATH prepending influence the traffic flow&lt;br /&gt;
&lt;br /&gt;
In the case of backup, discovery is replaced with the LXC sprint.&lt;br /&gt;
&lt;br /&gt;
In the past, NetFlow was used on atlantis, which was depicted in the drawing below:&lt;br /&gt;
&lt;br /&gt;
[[file:netflow.png|280px|PCN NetFlow Setup]]&lt;br /&gt;
&lt;br /&gt;
The NetFlow collector ran [http://www.ntop.org/ ntop], but this was uninstalled due to instability.&lt;br /&gt;
&lt;br /&gt;
=== Printing ===&lt;br /&gt;
&lt;br /&gt;
The whole printing/CUPS/lpd setup is mostly an annoyance.  Most people would want to run CUPS on every Unix client on the network.  Mark Kamichoff believes it&#039;s better to have a lightweight client send a [http://en.wikipedia.org/wiki/PostScript PostScript] file via lpd to a CUPS server rather than sending a huge RAW raster stream across the network and have both the client and server do print processing.  See the diagram to the bottom:&lt;br /&gt;
&lt;br /&gt;
[[file:printing.png|280px|PCN Printing Setup]]&lt;br /&gt;
&lt;br /&gt;
=== SmokePing ===&lt;br /&gt;
&lt;br /&gt;
For monitoring, PCN uses a combination of Nagios, SmokePing, and [[MRTG]].  The SmokePing setup itself is a combination of slaves and masters, both IPv4 and IPv6.&lt;br /&gt;
&lt;br /&gt;
[[file:smokeping.png|280px|SmokePing]]&lt;br /&gt;
&lt;br /&gt;
[[nox]] is the master for a few slaves:&lt;br /&gt;
&lt;br /&gt;
* [[tiny]] - VPS connected to atlantic.net&lt;br /&gt;
* [[storm]] - RPi 3 connected to AT&amp;amp;T Fiber&lt;br /&gt;
* [[exodus]] - RPi 3 connected to AT&amp;amp;T DSL&lt;br /&gt;
* [[galactica]] - RPi 4 B connected to Comcast Xfinity&lt;br /&gt;
* [[photonic]] - RPi 4 B connected to Google Fiber&lt;br /&gt;
* [[merlin]] - RPi 3 B connected to Comcast Business / Zayo&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;History is hidden by default.  Click &#039;&#039;&#039;expand&#039;&#039;&#039; to see it.&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;Warning: This entire section is written in the first-person ([[Mark Kamichoff|Mark Kamichoff&#039;s]]) point of view&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Beginnings ===&lt;br /&gt;
&lt;br /&gt;
After joining the [[http://xicada.sf.net Xicada] network back at [[RPI]], I decided to continue linking all of my networks and sites together via various VPN technologies.  At first, the network was just a simple VPN between my network at home and a few computers in my dorm room at RPI.  The connection tunnelled through RPI&#039;s firewall like a knife through warm butter, using OpenVPN&#039;s [[UDP]] encapsulation mode.  Actually, a site to site UDP tunnel was the only thing OpenVPN offered, back then.  My router at RPI was a blazing-fast [[Pentium]] 166MHz box running [[Debian GNU/Linux]].  At that point, my Xicada tunnels were terminated on another box I found in the trash, an old AMD K6-300, which eventually ran FreeBSD 4.&lt;br /&gt;
&lt;br /&gt;
The network quickly started expanding, and I was able to move the K6-300 box (starfire) into the ACM&#039;s lab, which was given a 100mbit link, in the basement of the DCC.  At this point in time, my network had three sites: home, the lab, and my dorm room.  Since I didn&#039;t stick around RPI during most summers, I reterminated the Xicada links on starfire, since it sported a more permanent link.&lt;br /&gt;
&lt;br /&gt;
Shortly after starfire was moved to the lab, I started toying with IPv6, and acquired a tunnel via Freenet6 (now Hexago, since they&#039;re actually trying to sell products, or something).  RPI&#039;s firewall wouldn&#039;t allow IP protocol 41 through the firewall, and my attempts at getting this opened up for my IP failed.  So, I terminated the IPv6 tunnel on my box at home, which sat on Optimum Online.  Freenet6 gave me a /48 block out of the 3ffe::/16 6bone space, and I started distributing /64&#039;s out to all of my LAN segments.  I started running Zebra&#039;s OSPFv3 daemon, and realized it was buggy as all get out.  It mostly worked, though.  Since Freenet6 gave me an ip6.int. delegation, I spent some time applying tons of patches to djbdns, my DNS server of choice, back then.  After tons of patching, I got IPv6 support, which was fairly neat at the time.  What did I use this new-found IPv6 connectivity for?  IRC and web site hosting. www.prolixium.com has had an AAAA record since at least 2003.&lt;br /&gt;
&lt;br /&gt;
Sometime in 2003 (I forget when), I moved my IPv6 tunnel to BTExact, British Telecom&#039;s free tunnel broker that actually gave out non-6bone /48&#039;s and ip6.arpa. DNS delegations.  I quickly moved to them, and enjoyed quicker speeds than Freenet6 for about a year.  Of course, after a year, my parents had a power outage at home, and my server lost the IP it had with OOL for the past two years.  BTExact, at that time, had frozen their tunnel broker service, and didn&#039;t allow any modifications or new tunnels to be created.  I went back to Freenet6, who had changed to 2001::/16 space.&lt;br /&gt;
&lt;br /&gt;
After leaving RPI, and getting a job, I decided to purchase a dedicated server from SagoNet.  I extended my network down to Tampa, FL, where the server was located.&lt;br /&gt;
&lt;br /&gt;
Fast-forwarding to the present day, I currently have six sites, and native IPv6 from Voxel dot Net.  Almost every host on the network is IPv6-aware, and the IPv6 connectivity is controlled completely by pf.&lt;br /&gt;
&lt;br /&gt;
Xicada connectivity at this point has been terminated, due to lack of interest.&lt;br /&gt;
&lt;br /&gt;
=== [[VLAN]] Conversion (Laundry Room Data Center) ===&lt;br /&gt;
&lt;br /&gt;
[[file:vlan.png|thumb|VLAN Setup]]I&#039;m lucky to have CAT5(e?) cabled to every room in my condo, all aggregated in the [[laundry room]], I figured it was time to deploy a couple different VLANs on my network.  Initially, I just had a dumb switch connecting all of the various ports in different rooms together.  Since that was too simple of a solution, I picked up a Cisco 2940 switch on [http://www.ebay.com/ eBay], and setup a 1Gbit trunk between starfire and the laundry room.  I setup 4x VLANs:&lt;br /&gt;
&lt;br /&gt;
* 2: Various wall jacks&lt;br /&gt;
* 3: Media center link (connected to kamikaze)&lt;br /&gt;
* 4: Linksys link (connected to mercury)&lt;br /&gt;
* 5: Lab link (connected to hysteresis)&lt;br /&gt;
&lt;br /&gt;
I ended up throwing some other gear in the laundry room along with the switch, and ended up moving my lab (3.0) there.&lt;br /&gt;
&lt;br /&gt;
=== BGP (Confederations) Conversion ===&lt;br /&gt;
&lt;br /&gt;
==== History ====&lt;br /&gt;
&lt;br /&gt;
Starting with the Xicada project, my network was one big OSPF backbone area.  Entirely flat, except for some route redistribution for the lab connection.  When I added OSPFv3 for IPv6 reachability, it was no different - one big area: no stub areas, no frills.  It worked, but was boring, and didn&#039;t provide the flexibility required if I wanted to start redirecting Internet traffic.&lt;br /&gt;
&lt;br /&gt;
After reading up on BGP, I realized I could make my network 1000% more complex, while gaining some real-world experience.  Sounds like a plan, huh?&lt;br /&gt;
Preparation and Design&lt;br /&gt;
&lt;br /&gt;
Due to some Quagga instability issues, I originally tested out some alternate BGP/OSPF implementations, including XORP.  Unfortunately, none of them fit the bill, and XORP, although promising, was horribly unstable and appeared to suffer from configuration file parsing issues, more than anything else.  So I decided to stick with Quagga.  I also decided to keep two separate BGP connections, one for IPv4 and one for IPv6 (so I didn&#039;t run into any nasty next-hop accessibility problems).&lt;br /&gt;
&lt;br /&gt;
One of the goals of the redesign was to eliminate the large network-wide IGP process and break down each site into sub-ASes, using BGP confederations and route reflectors.  This required a partial mesh of CBGP (confederation BGP - like EBGP, but more attributes are retained) between all the sites, to take advantage of the tunnels.  Unfortunately, this meant that I had to renumber all of my IPv6 tunnels, since they were all /128&#039;s.  Not a big deal.  I didn&#039;t want to do this with the IPv4 (OpenVPN) tunnels, since the documentation strongly recommended against the use of anything other than a 32-bit netmask.  This required the use of the ebgp-multihop command, since according to most [E]BGP implementations, /32&#039;s or /128&#039;s connecting to each other is not classified as &#039;directly connected&#039; for some reason.  (doesn&#039;t make sense to me, since even a TTL of 1 should theoretically allow communication to succeed)&lt;br /&gt;
&lt;br /&gt;
At each site, I wanted to run IBGP internally, and designate one box to be the route reflector, in order to loosen the IBGP full-mesh requirement.  Some of the OpenWrt devices did not have loopbacks at the time, so I needed to shuffle around some addresses and fix this.&lt;br /&gt;
&lt;br /&gt;
I&#039;d still run an IGP internal to each site (not nox or dax, since they are only one router), and advertise a default route via OSPFv2 within the site, for Internet access.  I could also advertise default routes from two different routers within a site, for redundancy and failover Internet access.&lt;br /&gt;
&lt;br /&gt;
So, here&#039;s some of the tasks I performed prior to making any routing changes:&lt;br /&gt;
&lt;br /&gt;
# Add loopbacks to all routers&lt;br /&gt;
# Redo all IPv6 tunnel interfaces, converted to /126&#039;s to avoid subnet-router anycast issues&lt;br /&gt;
# Redo tunnel naming standards (was too long before)&lt;br /&gt;
&lt;br /&gt;
==== IPv6 Migration ====&lt;br /&gt;
&lt;br /&gt;
I figured, since on most platforms, IGP routes take precedence over BGP routes, I could add all the peering relationships and get everything setup without skipping a beat.  Quagga&#039;s zebra process wouldn&#039;t insert or remove anything from the FIB (the kernel routing table).  Then I could remove OSPFv3 from all the WAN links, and zebra would just shuffle around the routes, but reachability would come back within a few minutes, maybe?&lt;br /&gt;
&lt;br /&gt;
So I started building the BGP neighbors, and quickly ran into a problem.  For some reason, no IPv6 BGP routes were being sent to other peers from Quagga&#039;s bgpd.  I posted a message to the mailing list, and quickly got a helpful response.  Apparently I was hitting a bug that&#039;s been in Quagga for awhile (typo) that dealt with the address-family negotiation between peers.  The quick fix was to add &#039;override-capability&#039; to each neighbor (or peer group) and it would accept all advertised address families.&lt;br /&gt;
&lt;br /&gt;
After all the peers were setup, I disabled [[OSPFv3]] on all the WAN links, and everything reconverged... oddly.  It looked like BGP was doing path-selection based on tiebreakers, and picking the higher peer address as the best path for a destination, even if it meant not utilizing the directly connected link.  After scratching my head for a few minutes, I realized my stupidity.  Normal BGP treats AS_CONFED_SEQUENCE and AS_CONFED_SET as a length of one, so all paths through my network looked like they had an AS path length of *1*.  Luckily, Quagga had a nice bgp bestpath as-path confed command that modified the path selection algorithm, and gave me what I wanted.  I described this a blog entry.&lt;br /&gt;
&lt;br /&gt;
Since I wanted all loopbacks and transit interfaces reachable from anywhere, I added a ton of network statements to bgpd.  It felt like a hack, but isn&#039;t too bad, since there&#039;s really no other way of doing it, without using a network-wide IGP.&lt;br /&gt;
&lt;br /&gt;
==== IPv4 Migration ====&lt;br /&gt;
&lt;br /&gt;
Since the IPv6 migration was successful, I figured the IPv4 migration would turn out the same - and it did, mostly.&lt;br /&gt;
&lt;br /&gt;
I started setting up the IPv4 BGP neighbors, and ran into a strange issue with ScreenOS.  I&#039;ve documented it here.  Basically, my two Juniper firewalls wouldn&#039;t establish IBGP connections unless they were configured as passive neighbors (wait for a connection).&lt;br /&gt;
&lt;br /&gt;
After all the IPv4 BGP connections were up and running, I killed the network-wide IGP process entirely (shut off ospfd/ospf6d on dax and nox), and let everything reconverge.  It worked out of the box - success!&lt;br /&gt;
&lt;br /&gt;
I removed the static default routes on my OpenWrt routers, and advertised defaults at each site.  No problem there.&lt;br /&gt;
&lt;br /&gt;
==== Finish ====&lt;br /&gt;
&lt;br /&gt;
Although I ran into a number of problems, and probably complicated troubleshooting of my network by an order of magnitude, I think the conversion was worth it.  Now if anyone wants to start Xicada 2.0, we can do it right, this time...&lt;br /&gt;
&lt;br /&gt;
=== EBGP Conversion ===&lt;br /&gt;
&lt;br /&gt;
I got sick of confederations, so I just removed the confederation statements and converted all of the inter-site links to straight EBGP.&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
PCN enables several applications:&lt;br /&gt;
&lt;br /&gt;
* VoIP (via [[SIP]] / G.711u)&lt;br /&gt;
* IPv6 Internet access&lt;br /&gt;
* Streaming audio&lt;br /&gt;
&lt;br /&gt;
== Lab ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Main Article: [[PCN Lab]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The PCN lab is Mark Kamichoff&#039;s network proving ground and general hacking arena.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.prolixium.com/mrtgfe PCN MRTG]&lt;br /&gt;
* [http://www.prolixium.net/ PCN Home Page]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:charlotte.png&amp;diff=803</id>
		<title>File:charlotte.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:charlotte.png&amp;diff=803"/>
		<updated>2024-01-09T01:19:50Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:charlotte.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Charlotte LAN Environment&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=802</id>
		<title>Prolixium Communications Network</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=802"/>
		<updated>2024-01-09T01:18:55Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: /* Current State */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:pcn.png|thumb|280px|Prolixium Communications Network Logo]]The Prolixium Communications Network (known also as &#039;&#039;&#039;PCN&#039;&#039;&#039;, &#039;&#039;&#039;mynet&#039;&#039;&#039;, &#039;&#039;&#039;My Network&#039;&#039;&#039;, and &#039;&#039;&#039;Prolixium .NET&#039;&#039;&#039;) is a collection of small, geographically disperse, computer networks that provide [[IPv4]] and [[IPv6]], [[VPN]], and [[VoIP]] services to the [[Kamichoff]] family.  Owned and operated solely by [[Mark Kamichoff]], PCN often serves as a testbed for various network experiments.  The majority of the PCN nodes are connected via residential data services ([[cable modem]]), while some located in [[data center|data centers]] have [[Gigabit Ethernet]] connections to the [[Internet]].&lt;br /&gt;
&lt;br /&gt;
== Current State ==&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
[[file:wan.png|thumb|PCN WAN Architecture]][[file:pcn-world.png|thumb|PCN World Map]]As of February 2, 2022, PCN is composed of several networks in the [[United States]] and across the globe, connected via [[OpenVPN]] and [[Wireguard]] with the IPv6 backbone connected via [[6in4]] tunnels:&lt;br /&gt;
&lt;br /&gt;
* [[North Brunswick, NJ]]: [[nat]].prolixium.com on [[FTTH]] via [[Verizon FiOS]]&lt;br /&gt;
* [[Piscataway, NJ]]: [[excalibur]].prolixium.com on Gigabit Ethernet via [[Choopa]]&lt;br /&gt;
** [[dax]].prolixium.com&lt;br /&gt;
* [[Toronto, Canada]]: [[tiny]].prolixium.com on Virtual I/O via [http://atlantic.net/ atlantic.net]&lt;br /&gt;
* [[Dallas, TX]]: [[nox]].prolixium.com on Virtual I/O via [http://www.linode.com/ Linode]&lt;br /&gt;
* Dallas, TX: [[concorde]].prolixium.com on Virtual I/O via [[Vultr]]&lt;br /&gt;
* [[Ashburn, VA]]: [[pegasus]].prolixium.com on Virtual I/O via [https://freerangecloud.com/ Free Range Cloud]&lt;br /&gt;
* Ashburn, VA: [[matrix]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA: [[elise]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA&lt;br /&gt;
** [[discovery]].prolixium.com via [[Verizon FiOS]]&lt;br /&gt;
** [[sprint]].prolixium.com via [[Verizon Wireless]] (LTE)&lt;br /&gt;
* [[Seattle, WA]]: [[orca]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* Seattle, WA: [[interstellar]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Sarasota, FL]]: [[scimitar]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Los Angeles, CA]]: [[trident]].prolixium.com Virtual I/O via [http://www.arpnetworks.com/ ARP Networks]&lt;br /&gt;
* [[York, SC]]: [[exodus]].prolixium.com on ADSL via [[AT&amp;amp;T]]&lt;br /&gt;
* [[Austin, TX]]: [[photonic]].prolixium.com on FTTH via Google Fiber&lt;br /&gt;
* [[Charlotte, NC]]: [[storm]].prolixium.com on FTTH via AT&amp;amp;T&lt;br /&gt;
* [[Agawam, MA]]: [[galactica]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Amsterdam, Netherlands]]: [[firefly]].prolixium.com on Virtual I/O via [http://www.digitalocean.com/ DigitalOcean]&lt;br /&gt;
* [[Singapore]]: [[centauri]].prolixium.com on Virtual I/O via [http://ec2.amazon.com/ Amazon EC2]&lt;br /&gt;
&lt;br /&gt;
Each site has multiple OpenVPN tunnels to other locations supporting both IPv4 and IPv6.  The network is primarily powered by [[Free Range Routing]] (FRR) with some sites using [[BIRD]].&lt;br /&gt;
&lt;br /&gt;
=== Routing ===&lt;br /&gt;
&lt;br /&gt;
The routing infrastructure consists of several autonomous systems, taken from the IANA-allocated private range: 64512 through 65534.  Each site runs IBGP, possibly with a route reflector, and its own [[IGP]] for local next-hop resolution.  EBGP is used between sites and peering connections.  IPv4 Internet connectivity for each site is achieved by advertisement of default routes from boxes performing NAT.  The [[Prolixium Communications Network#Lab|lab]] is connected to [[starfire]] (core router) in Ashburn, VA.  The PCN used to use one large OSPF area with no EGP.  It was converted to a [[BGP]] confederation setup, which was a bad idea (but educational!), then reconverted to its current state.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet.png|280px|BGP on PCN]]&lt;br /&gt;
&lt;br /&gt;
=== IPv6 Connectivity ===&lt;br /&gt;
&lt;br /&gt;
IPv6 connectivity is provided by four (5) direct connections to Vultr, Choopa (The Constant Company), ARP Networks, and Free Range Cloud.  A Hurricane Electric BGP tunnel is used as backups in LAX and EWR2 but is depreferenced.  The border transit network piece of the PCN provides this connectivity.&lt;br /&gt;
&lt;br /&gt;
IPv6 addressing is out of 2620:6:2000::/44, which is a direct allocation from ARIN.&lt;br /&gt;
&lt;br /&gt;
==== Border Transit Network ====&lt;br /&gt;
&lt;br /&gt;
The border transit network operates in AS395460 and consists of [[excalibur]], [[trident]], [[orca]], [[pegasus]], and [[concorde]].  Connectivity is provided by the following transit peers:&lt;br /&gt;
&lt;br /&gt;
* trident: AS25795 and AS6939&lt;br /&gt;
* excalibur: AS20473 and AS6939&lt;br /&gt;
* orca: AS20473&lt;br /&gt;
* concorde: AS20473&lt;br /&gt;
* pegasus: AS53356&lt;br /&gt;
&lt;br /&gt;
This network injects a default route into the rest of the PCN, which can be referred to PEN (Prolixium Enterprise Network).  The border network receives a full table from all transits and advertises 2620:6:2000::/44 out each peer along with some sites advertising /48 specifics for networks that are nearby.&lt;br /&gt;
&lt;br /&gt;
Hurricane Electric (AS6939) is only used as backup because it is a tunneled connection and is suspected to be throttled.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet-transit.png|280px|Border Transit Network]]&lt;br /&gt;
&lt;br /&gt;
[[file:pcn-world2-transit.png|280px|Border Transit Network Map]]&lt;br /&gt;
&lt;br /&gt;
The following hosts do not default route to the border transit network and use their own native IPv6 connectivity:&lt;br /&gt;
&lt;br /&gt;
* centauri&lt;br /&gt;
* firefly&lt;br /&gt;
* storm&lt;br /&gt;
&lt;br /&gt;
The following hosts may have IPv6 connectivity but it&#039;s not currently enabled (at time of writing):&lt;br /&gt;
&lt;br /&gt;
* exodus&lt;br /&gt;
* galactica&lt;br /&gt;
* photonic&lt;br /&gt;
&lt;br /&gt;
=== DNS ===&lt;br /&gt;
&lt;br /&gt;
[[DNS]] is done with two views: internal and external.  PCN has two external nameservers, and four internal ones, all which perform zone transfers from the master nameserver, ns3.antiderivative.net.  antiderivative.net is used for all NS records, as well as glue records at the GTLD servers.  The internal nameservers are ns{1-4} and external ones are ns{2,3}.  Each zone has two views, internal and external, and a common file that is included in both views (SOA, etc.).  The zones include the following:&lt;br /&gt;
&lt;br /&gt;
* Internal view, answering to 10/8, 172.16/12, and 192.168/16 addresses&lt;br /&gt;
** 3.10.in-addr.arpa. and 3.16.172.in-addr.arpa. reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s internal A/CNAME records&lt;br /&gt;
* External view, answering to everything !RFC1918&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s external A/CNAME records&lt;br /&gt;
* Common information, answering for all hosts&lt;br /&gt;
** 180/30.189.9.69.in-addr.arpa., 232/29.186.9.69.in-addr.arpa, 0.0.0.2.6.0.0.0.0.2.6.2.ip6.arpa., and other reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s common MX records&lt;br /&gt;
&lt;br /&gt;
Previously, the Xicada DNS Service (developed by Mark Kamichoff) kept track of all the forward delegations as well as IPv4 reverse delegations on Xicada.  The administrator of each node enumerated their zones into a web form, and then configured their DNS server to pull down a forwarders definition for all Xicada zones.  It supported BIND and djbdns, but also outputted a CSV file if someone decided to use another DNS server.  It was originally intended that each DNS server should pull down a fesh copy of the forwarders definition file nightly, but there were really no rules.&lt;br /&gt;
&lt;br /&gt;
Mark Kamichoff has a policy on his network to have DNS entries (includes A, AAAA, and PTR) for each and every active IP address.  If a host is offline, the DNS records should be immediately expunged.  This precludes the requirement of a host management system or a collection of poorly-maintained spreadsheets.  If an IP is needed, the PTR should be checked.  All [[DHCP]]-assigned IP addresses are created via {side ID}-{lastoctet}.prolixium.com.  Again, no confusion.  DNS itself is a database, so why not use it?&lt;br /&gt;
&lt;br /&gt;
All transit links on PCN are addressed using the prolixium.net domain.  The format is {unit/VLAN}.{interface}.{host}.prolixium.net.  For example, the xl1 interface on starfire would be: xl1.starfire.prolixium.net.  There is a collection of DNS entries for every IPv4 and IPv6 transit link.  There is not one hop in my network which has no PTR record (or a PTR record w/out a corresponding A or AAAA record).  Each router has a loopback interface with IPv4 and IPv6 addresses (if supported).&lt;br /&gt;
&lt;br /&gt;
=== Ashburn-Specific Setup ===&lt;br /&gt;
&lt;br /&gt;
[[file:charlotte.png|thumb|Ashburn LAN]]The network setup in Ashburn (formerly Seattle, WA and Charlotte, NC) is slightly different from the other sites, where there is a single router with a dynamic address.  In the Ashburn location there are two ISPs and they&#039;re terminated in separate LXC instances (all with VPNs to at least one of interstellar, nox, dax, or elise - the &amp;quot;enterprise&amp;quot; network):&lt;br /&gt;
&lt;br /&gt;
* discovery (on evolution) - Verizon FiOS&lt;br /&gt;
* sprint (on evolution) - Verizon Wireless (LTE)&lt;br /&gt;
&lt;br /&gt;
starfire and evolution are the two core routers with multiple Gigabit Ethernet interfaces.  The current routing setup is as follows:&lt;br /&gt;
&lt;br /&gt;
* IPv6 (Internet &amp;amp; internal) inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via VPN&lt;br /&gt;
* IPv4 Internet inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via NAT&lt;br /&gt;
* All LXCs above advertise an IPv4 default route into OSPFv2&lt;br /&gt;
* LOCAL_PREF and AS_PATH prepending influence the traffic flow&lt;br /&gt;
&lt;br /&gt;
In the case of backup, discovery is replaced with the LXC sprint.&lt;br /&gt;
&lt;br /&gt;
In the past, NetFlow was used on atlantis, which was depicted in the drawing below:&lt;br /&gt;
&lt;br /&gt;
[[file:netflow.png|280px|PCN NetFlow Setup]]&lt;br /&gt;
&lt;br /&gt;
The NetFlow collector ran [http://www.ntop.org/ ntop], but this was uninstalled due to instability.&lt;br /&gt;
&lt;br /&gt;
=== Printing ===&lt;br /&gt;
&lt;br /&gt;
The whole printing/CUPS/lpd setup is mostly an annoyance.  Most people would want to run CUPS on every Unix client on the network.  Mark Kamichoff believes it&#039;s better to have a lightweight client send a [http://en.wikipedia.org/wiki/PostScript PostScript] file via lpd to a CUPS server rather than sending a huge RAW raster stream across the network and have both the client and server do print processing.  See the diagram to the bottom:&lt;br /&gt;
&lt;br /&gt;
[[file:printing.png|280px|PCN Printing Setup]]&lt;br /&gt;
&lt;br /&gt;
=== SmokePing ===&lt;br /&gt;
&lt;br /&gt;
For monitoring, PCN uses a combination of Nagios, SmokePing, and [[MRTG]].  The SmokePing setup itself is a combination of slaves and masters, both IPv4 and IPv6.&lt;br /&gt;
&lt;br /&gt;
[[file:smokeping.png|280px|SmokePing]]&lt;br /&gt;
&lt;br /&gt;
[[nox]] is the master for a few slaves:&lt;br /&gt;
&lt;br /&gt;
* [[tiny]] - VPS connected to atlantic.net&lt;br /&gt;
* [[storm]] - RPi 3 connected to AT&amp;amp;T Fiber&lt;br /&gt;
* [[exodus]] - RPi 3 connected to AT&amp;amp;T DSL&lt;br /&gt;
* [[galactica]] - RPi 4 B connected to Comcast Xfinity&lt;br /&gt;
* [[photonic]] - RPi 4 B connected to Charter Spectrum&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;History is hidden by default.  Click &#039;&#039;&#039;expand&#039;&#039;&#039; to see it.&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;Warning: This entire section is written in the first-person ([[Mark Kamichoff|Mark Kamichoff&#039;s]]) point of view&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Beginnings ===&lt;br /&gt;
&lt;br /&gt;
After joining the [[http://xicada.sf.net Xicada] network back at [[RPI]], I decided to continue linking all of my networks and sites together via various VPN technologies.  At first, the network was just a simple VPN between my network at home and a few computers in my dorm room at RPI.  The connection tunnelled through RPI&#039;s firewall like a knife through warm butter, using OpenVPN&#039;s [[UDP]] encapsulation mode.  Actually, a site to site UDP tunnel was the only thing OpenVPN offered, back then.  My router at RPI was a blazing-fast [[Pentium]] 166MHz box running [[Debian GNU/Linux]].  At that point, my Xicada tunnels were terminated on another box I found in the trash, an old AMD K6-300, which eventually ran FreeBSD 4.&lt;br /&gt;
&lt;br /&gt;
The network quickly started expanding, and I was able to move the K6-300 box (starfire) into the ACM&#039;s lab, which was given a 100mbit link, in the basement of the DCC.  At this point in time, my network had three sites: home, the lab, and my dorm room.  Since I didn&#039;t stick around RPI during most summers, I reterminated the Xicada links on starfire, since it sported a more permanent link.&lt;br /&gt;
&lt;br /&gt;
Shortly after starfire was moved to the lab, I started toying with IPv6, and acquired a tunnel via Freenet6 (now Hexago, since they&#039;re actually trying to sell products, or something).  RPI&#039;s firewall wouldn&#039;t allow IP protocol 41 through the firewall, and my attempts at getting this opened up for my IP failed.  So, I terminated the IPv6 tunnel on my box at home, which sat on Optimum Online.  Freenet6 gave me a /48 block out of the 3ffe::/16 6bone space, and I started distributing /64&#039;s out to all of my LAN segments.  I started running Zebra&#039;s OSPFv3 daemon, and realized it was buggy as all get out.  It mostly worked, though.  Since Freenet6 gave me an ip6.int. delegation, I spent some time applying tons of patches to djbdns, my DNS server of choice, back then.  After tons of patching, I got IPv6 support, which was fairly neat at the time.  What did I use this new-found IPv6 connectivity for?  IRC and web site hosting. www.prolixium.com has had an AAAA record since at least 2003.&lt;br /&gt;
&lt;br /&gt;
Sometime in 2003 (I forget when), I moved my IPv6 tunnel to BTExact, British Telecom&#039;s free tunnel broker that actually gave out non-6bone /48&#039;s and ip6.arpa. DNS delegations.  I quickly moved to them, and enjoyed quicker speeds than Freenet6 for about a year.  Of course, after a year, my parents had a power outage at home, and my server lost the IP it had with OOL for the past two years.  BTExact, at that time, had frozen their tunnel broker service, and didn&#039;t allow any modifications or new tunnels to be created.  I went back to Freenet6, who had changed to 2001::/16 space.&lt;br /&gt;
&lt;br /&gt;
After leaving RPI, and getting a job, I decided to purchase a dedicated server from SagoNet.  I extended my network down to Tampa, FL, where the server was located.&lt;br /&gt;
&lt;br /&gt;
Fast-forwarding to the present day, I currently have six sites, and native IPv6 from Voxel dot Net.  Almost every host on the network is IPv6-aware, and the IPv6 connectivity is controlled completely by pf.&lt;br /&gt;
&lt;br /&gt;
Xicada connectivity at this point has been terminated, due to lack of interest.&lt;br /&gt;
&lt;br /&gt;
=== [[VLAN]] Conversion (Laundry Room Data Center) ===&lt;br /&gt;
&lt;br /&gt;
[[file:vlan.png|thumb|VLAN Setup]]I&#039;m lucky to have CAT5(e?) cabled to every room in my condo, all aggregated in the [[laundry room]], I figured it was time to deploy a couple different VLANs on my network.  Initially, I just had a dumb switch connecting all of the various ports in different rooms together.  Since that was too simple of a solution, I picked up a Cisco 2940 switch on [http://www.ebay.com/ eBay], and setup a 1Gbit trunk between starfire and the laundry room.  I setup 4x VLANs:&lt;br /&gt;
&lt;br /&gt;
* 2: Various wall jacks&lt;br /&gt;
* 3: Media center link (connected to kamikaze)&lt;br /&gt;
* 4: Linksys link (connected to mercury)&lt;br /&gt;
* 5: Lab link (connected to hysteresis)&lt;br /&gt;
&lt;br /&gt;
I ended up throwing some other gear in the laundry room along with the switch, and ended up moving my lab (3.0) there.&lt;br /&gt;
&lt;br /&gt;
=== BGP (Confederations) Conversion ===&lt;br /&gt;
&lt;br /&gt;
==== History ====&lt;br /&gt;
&lt;br /&gt;
Starting with the Xicada project, my network was one big OSPF backbone area.  Entirely flat, except for some route redistribution for the lab connection.  When I added OSPFv3 for IPv6 reachability, it was no different - one big area: no stub areas, no frills.  It worked, but was boring, and didn&#039;t provide the flexibility required if I wanted to start redirecting Internet traffic.&lt;br /&gt;
&lt;br /&gt;
After reading up on BGP, I realized I could make my network 1000% more complex, while gaining some real-world experience.  Sounds like a plan, huh?&lt;br /&gt;
Preparation and Design&lt;br /&gt;
&lt;br /&gt;
Due to some Quagga instability issues, I originally tested out some alternate BGP/OSPF implementations, including XORP.  Unfortunately, none of them fit the bill, and XORP, although promising, was horribly unstable and appeared to suffer from configuration file parsing issues, more than anything else.  So I decided to stick with Quagga.  I also decided to keep two separate BGP connections, one for IPv4 and one for IPv6 (so I didn&#039;t run into any nasty next-hop accessibility problems).&lt;br /&gt;
&lt;br /&gt;
One of the goals of the redesign was to eliminate the large network-wide IGP process and break down each site into sub-ASes, using BGP confederations and route reflectors.  This required a partial mesh of CBGP (confederation BGP - like EBGP, but more attributes are retained) between all the sites, to take advantage of the tunnels.  Unfortunately, this meant that I had to renumber all of my IPv6 tunnels, since they were all /128&#039;s.  Not a big deal.  I didn&#039;t want to do this with the IPv4 (OpenVPN) tunnels, since the documentation strongly recommended against the use of anything other than a 32-bit netmask.  This required the use of the ebgp-multihop command, since according to most [E]BGP implementations, /32&#039;s or /128&#039;s connecting to each other is not classified as &#039;directly connected&#039; for some reason.  (doesn&#039;t make sense to me, since even a TTL of 1 should theoretically allow communication to succeed)&lt;br /&gt;
&lt;br /&gt;
At each site, I wanted to run IBGP internally, and designate one box to be the route reflector, in order to loosen the IBGP full-mesh requirement.  Some of the OpenWrt devices did not have loopbacks at the time, so I needed to shuffle around some addresses and fix this.&lt;br /&gt;
&lt;br /&gt;
I&#039;d still run an IGP internal to each site (not nox or dax, since they are only one router), and advertise a default route via OSPFv2 within the site, for Internet access.  I could also advertise default routes from two different routers within a site, for redundancy and failover Internet access.&lt;br /&gt;
&lt;br /&gt;
So, here&#039;s some of the tasks I performed prior to making any routing changes:&lt;br /&gt;
&lt;br /&gt;
# Add loopbacks to all routers&lt;br /&gt;
# Redo all IPv6 tunnel interfaces, converted to /126&#039;s to avoid subnet-router anycast issues&lt;br /&gt;
# Redo tunnel naming standards (was too long before)&lt;br /&gt;
&lt;br /&gt;
==== IPv6 Migration ====&lt;br /&gt;
&lt;br /&gt;
I figured, since on most platforms, IGP routes take precedence over BGP routes, I could add all the peering relationships and get everything setup without skipping a beat.  Quagga&#039;s zebra process wouldn&#039;t insert or remove anything from the FIB (the kernel routing table).  Then I could remove OSPFv3 from all the WAN links, and zebra would just shuffle around the routes, but reachability would come back within a few minutes, maybe?&lt;br /&gt;
&lt;br /&gt;
So I started building the BGP neighbors, and quickly ran into a problem.  For some reason, no IPv6 BGP routes were being sent to other peers from Quagga&#039;s bgpd.  I posted a message to the mailing list, and quickly got a helpful response.  Apparently I was hitting a bug that&#039;s been in Quagga for awhile (typo) that dealt with the address-family negotiation between peers.  The quick fix was to add &#039;override-capability&#039; to each neighbor (or peer group) and it would accept all advertised address families.&lt;br /&gt;
&lt;br /&gt;
After all the peers were setup, I disabled [[OSPFv3]] on all the WAN links, and everything reconverged... oddly.  It looked like BGP was doing path-selection based on tiebreakers, and picking the higher peer address as the best path for a destination, even if it meant not utilizing the directly connected link.  After scratching my head for a few minutes, I realized my stupidity.  Normal BGP treats AS_CONFED_SEQUENCE and AS_CONFED_SET as a length of one, so all paths through my network looked like they had an AS path length of *1*.  Luckily, Quagga had a nice bgp bestpath as-path confed command that modified the path selection algorithm, and gave me what I wanted.  I described this a blog entry.&lt;br /&gt;
&lt;br /&gt;
Since I wanted all loopbacks and transit interfaces reachable from anywhere, I added a ton of network statements to bgpd.  It felt like a hack, but isn&#039;t too bad, since there&#039;s really no other way of doing it, without using a network-wide IGP.&lt;br /&gt;
&lt;br /&gt;
==== IPv4 Migration ====&lt;br /&gt;
&lt;br /&gt;
Since the IPv6 migration was successful, I figured the IPv4 migration would turn out the same - and it did, mostly.&lt;br /&gt;
&lt;br /&gt;
I started setting up the IPv4 BGP neighbors, and ran into a strange issue with ScreenOS.  I&#039;ve documented it here.  Basically, my two Juniper firewalls wouldn&#039;t establish IBGP connections unless they were configured as passive neighbors (wait for a connection).&lt;br /&gt;
&lt;br /&gt;
After all the IPv4 BGP connections were up and running, I killed the network-wide IGP process entirely (shut off ospfd/ospf6d on dax and nox), and let everything reconverge.  It worked out of the box - success!&lt;br /&gt;
&lt;br /&gt;
I removed the static default routes on my OpenWrt routers, and advertised defaults at each site.  No problem there.&lt;br /&gt;
&lt;br /&gt;
==== Finish ====&lt;br /&gt;
&lt;br /&gt;
Although I ran into a number of problems, and probably complicated troubleshooting of my network by an order of magnitude, I think the conversion was worth it.  Now if anyone wants to start Xicada 2.0, we can do it right, this time...&lt;br /&gt;
&lt;br /&gt;
=== EBGP Conversion ===&lt;br /&gt;
&lt;br /&gt;
I got sick of confederations, so I just removed the confederation statements and converted all of the inter-site links to straight EBGP.&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
PCN enables several applications:&lt;br /&gt;
&lt;br /&gt;
* VoIP (via [[SIP]] / G.711u)&lt;br /&gt;
* IPv6 Internet access&lt;br /&gt;
* Streaming audio&lt;br /&gt;
&lt;br /&gt;
== Lab ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Main Article: [[PCN Lab]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The PCN lab is Mark Kamichoff&#039;s network proving ground and general hacking arena.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.prolixium.com/mrtgfe PCN MRTG]&lt;br /&gt;
* [http://www.prolixium.net/ PCN Home Page]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=801</id>
		<title>File:wan.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=801"/>
		<updated>2024-01-09T01:17:48Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:wan.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PCN WAN Architecture&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Movies_seen_by_Mark_Kamichoff&amp;diff=800</id>
		<title>Movies seen by Mark Kamichoff</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Movies_seen_by_Mark_Kamichoff&amp;diff=800"/>
		<updated>2024-01-01T23:54:00Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Mark Kamichoff]] recently started keeping track of what movies he&#039;s seen.&lt;br /&gt;
&lt;br /&gt;
== 2007 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465602/ Shoot &#039;Em Up] || 2007/09/08 22:00 [[EDT]] || Entertaining || [http://en.wikipedia.org/wiki/Regal_Entertainment_Group Regal Entertainment Group]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0431197/ The Kingdom] || 2007/09/28 17:35 EDT || Entertaining || [http://en.wikipedia.org/wiki/AMC_Theatres AMC Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465538/ Michael Clayton] || 2007/10/19 20:05 EDT || [[Good]] || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0765429/ American Gangster] || 2007/11/09 19:40 [[EST]] || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0480249/ I Am Legend] || 2007/12/15 21:50 EST || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465234/ National Treasure: Book of Secrets] || 2007/12/28 20:25 EST || Boring || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2008 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0880578/ Untraceable] || 2008/02/09 20:00 EST || Unsettling || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1060277/ Cloverfield] || 2008/02/14 19:05 EST || Wow || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443274/ Vantage Point] || 2008/02/22 20:15 EST || Predictable || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0478087/ 21] || 2008/03/29 19:50 EST || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1091617/ Expelled: No Intelligence Allowed] || 2008/04/23 19:25 EDT || Revealing || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0411061/ 88 Minutes] || 2008/04/25 19:30 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0371746/ Iron Man] || 2008/05/07 20:00 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0367882/ Indiana Jones and the Kingdom of the Crystal Skull] || 2008/05/23 18:45 EDT || Entertaining || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0493464/ Wanted] || 2008/06/27 19:55 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0468569/ The Dark Night] || 2008/07/18 21:00 EDT || Awesome (but too long) || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443701/ The X Files: I Want to Believe] || 2008/07/25 19:55 EDT || Blasphemous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0988047/ Traitor] || 2008/09/01 19:50 EDT || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1034331/ Righteous Kill] || 2008/09/12 20:30 EDT || Interesting || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0887883/ Burn After Reading] || 2008/09/19 19:20 EDT || Hilarious || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0830515/ Quantum of Solace] || 2008/11/15 15:55 EST || [http://www.imdb.com/title/tt0381061/ Casino Royale] was better || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2009 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0421715/ The Curious Case of Benjamin Button] || 2009/01/09 22:00 EST || Excellent || [http://www.mezcharlotte.com/ MEZ]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1114740/ Paul Blart: Mall Cop] || 2009/02/06 19:05 EST || Painful, yet humorous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0963178/ The International] || 2009/03/14 16:00 EDT || Banks are evil? || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0473705/ State of Play] || 2009/04/24 19:45 EDT || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0458525/ X-Men Origins: Wolverine] || 2009/04/30 21:20 EDT || Action-packed || [http://www.ayrsleycinemas.com/ Ayrsley Cinemas]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0796366/ Star Trek] || 2009/05/07 19:45 EDT || [http://www.prolixium.com/mynews?id=839 Good] || Ayrsley Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek || 2009/05/08 16:50 EDT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek || 2009/05/09 21:30 EDT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0808151/ Angels &amp;amp; Demons] || 2009/05/15 19:30 EDT || Book was better, except for the end || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek ([[IMAX]]) || 2009/05/20 19:15 EDT || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1049413/ Up] || 2009/06/12 19:00 EDT || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0417741/ Harry Potter and the Half-Blood Prince] || 2009/08/01 16:30 EDT || Blah || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0361748/ Inglorious Basterds] || 2009/08/23 16:00 EDT || Violent || Ayrsley Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1136608/ District 9] || 2009/08/29 17:40 PDT || Surprising || [http://www.pacifictheatres.com/ Pacific Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1190080/ 2012] || 2009/11/24 12:05 EST || Thrilling || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0499549/ Avatar] [[3D]] || 2009/12/26 23:30 EST || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2010 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1228705/ Iron Man 2] || 2010/05/07 22:00 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0944835/ Salt] || 2010/07/24 13:50 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1323594/ Despicable Me] 3D || 2010/07/30 19:10 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1375666/ Inception] || 2010/08/07 15:25 EDT || Intriguing || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1001526/ Megamind] 3D || 2010/11/27 17:50 EST || Quite good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1104001/ Tron: Legacy] 3D || 2010/12/17 16:00 EST || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0980970/ The Chronicles of Narnia: The Voyage of the Dawn Treader] || 2010/12/23 18:50 EST || Not bad || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2011 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0970866/ Little Fockers] || 2011/01/02 16:30 EST || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0993842/ Hanna] || 2011/05/07 19:20 EDT || Strange || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0458339/ Captain America: The First Avenger] || 2011/08/07 14:35 EDT || Exciting || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1509767/ The Three Musketeers] || 2011/11/04 22:25 EDT || Fun || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1568911/ War Horse] || 2011/12/29 15:35 EST || Meh || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1229238/ Mission: Impossible - Ghost Protocol] (IMAX) || 2012/01/06 22:10 EST || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0477302/ Extremely Loud and Incredibly Close] || 2012/01/20 21:40 EST || Well done || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1591479/ Act of Valor] || 2012/03/02 22:50 EST || Powerful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1232829/ 21 Jump Street] || 2012/03/30 22:00 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0848228/ The Avengers] || 2012/05/05 21:30 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1409024/ Men in Black III] || 2012/06/09 16:10 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2215285/ Madea&#039;s Witness Protection] || 2012/06/30 16:10 EDT || Humorous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1345836/ The Dark Night Rises] || 2012/07/27 21:00 EDT || Excellent || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790886/ The Campaign] || 2012/08/18 16:50 EDT || Funny, but over the line || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1276104/ Looper] || 2012/10/06 19:30 EDT || Strange || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1074638/ Skyfall] || 2012/11/10 17:20 EST || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443272/ Lincoln] || 2012/11/22 19:30 EST || Good || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 == &lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1707386/ Les Miserables] || 2013/01/01 16:00 EST || Masterpiece || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790885/ Zero Dark Thirty] || 2013/01/26 16:35 EST || Dramatic || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1606378/ A Good Day to Die Hard] || 2013/02/23 17:40 EST || Explosive || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1623205/ Oz the Great and Powerful] || 2013/03/23 17:05 EDT || Childish || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1483013/ Oblivion] || 2013/04/19 22:20 EDT || Beautiful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1300854/ Iron Man 3] || 2013/05/10 19:15 EDT || Exciting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1408101/ Star Trek Into Darkness] (IMAX 3D) || 2013/05/18 12:50 EDT || Enjoyable || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek Into Darkness || 2013/06/15 19:00 EDT || Enjoyable || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek Into Darkness || 2013/06/30 15:20 EDT || Enjoyable || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0770828/ Man of Steel] || 2013/07/04 17:30 EDT || Gratuitous Destruction || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1723121/ We&#039;re the Millers] || 2013/08/17 20:10 EDT || Funny, but vulgar || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2357129/ Jobs] || 2013/08/19 19:20 EDT || Inspiring || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1411250/ Riddick] || 2013/09/10 19:40 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1837703/ The Fifth Estate] || 2013/10/23 19:30 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1535109/ Captain Phillips] || 2013/10/26 21:15 EDT || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1981115/ Thor: The Dark World] || 2013/11/10 19:00 EST || Mostly Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3063516/ Jackass Presents: Bad Grandpa] || 2013/11/23 19:00 EST || Funny || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1205537/ Jack Ryan: Shadow Recruit] || 2014/01/25 17:20 EST || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1418377/ I, Frankenstein] || 2014/02/15 20:00 EST || Strange, but good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2872732/ Lucy] || 2014/08/02 14:10 PDT || Disappointing || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790864/ The Maze Runner] || 2014/10/11 15:25 PDT || Great || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0816692/ Interstellar] || 2014/11/09 14:10 PST || Great || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1809398/ Unbroken] || 2014/12/25 19:40 EST || Long, Unsettling || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2015 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2395427/ Avengers: Age of Ultron] || 2015/05/15 17:30 PDT || Silly || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0369610/ Jurassic World] || 2015/06/20 13:05 PDT || Greedy || [https://en.wikipedia.org/wiki/Cinemark_Theatres Cinemark Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt4046784/ Maze Runner: The Scorch Trials] || 2015/09/19 16:15 PDT || Didn&#039;t match the book || Cinemark Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2279339/ Love the Coopers] || 2015/11/25 12:40 EST || Alright || Regal Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2488496/ Star Wars: The Force Awakens] || 2015/12/29 13:45 EST || Great || Ayrsley Cinemas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2016 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2277860/ Finding Dory] || 2016/06/25 16:20 PDT || Fun || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2709768/ The Secret Life of Pets] || 2016/07/09 14:00 PDT || Fun || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2660888/ Star Trek Beyond] || 2016/07/31 13:30 PDT || Too Much Action || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2387499/ Keeping Up with the Joneses] || 2016/10/29 11:50 PT || Fun || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2543164/ Arrival] || 2016/11/19 16:05 PT || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3183660/ Fantastic Beasts and Where to Find Them] || 2016/12/04 13:30 PT || Alright || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2017 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3748528/ Rogue One: A Star Wars Story] || 2017/01/02 11:30 PT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1219827/ Ghost in the Shell] || 2017/04/08 10:20 PT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3896198/ Guardians of the Galaxy Vol. 2] || 2017/06/11 14:15 PT || Excellent || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3469046/ Despicable Me 3] || 2017/07/04 14:45 PT || Mildly Funny || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2239822/ Valerian and the City of a Thousand Planets] || 2017/07/29 17:10 PT || Decent || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1856101/ Blade Runner 2049] || 2017/10/22 1510 PT || Need to rewatch the original || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3501632/ Thor: Ragnarok] || 2017/12/02 1540 PT || Funny || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2527336/ Star Wars: The Last Jedi] || 2017/12/18 1215 PT || Entertaining || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Wars: The Last Jedi || 2017/12/25 1930 ET || Entertaining || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2018 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1825683/ Black Panther] || 2018-03-17 1045 PT || Lived up to the hype || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt4154756/ Avengers: Infinity War] || 2018-04-27 1645 PT || Wow || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt4123430/ Fantastic Beasts: The Crimes of Grindelwald] || 2018-12-09 1500 PST || Meh || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2019 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt2527338/ Star Wars: Episode IX - The Rise of Skywalker] || 2019-12-25 1515 PST || Decent || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2021 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1160419/ Dune] || 2021-10-22 2040 PDT || Good || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2022 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1745960/ Top Gun: Maverick] || 2022-06-25 1615 EDT || Great || [https://en.wikipedia.org/wiki/Alamo_Drafthouse_Cinema Alamo Drafhouse Cinema]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2023 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt6791350/ Guardians of the Galaxy Vol. 3] || 2023-05-06 1615 EDT || Good || Alamo Drafhouse Cinema&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1462764/ Indiana Jones and the Dial of Destiny] || 2023-07-04 1100 EDT || Good || Alamo Drafhouse Cinema&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt15398776/ Oppenheimer] || 2023-07-22 0940 EDT || Monumental || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2024 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1856080/ The Boys in the Boat] || 2024-01-01 1535 EST || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Movies_seen_by_Mark_Kamichoff&amp;diff=799</id>
		<title>Movies seen by Mark Kamichoff</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Movies_seen_by_Mark_Kamichoff&amp;diff=799"/>
		<updated>2023-07-23T02:27:47Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Mark Kamichoff]] recently started keeping track of what movies he&#039;s seen.&lt;br /&gt;
&lt;br /&gt;
== 2007 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465602/ Shoot &#039;Em Up] || 2007/09/08 22:00 [[EDT]] || Entertaining || [http://en.wikipedia.org/wiki/Regal_Entertainment_Group Regal Entertainment Group]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0431197/ The Kingdom] || 2007/09/28 17:35 EDT || Entertaining || [http://en.wikipedia.org/wiki/AMC_Theatres AMC Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465538/ Michael Clayton] || 2007/10/19 20:05 EDT || [[Good]] || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0765429/ American Gangster] || 2007/11/09 19:40 [[EST]] || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0480249/ I Am Legend] || 2007/12/15 21:50 EST || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465234/ National Treasure: Book of Secrets] || 2007/12/28 20:25 EST || Boring || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2008 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0880578/ Untraceable] || 2008/02/09 20:00 EST || Unsettling || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1060277/ Cloverfield] || 2008/02/14 19:05 EST || Wow || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443274/ Vantage Point] || 2008/02/22 20:15 EST || Predictable || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0478087/ 21] || 2008/03/29 19:50 EST || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1091617/ Expelled: No Intelligence Allowed] || 2008/04/23 19:25 EDT || Revealing || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0411061/ 88 Minutes] || 2008/04/25 19:30 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0371746/ Iron Man] || 2008/05/07 20:00 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0367882/ Indiana Jones and the Kingdom of the Crystal Skull] || 2008/05/23 18:45 EDT || Entertaining || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0493464/ Wanted] || 2008/06/27 19:55 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0468569/ The Dark Night] || 2008/07/18 21:00 EDT || Awesome (but too long) || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443701/ The X Files: I Want to Believe] || 2008/07/25 19:55 EDT || Blasphemous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0988047/ Traitor] || 2008/09/01 19:50 EDT || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1034331/ Righteous Kill] || 2008/09/12 20:30 EDT || Interesting || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0887883/ Burn After Reading] || 2008/09/19 19:20 EDT || Hilarious || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0830515/ Quantum of Solace] || 2008/11/15 15:55 EST || [http://www.imdb.com/title/tt0381061/ Casino Royale] was better || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2009 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0421715/ The Curious Case of Benjamin Button] || 2009/01/09 22:00 EST || Excellent || [http://www.mezcharlotte.com/ MEZ]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1114740/ Paul Blart: Mall Cop] || 2009/02/06 19:05 EST || Painful, yet humorous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0963178/ The International] || 2009/03/14 16:00 EDT || Banks are evil? || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0473705/ State of Play] || 2009/04/24 19:45 EDT || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0458525/ X-Men Origins: Wolverine] || 2009/04/30 21:20 EDT || Action-packed || [http://www.ayrsleycinemas.com/ Ayrsley Cinemas]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0796366/ Star Trek] || 2009/05/07 19:45 EDT || [http://www.prolixium.com/mynews?id=839 Good] || Ayrsley Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek || 2009/05/08 16:50 EDT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek || 2009/05/09 21:30 EDT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0808151/ Angels &amp;amp; Demons] || 2009/05/15 19:30 EDT || Book was better, except for the end || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek ([[IMAX]]) || 2009/05/20 19:15 EDT || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1049413/ Up] || 2009/06/12 19:00 EDT || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0417741/ Harry Potter and the Half-Blood Prince] || 2009/08/01 16:30 EDT || Blah || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0361748/ Inglorious Basterds] || 2009/08/23 16:00 EDT || Violent || Ayrsley Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1136608/ District 9] || 2009/08/29 17:40 PDT || Surprising || [http://www.pacifictheatres.com/ Pacific Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1190080/ 2012] || 2009/11/24 12:05 EST || Thrilling || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0499549/ Avatar] [[3D]] || 2009/12/26 23:30 EST || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2010 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1228705/ Iron Man 2] || 2010/05/07 22:00 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0944835/ Salt] || 2010/07/24 13:50 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1323594/ Despicable Me] 3D || 2010/07/30 19:10 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1375666/ Inception] || 2010/08/07 15:25 EDT || Intriguing || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1001526/ Megamind] 3D || 2010/11/27 17:50 EST || Quite good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1104001/ Tron: Legacy] 3D || 2010/12/17 16:00 EST || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0980970/ The Chronicles of Narnia: The Voyage of the Dawn Treader] || 2010/12/23 18:50 EST || Not bad || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2011 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0970866/ Little Fockers] || 2011/01/02 16:30 EST || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0993842/ Hanna] || 2011/05/07 19:20 EDT || Strange || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0458339/ Captain America: The First Avenger] || 2011/08/07 14:35 EDT || Exciting || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1509767/ The Three Musketeers] || 2011/11/04 22:25 EDT || Fun || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1568911/ War Horse] || 2011/12/29 15:35 EST || Meh || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1229238/ Mission: Impossible - Ghost Protocol] (IMAX) || 2012/01/06 22:10 EST || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0477302/ Extremely Loud and Incredibly Close] || 2012/01/20 21:40 EST || Well done || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1591479/ Act of Valor] || 2012/03/02 22:50 EST || Powerful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1232829/ 21 Jump Street] || 2012/03/30 22:00 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0848228/ The Avengers] || 2012/05/05 21:30 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1409024/ Men in Black III] || 2012/06/09 16:10 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2215285/ Madea&#039;s Witness Protection] || 2012/06/30 16:10 EDT || Humorous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1345836/ The Dark Night Rises] || 2012/07/27 21:00 EDT || Excellent || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790886/ The Campaign] || 2012/08/18 16:50 EDT || Funny, but over the line || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1276104/ Looper] || 2012/10/06 19:30 EDT || Strange || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1074638/ Skyfall] || 2012/11/10 17:20 EST || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443272/ Lincoln] || 2012/11/22 19:30 EST || Good || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 == &lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1707386/ Les Miserables] || 2013/01/01 16:00 EST || Masterpiece || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790885/ Zero Dark Thirty] || 2013/01/26 16:35 EST || Dramatic || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1606378/ A Good Day to Die Hard] || 2013/02/23 17:40 EST || Explosive || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1623205/ Oz the Great and Powerful] || 2013/03/23 17:05 EDT || Childish || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1483013/ Oblivion] || 2013/04/19 22:20 EDT || Beautiful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1300854/ Iron Man 3] || 2013/05/10 19:15 EDT || Exciting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1408101/ Star Trek Into Darkness] (IMAX 3D) || 2013/05/18 12:50 EDT || Enjoyable || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek Into Darkness || 2013/06/15 19:00 EDT || Enjoyable || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek Into Darkness || 2013/06/30 15:20 EDT || Enjoyable || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0770828/ Man of Steel] || 2013/07/04 17:30 EDT || Gratuitous Destruction || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1723121/ We&#039;re the Millers] || 2013/08/17 20:10 EDT || Funny, but vulgar || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2357129/ Jobs] || 2013/08/19 19:20 EDT || Inspiring || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1411250/ Riddick] || 2013/09/10 19:40 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1837703/ The Fifth Estate] || 2013/10/23 19:30 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1535109/ Captain Phillips] || 2013/10/26 21:15 EDT || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1981115/ Thor: The Dark World] || 2013/11/10 19:00 EST || Mostly Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3063516/ Jackass Presents: Bad Grandpa] || 2013/11/23 19:00 EST || Funny || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1205537/ Jack Ryan: Shadow Recruit] || 2014/01/25 17:20 EST || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1418377/ I, Frankenstein] || 2014/02/15 20:00 EST || Strange, but good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2872732/ Lucy] || 2014/08/02 14:10 PDT || Disappointing || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790864/ The Maze Runner] || 2014/10/11 15:25 PDT || Great || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0816692/ Interstellar] || 2014/11/09 14:10 PST || Great || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1809398/ Unbroken] || 2014/12/25 19:40 EST || Long, Unsettling || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2015 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2395427/ Avengers: Age of Ultron] || 2015/05/15 17:30 PDT || Silly || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0369610/ Jurassic World] || 2015/06/20 13:05 PDT || Greedy || [https://en.wikipedia.org/wiki/Cinemark_Theatres Cinemark Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt4046784/ Maze Runner: The Scorch Trials] || 2015/09/19 16:15 PDT || Didn&#039;t match the book || Cinemark Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2279339/ Love the Coopers] || 2015/11/25 12:40 EST || Alright || Regal Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2488496/ Star Wars: The Force Awakens] || 2015/12/29 13:45 EST || Great || Ayrsley Cinemas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2016 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2277860/ Finding Dory] || 2016/06/25 16:20 PDT || Fun || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2709768/ The Secret Life of Pets] || 2016/07/09 14:00 PDT || Fun || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2660888/ Star Trek Beyond] || 2016/07/31 13:30 PDT || Too Much Action || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2387499/ Keeping Up with the Joneses] || 2016/10/29 11:50 PT || Fun || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2543164/ Arrival] || 2016/11/19 16:05 PT || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3183660/ Fantastic Beasts and Where to Find Them] || 2016/12/04 13:30 PT || Alright || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2017 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3748528/ Rogue One: A Star Wars Story] || 2017/01/02 11:30 PT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1219827/ Ghost in the Shell] || 2017/04/08 10:20 PT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3896198/ Guardians of the Galaxy Vol. 2] || 2017/06/11 14:15 PT || Excellent || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3469046/ Despicable Me 3] || 2017/07/04 14:45 PT || Mildly Funny || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2239822/ Valerian and the City of a Thousand Planets] || 2017/07/29 17:10 PT || Decent || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1856101/ Blade Runner 2049] || 2017/10/22 1510 PT || Need to rewatch the original || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3501632/ Thor: Ragnarok] || 2017/12/02 1540 PT || Funny || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2527336/ Star Wars: The Last Jedi] || 2017/12/18 1215 PT || Entertaining || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Wars: The Last Jedi || 2017/12/25 1930 ET || Entertaining || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2018 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1825683/ Black Panther] || 2018-03-17 1045 PT || Lived up to the hype || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt4154756/ Avengers: Infinity War] || 2018-04-27 1645 PT || Wow || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt4123430/ Fantastic Beasts: The Crimes of Grindelwald] || 2018-12-09 1500 PST || Meh || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2019 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt2527338/ Star Wars: Episode IX - The Rise of Skywalker] || 2019-12-25 1515 PST || Decent || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2021 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1160419/ Dune] || 2021-10-22 2040 PDT || Good || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2022 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1745960/ Top Gun: Maverick] || 2022-06-25 1615 EDT || Great || [https://en.wikipedia.org/wiki/Alamo_Drafthouse_Cinema Alamo Drafhouse Cinema]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2023 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt6791350/ Guardians of the Galaxy Vol. 3] || 2023-05-06 1615 EDT || Good || Alamo Drafhouse Cinema&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1462764/ Indiana Jones and the Dial of Destiny] || 2023-07-04 1100 EDT || Good || Alamo Drafhouse Cinema&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt15398776/ Oppenheimer] || 2023-07-22 0940 EDT || Monumental || Regal Entertainment Group&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Movies_seen_by_Mark_Kamichoff&amp;diff=798</id>
		<title>Movies seen by Mark Kamichoff</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Movies_seen_by_Mark_Kamichoff&amp;diff=798"/>
		<updated>2023-07-04T22:14:59Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Mark Kamichoff]] recently started keeping track of what movies he&#039;s seen.&lt;br /&gt;
&lt;br /&gt;
== 2007 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465602/ Shoot &#039;Em Up] || 2007/09/08 22:00 [[EDT]] || Entertaining || [http://en.wikipedia.org/wiki/Regal_Entertainment_Group Regal Entertainment Group]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0431197/ The Kingdom] || 2007/09/28 17:35 EDT || Entertaining || [http://en.wikipedia.org/wiki/AMC_Theatres AMC Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465538/ Michael Clayton] || 2007/10/19 20:05 EDT || [[Good]] || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0765429/ American Gangster] || 2007/11/09 19:40 [[EST]] || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0480249/ I Am Legend] || 2007/12/15 21:50 EST || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465234/ National Treasure: Book of Secrets] || 2007/12/28 20:25 EST || Boring || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2008 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0880578/ Untraceable] || 2008/02/09 20:00 EST || Unsettling || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1060277/ Cloverfield] || 2008/02/14 19:05 EST || Wow || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443274/ Vantage Point] || 2008/02/22 20:15 EST || Predictable || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0478087/ 21] || 2008/03/29 19:50 EST || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1091617/ Expelled: No Intelligence Allowed] || 2008/04/23 19:25 EDT || Revealing || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0411061/ 88 Minutes] || 2008/04/25 19:30 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0371746/ Iron Man] || 2008/05/07 20:00 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0367882/ Indiana Jones and the Kingdom of the Crystal Skull] || 2008/05/23 18:45 EDT || Entertaining || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0493464/ Wanted] || 2008/06/27 19:55 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0468569/ The Dark Night] || 2008/07/18 21:00 EDT || Awesome (but too long) || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443701/ The X Files: I Want to Believe] || 2008/07/25 19:55 EDT || Blasphemous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0988047/ Traitor] || 2008/09/01 19:50 EDT || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1034331/ Righteous Kill] || 2008/09/12 20:30 EDT || Interesting || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0887883/ Burn After Reading] || 2008/09/19 19:20 EDT || Hilarious || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0830515/ Quantum of Solace] || 2008/11/15 15:55 EST || [http://www.imdb.com/title/tt0381061/ Casino Royale] was better || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2009 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0421715/ The Curious Case of Benjamin Button] || 2009/01/09 22:00 EST || Excellent || [http://www.mezcharlotte.com/ MEZ]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1114740/ Paul Blart: Mall Cop] || 2009/02/06 19:05 EST || Painful, yet humorous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0963178/ The International] || 2009/03/14 16:00 EDT || Banks are evil? || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0473705/ State of Play] || 2009/04/24 19:45 EDT || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0458525/ X-Men Origins: Wolverine] || 2009/04/30 21:20 EDT || Action-packed || [http://www.ayrsleycinemas.com/ Ayrsley Cinemas]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0796366/ Star Trek] || 2009/05/07 19:45 EDT || [http://www.prolixium.com/mynews?id=839 Good] || Ayrsley Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek || 2009/05/08 16:50 EDT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek || 2009/05/09 21:30 EDT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0808151/ Angels &amp;amp; Demons] || 2009/05/15 19:30 EDT || Book was better, except for the end || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek ([[IMAX]]) || 2009/05/20 19:15 EDT || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1049413/ Up] || 2009/06/12 19:00 EDT || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0417741/ Harry Potter and the Half-Blood Prince] || 2009/08/01 16:30 EDT || Blah || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0361748/ Inglorious Basterds] || 2009/08/23 16:00 EDT || Violent || Ayrsley Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1136608/ District 9] || 2009/08/29 17:40 PDT || Surprising || [http://www.pacifictheatres.com/ Pacific Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1190080/ 2012] || 2009/11/24 12:05 EST || Thrilling || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0499549/ Avatar] [[3D]] || 2009/12/26 23:30 EST || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2010 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1228705/ Iron Man 2] || 2010/05/07 22:00 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0944835/ Salt] || 2010/07/24 13:50 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1323594/ Despicable Me] 3D || 2010/07/30 19:10 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1375666/ Inception] || 2010/08/07 15:25 EDT || Intriguing || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1001526/ Megamind] 3D || 2010/11/27 17:50 EST || Quite good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1104001/ Tron: Legacy] 3D || 2010/12/17 16:00 EST || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0980970/ The Chronicles of Narnia: The Voyage of the Dawn Treader] || 2010/12/23 18:50 EST || Not bad || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2011 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0970866/ Little Fockers] || 2011/01/02 16:30 EST || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0993842/ Hanna] || 2011/05/07 19:20 EDT || Strange || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0458339/ Captain America: The First Avenger] || 2011/08/07 14:35 EDT || Exciting || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1509767/ The Three Musketeers] || 2011/11/04 22:25 EDT || Fun || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1568911/ War Horse] || 2011/12/29 15:35 EST || Meh || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1229238/ Mission: Impossible - Ghost Protocol] (IMAX) || 2012/01/06 22:10 EST || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0477302/ Extremely Loud and Incredibly Close] || 2012/01/20 21:40 EST || Well done || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1591479/ Act of Valor] || 2012/03/02 22:50 EST || Powerful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1232829/ 21 Jump Street] || 2012/03/30 22:00 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0848228/ The Avengers] || 2012/05/05 21:30 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1409024/ Men in Black III] || 2012/06/09 16:10 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2215285/ Madea&#039;s Witness Protection] || 2012/06/30 16:10 EDT || Humorous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1345836/ The Dark Night Rises] || 2012/07/27 21:00 EDT || Excellent || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790886/ The Campaign] || 2012/08/18 16:50 EDT || Funny, but over the line || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1276104/ Looper] || 2012/10/06 19:30 EDT || Strange || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1074638/ Skyfall] || 2012/11/10 17:20 EST || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443272/ Lincoln] || 2012/11/22 19:30 EST || Good || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 == &lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1707386/ Les Miserables] || 2013/01/01 16:00 EST || Masterpiece || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790885/ Zero Dark Thirty] || 2013/01/26 16:35 EST || Dramatic || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1606378/ A Good Day to Die Hard] || 2013/02/23 17:40 EST || Explosive || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1623205/ Oz the Great and Powerful] || 2013/03/23 17:05 EDT || Childish || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1483013/ Oblivion] || 2013/04/19 22:20 EDT || Beautiful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1300854/ Iron Man 3] || 2013/05/10 19:15 EDT || Exciting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1408101/ Star Trek Into Darkness] (IMAX 3D) || 2013/05/18 12:50 EDT || Enjoyable || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek Into Darkness || 2013/06/15 19:00 EDT || Enjoyable || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek Into Darkness || 2013/06/30 15:20 EDT || Enjoyable || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0770828/ Man of Steel] || 2013/07/04 17:30 EDT || Gratuitous Destruction || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1723121/ We&#039;re the Millers] || 2013/08/17 20:10 EDT || Funny, but vulgar || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2357129/ Jobs] || 2013/08/19 19:20 EDT || Inspiring || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1411250/ Riddick] || 2013/09/10 19:40 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1837703/ The Fifth Estate] || 2013/10/23 19:30 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1535109/ Captain Phillips] || 2013/10/26 21:15 EDT || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1981115/ Thor: The Dark World] || 2013/11/10 19:00 EST || Mostly Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3063516/ Jackass Presents: Bad Grandpa] || 2013/11/23 19:00 EST || Funny || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1205537/ Jack Ryan: Shadow Recruit] || 2014/01/25 17:20 EST || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1418377/ I, Frankenstein] || 2014/02/15 20:00 EST || Strange, but good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2872732/ Lucy] || 2014/08/02 14:10 PDT || Disappointing || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790864/ The Maze Runner] || 2014/10/11 15:25 PDT || Great || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0816692/ Interstellar] || 2014/11/09 14:10 PST || Great || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1809398/ Unbroken] || 2014/12/25 19:40 EST || Long, Unsettling || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2015 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2395427/ Avengers: Age of Ultron] || 2015/05/15 17:30 PDT || Silly || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0369610/ Jurassic World] || 2015/06/20 13:05 PDT || Greedy || [https://en.wikipedia.org/wiki/Cinemark_Theatres Cinemark Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt4046784/ Maze Runner: The Scorch Trials] || 2015/09/19 16:15 PDT || Didn&#039;t match the book || Cinemark Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2279339/ Love the Coopers] || 2015/11/25 12:40 EST || Alright || Regal Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2488496/ Star Wars: The Force Awakens] || 2015/12/29 13:45 EST || Great || Ayrsley Cinemas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2016 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2277860/ Finding Dory] || 2016/06/25 16:20 PDT || Fun || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2709768/ The Secret Life of Pets] || 2016/07/09 14:00 PDT || Fun || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2660888/ Star Trek Beyond] || 2016/07/31 13:30 PDT || Too Much Action || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2387499/ Keeping Up with the Joneses] || 2016/10/29 11:50 PT || Fun || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2543164/ Arrival] || 2016/11/19 16:05 PT || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3183660/ Fantastic Beasts and Where to Find Them] || 2016/12/04 13:30 PT || Alright || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2017 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3748528/ Rogue One: A Star Wars Story] || 2017/01/02 11:30 PT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1219827/ Ghost in the Shell] || 2017/04/08 10:20 PT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3896198/ Guardians of the Galaxy Vol. 2] || 2017/06/11 14:15 PT || Excellent || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3469046/ Despicable Me 3] || 2017/07/04 14:45 PT || Mildly Funny || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2239822/ Valerian and the City of a Thousand Planets] || 2017/07/29 17:10 PT || Decent || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1856101/ Blade Runner 2049] || 2017/10/22 1510 PT || Need to rewatch the original || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3501632/ Thor: Ragnarok] || 2017/12/02 1540 PT || Funny || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2527336/ Star Wars: The Last Jedi] || 2017/12/18 1215 PT || Entertaining || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Wars: The Last Jedi || 2017/12/25 1930 ET || Entertaining || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2018 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1825683/ Black Panther] || 2018-03-17 1045 PT || Lived up to the hype || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt4154756/ Avengers: Infinity War] || 2018-04-27 1645 PT || Wow || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt4123430/ Fantastic Beasts: The Crimes of Grindelwald] || 2018-12-09 1500 PST || Meh || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2019 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt2527338/ Star Wars: Episode IX - The Rise of Skywalker] || 2019-12-25 1515 PST || Decent || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2021 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1160419/ Dune] || 2021-10-22 2040 PDT || Good || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2022 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1745960/ Top Gun: Maverick] || 2022-06-25 1615 EDT || Great || [https://en.wikipedia.org/wiki/Alamo_Drafthouse_Cinema Alamo Drafhouse Cinema]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2023 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt6791350/ Guardians of the Galaxy Vol. 3] || 2023-05-06 1615 EDT || Good || Alamo Drafhouse Cinema&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1462764/ Indiana Jones and the Dial of Destiny] || 2023-07-04 1100 EDT || Good || Alamo Drafhouse Cinema&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Movies_seen_by_Mark_Kamichoff&amp;diff=797</id>
		<title>Movies seen by Mark Kamichoff</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Movies_seen_by_Mark_Kamichoff&amp;diff=797"/>
		<updated>2023-07-04T22:14:48Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Mark Kamichoff]] recently started keeping track of what movies he&#039;s seen.&lt;br /&gt;
&lt;br /&gt;
== 2007 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465602/ Shoot &#039;Em Up] || 2007/09/08 22:00 [[EDT]] || Entertaining || [http://en.wikipedia.org/wiki/Regal_Entertainment_Group Regal Entertainment Group]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0431197/ The Kingdom] || 2007/09/28 17:35 EDT || Entertaining || [http://en.wikipedia.org/wiki/AMC_Theatres AMC Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465538/ Michael Clayton] || 2007/10/19 20:05 EDT || [[Good]] || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0765429/ American Gangster] || 2007/11/09 19:40 [[EST]] || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0480249/ I Am Legend] || 2007/12/15 21:50 EST || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465234/ National Treasure: Book of Secrets] || 2007/12/28 20:25 EST || Boring || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2008 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0880578/ Untraceable] || 2008/02/09 20:00 EST || Unsettling || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1060277/ Cloverfield] || 2008/02/14 19:05 EST || Wow || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443274/ Vantage Point] || 2008/02/22 20:15 EST || Predictable || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0478087/ 21] || 2008/03/29 19:50 EST || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1091617/ Expelled: No Intelligence Allowed] || 2008/04/23 19:25 EDT || Revealing || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0411061/ 88 Minutes] || 2008/04/25 19:30 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0371746/ Iron Man] || 2008/05/07 20:00 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0367882/ Indiana Jones and the Kingdom of the Crystal Skull] || 2008/05/23 18:45 EDT || Entertaining || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0493464/ Wanted] || 2008/06/27 19:55 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0468569/ The Dark Night] || 2008/07/18 21:00 EDT || Awesome (but too long) || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443701/ The X Files: I Want to Believe] || 2008/07/25 19:55 EDT || Blasphemous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0988047/ Traitor] || 2008/09/01 19:50 EDT || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1034331/ Righteous Kill] || 2008/09/12 20:30 EDT || Interesting || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0887883/ Burn After Reading] || 2008/09/19 19:20 EDT || Hilarious || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0830515/ Quantum of Solace] || 2008/11/15 15:55 EST || [http://www.imdb.com/title/tt0381061/ Casino Royale] was better || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2009 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0421715/ The Curious Case of Benjamin Button] || 2009/01/09 22:00 EST || Excellent || [http://www.mezcharlotte.com/ MEZ]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1114740/ Paul Blart: Mall Cop] || 2009/02/06 19:05 EST || Painful, yet humorous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0963178/ The International] || 2009/03/14 16:00 EDT || Banks are evil? || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0473705/ State of Play] || 2009/04/24 19:45 EDT || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0458525/ X-Men Origins: Wolverine] || 2009/04/30 21:20 EDT || Action-packed || [http://www.ayrsleycinemas.com/ Ayrsley Cinemas]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0796366/ Star Trek] || 2009/05/07 19:45 EDT || [http://www.prolixium.com/mynews?id=839 Good] || Ayrsley Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek || 2009/05/08 16:50 EDT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek || 2009/05/09 21:30 EDT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0808151/ Angels &amp;amp; Demons] || 2009/05/15 19:30 EDT || Book was better, except for the end || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek ([[IMAX]]) || 2009/05/20 19:15 EDT || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1049413/ Up] || 2009/06/12 19:00 EDT || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0417741/ Harry Potter and the Half-Blood Prince] || 2009/08/01 16:30 EDT || Blah || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0361748/ Inglorious Basterds] || 2009/08/23 16:00 EDT || Violent || Ayrsley Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1136608/ District 9] || 2009/08/29 17:40 PDT || Surprising || [http://www.pacifictheatres.com/ Pacific Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1190080/ 2012] || 2009/11/24 12:05 EST || Thrilling || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0499549/ Avatar] [[3D]] || 2009/12/26 23:30 EST || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2010 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1228705/ Iron Man 2] || 2010/05/07 22:00 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0944835/ Salt] || 2010/07/24 13:50 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1323594/ Despicable Me] 3D || 2010/07/30 19:10 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1375666/ Inception] || 2010/08/07 15:25 EDT || Intriguing || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1001526/ Megamind] 3D || 2010/11/27 17:50 EST || Quite good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1104001/ Tron: Legacy] 3D || 2010/12/17 16:00 EST || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0980970/ The Chronicles of Narnia: The Voyage of the Dawn Treader] || 2010/12/23 18:50 EST || Not bad || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2011 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0970866/ Little Fockers] || 2011/01/02 16:30 EST || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0993842/ Hanna] || 2011/05/07 19:20 EDT || Strange || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0458339/ Captain America: The First Avenger] || 2011/08/07 14:35 EDT || Exciting || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1509767/ The Three Musketeers] || 2011/11/04 22:25 EDT || Fun || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1568911/ War Horse] || 2011/12/29 15:35 EST || Meh || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1229238/ Mission: Impossible - Ghost Protocol] (IMAX) || 2012/01/06 22:10 EST || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0477302/ Extremely Loud and Incredibly Close] || 2012/01/20 21:40 EST || Well done || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1591479/ Act of Valor] || 2012/03/02 22:50 EST || Powerful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1232829/ 21 Jump Street] || 2012/03/30 22:00 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0848228/ The Avengers] || 2012/05/05 21:30 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1409024/ Men in Black III] || 2012/06/09 16:10 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2215285/ Madea&#039;s Witness Protection] || 2012/06/30 16:10 EDT || Humorous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1345836/ The Dark Night Rises] || 2012/07/27 21:00 EDT || Excellent || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790886/ The Campaign] || 2012/08/18 16:50 EDT || Funny, but over the line || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1276104/ Looper] || 2012/10/06 19:30 EDT || Strange || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1074638/ Skyfall] || 2012/11/10 17:20 EST || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443272/ Lincoln] || 2012/11/22 19:30 EST || Good || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 == &lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1707386/ Les Miserables] || 2013/01/01 16:00 EST || Masterpiece || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790885/ Zero Dark Thirty] || 2013/01/26 16:35 EST || Dramatic || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1606378/ A Good Day to Die Hard] || 2013/02/23 17:40 EST || Explosive || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1623205/ Oz the Great and Powerful] || 2013/03/23 17:05 EDT || Childish || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1483013/ Oblivion] || 2013/04/19 22:20 EDT || Beautiful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1300854/ Iron Man 3] || 2013/05/10 19:15 EDT || Exciting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1408101/ Star Trek Into Darkness] (IMAX 3D) || 2013/05/18 12:50 EDT || Enjoyable || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek Into Darkness || 2013/06/15 19:00 EDT || Enjoyable || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek Into Darkness || 2013/06/30 15:20 EDT || Enjoyable || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0770828/ Man of Steel] || 2013/07/04 17:30 EDT || Gratuitous Destruction || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1723121/ We&#039;re the Millers] || 2013/08/17 20:10 EDT || Funny, but vulgar || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2357129/ Jobs] || 2013/08/19 19:20 EDT || Inspiring || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1411250/ Riddick] || 2013/09/10 19:40 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1837703/ The Fifth Estate] || 2013/10/23 19:30 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1535109/ Captain Phillips] || 2013/10/26 21:15 EDT || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1981115/ Thor: The Dark World] || 2013/11/10 19:00 EST || Mostly Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3063516/ Jackass Presents: Bad Grandpa] || 2013/11/23 19:00 EST || Funny || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1205537/ Jack Ryan: Shadow Recruit] || 2014/01/25 17:20 EST || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1418377/ I, Frankenstein] || 2014/02/15 20:00 EST || Strange, but good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2872732/ Lucy] || 2014/08/02 14:10 PDT || Disappointing || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790864/ The Maze Runner] || 2014/10/11 15:25 PDT || Great || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0816692/ Interstellar] || 2014/11/09 14:10 PST || Great || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1809398/ Unbroken] || 2014/12/25 19:40 EST || Long, Unsettling || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2015 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2395427/ Avengers: Age of Ultron] || 2015/05/15 17:30 PDT || Silly || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0369610/ Jurassic World] || 2015/06/20 13:05 PDT || Greedy || [https://en.wikipedia.org/wiki/Cinemark_Theatres Cinemark Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt4046784/ Maze Runner: The Scorch Trials] || 2015/09/19 16:15 PDT || Didn&#039;t match the book || Cinemark Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2279339/ Love the Coopers] || 2015/11/25 12:40 EST || Alright || Regal Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2488496/ Star Wars: The Force Awakens] || 2015/12/29 13:45 EST || Great || Ayrsley Cinemas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2016 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2277860/ Finding Dory] || 2016/06/25 16:20 PDT || Fun || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2709768/ The Secret Life of Pets] || 2016/07/09 14:00 PDT || Fun || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2660888/ Star Trek Beyond] || 2016/07/31 13:30 PDT || Too Much Action || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2387499/ Keeping Up with the Joneses] || 2016/10/29 11:50 PT || Fun || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2543164/ Arrival] || 2016/11/19 16:05 PT || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3183660/ Fantastic Beasts and Where to Find Them] || 2016/12/04 13:30 PT || Alright || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2017 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3748528/ Rogue One: A Star Wars Story] || 2017/01/02 11:30 PT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1219827/ Ghost in the Shell] || 2017/04/08 10:20 PT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3896198/ Guardians of the Galaxy Vol. 2] || 2017/06/11 14:15 PT || Excellent || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3469046/ Despicable Me 3] || 2017/07/04 14:45 PT || Mildly Funny || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2239822/ Valerian and the City of a Thousand Planets] || 2017/07/29 17:10 PT || Decent || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1856101/ Blade Runner 2049] || 2017/10/22 1510 PT || Need to rewatch the original || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3501632/ Thor: Ragnarok] || 2017/12/02 1540 PT || Funny || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2527336/ Star Wars: The Last Jedi] || 2017/12/18 1215 PT || Entertaining || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Wars: The Last Jedi || 2017/12/25 1930 ET || Entertaining || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2018 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1825683/ Black Panther] || 2018-03-17 1045 PT || Lived up to the hype || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt4154756/ Avengers: Infinity War] || 2018-04-27 1645 PT || Wow || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt4123430/ Fantastic Beasts: The Crimes of Grindelwald] || 2018-12-09 1500 PST || Meh || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2019 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt2527338/ Star Wars: Episode IX - The Rise of Skywalker] || 2019-12-25 1515 PST || Decent || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2021 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1160419/ Dune] || 2021-10-22 2040 PDT || Good || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2022 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1745960/ Top Gun: Maverick] || 2022-06-25 1615 EDT || Great || [https://en.wikipedia.org/wiki/Alamo_Drafthouse_Cinema Alamo Drafhouse Cinema]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2023 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt6791350/ Guardians of the Galaxy Vol. 3] || 2023-05-06 1615 EDT || Good || Alamo Drafhouse Cinema&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1462764/ Indiana Jones and the Dial of Destiny || 2023-07-04 1100 EDT || Good || Alamo Drafhouse Cinema&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Movies_seen_by_Mark_Kamichoff&amp;diff=796</id>
		<title>Movies seen by Mark Kamichoff</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Movies_seen_by_Mark_Kamichoff&amp;diff=796"/>
		<updated>2023-05-07T00:50:21Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Mark Kamichoff]] recently started keeping track of what movies he&#039;s seen.&lt;br /&gt;
&lt;br /&gt;
== 2007 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465602/ Shoot &#039;Em Up] || 2007/09/08 22:00 [[EDT]] || Entertaining || [http://en.wikipedia.org/wiki/Regal_Entertainment_Group Regal Entertainment Group]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0431197/ The Kingdom] || 2007/09/28 17:35 EDT || Entertaining || [http://en.wikipedia.org/wiki/AMC_Theatres AMC Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465538/ Michael Clayton] || 2007/10/19 20:05 EDT || [[Good]] || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0765429/ American Gangster] || 2007/11/09 19:40 [[EST]] || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0480249/ I Am Legend] || 2007/12/15 21:50 EST || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465234/ National Treasure: Book of Secrets] || 2007/12/28 20:25 EST || Boring || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2008 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0880578/ Untraceable] || 2008/02/09 20:00 EST || Unsettling || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1060277/ Cloverfield] || 2008/02/14 19:05 EST || Wow || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443274/ Vantage Point] || 2008/02/22 20:15 EST || Predictable || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0478087/ 21] || 2008/03/29 19:50 EST || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1091617/ Expelled: No Intelligence Allowed] || 2008/04/23 19:25 EDT || Revealing || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0411061/ 88 Minutes] || 2008/04/25 19:30 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0371746/ Iron Man] || 2008/05/07 20:00 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0367882/ Indiana Jones and the Kingdom of the Crystal Skull] || 2008/05/23 18:45 EDT || Entertaining || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0493464/ Wanted] || 2008/06/27 19:55 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0468569/ The Dark Night] || 2008/07/18 21:00 EDT || Awesome (but too long) || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443701/ The X Files: I Want to Believe] || 2008/07/25 19:55 EDT || Blasphemous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0988047/ Traitor] || 2008/09/01 19:50 EDT || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1034331/ Righteous Kill] || 2008/09/12 20:30 EDT || Interesting || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0887883/ Burn After Reading] || 2008/09/19 19:20 EDT || Hilarious || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0830515/ Quantum of Solace] || 2008/11/15 15:55 EST || [http://www.imdb.com/title/tt0381061/ Casino Royale] was better || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2009 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0421715/ The Curious Case of Benjamin Button] || 2009/01/09 22:00 EST || Excellent || [http://www.mezcharlotte.com/ MEZ]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1114740/ Paul Blart: Mall Cop] || 2009/02/06 19:05 EST || Painful, yet humorous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0963178/ The International] || 2009/03/14 16:00 EDT || Banks are evil? || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0473705/ State of Play] || 2009/04/24 19:45 EDT || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0458525/ X-Men Origins: Wolverine] || 2009/04/30 21:20 EDT || Action-packed || [http://www.ayrsleycinemas.com/ Ayrsley Cinemas]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0796366/ Star Trek] || 2009/05/07 19:45 EDT || [http://www.prolixium.com/mynews?id=839 Good] || Ayrsley Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek || 2009/05/08 16:50 EDT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek || 2009/05/09 21:30 EDT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0808151/ Angels &amp;amp; Demons] || 2009/05/15 19:30 EDT || Book was better, except for the end || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek ([[IMAX]]) || 2009/05/20 19:15 EDT || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1049413/ Up] || 2009/06/12 19:00 EDT || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0417741/ Harry Potter and the Half-Blood Prince] || 2009/08/01 16:30 EDT || Blah || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0361748/ Inglorious Basterds] || 2009/08/23 16:00 EDT || Violent || Ayrsley Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1136608/ District 9] || 2009/08/29 17:40 PDT || Surprising || [http://www.pacifictheatres.com/ Pacific Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1190080/ 2012] || 2009/11/24 12:05 EST || Thrilling || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0499549/ Avatar] [[3D]] || 2009/12/26 23:30 EST || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2010 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1228705/ Iron Man 2] || 2010/05/07 22:00 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0944835/ Salt] || 2010/07/24 13:50 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1323594/ Despicable Me] 3D || 2010/07/30 19:10 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1375666/ Inception] || 2010/08/07 15:25 EDT || Intriguing || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1001526/ Megamind] 3D || 2010/11/27 17:50 EST || Quite good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1104001/ Tron: Legacy] 3D || 2010/12/17 16:00 EST || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0980970/ The Chronicles of Narnia: The Voyage of the Dawn Treader] || 2010/12/23 18:50 EST || Not bad || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2011 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0970866/ Little Fockers] || 2011/01/02 16:30 EST || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0993842/ Hanna] || 2011/05/07 19:20 EDT || Strange || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0458339/ Captain America: The First Avenger] || 2011/08/07 14:35 EDT || Exciting || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1509767/ The Three Musketeers] || 2011/11/04 22:25 EDT || Fun || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1568911/ War Horse] || 2011/12/29 15:35 EST || Meh || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1229238/ Mission: Impossible - Ghost Protocol] (IMAX) || 2012/01/06 22:10 EST || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0477302/ Extremely Loud and Incredibly Close] || 2012/01/20 21:40 EST || Well done || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1591479/ Act of Valor] || 2012/03/02 22:50 EST || Powerful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1232829/ 21 Jump Street] || 2012/03/30 22:00 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0848228/ The Avengers] || 2012/05/05 21:30 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1409024/ Men in Black III] || 2012/06/09 16:10 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2215285/ Madea&#039;s Witness Protection] || 2012/06/30 16:10 EDT || Humorous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1345836/ The Dark Night Rises] || 2012/07/27 21:00 EDT || Excellent || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790886/ The Campaign] || 2012/08/18 16:50 EDT || Funny, but over the line || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1276104/ Looper] || 2012/10/06 19:30 EDT || Strange || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1074638/ Skyfall] || 2012/11/10 17:20 EST || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443272/ Lincoln] || 2012/11/22 19:30 EST || Good || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 == &lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1707386/ Les Miserables] || 2013/01/01 16:00 EST || Masterpiece || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790885/ Zero Dark Thirty] || 2013/01/26 16:35 EST || Dramatic || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1606378/ A Good Day to Die Hard] || 2013/02/23 17:40 EST || Explosive || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1623205/ Oz the Great and Powerful] || 2013/03/23 17:05 EDT || Childish || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1483013/ Oblivion] || 2013/04/19 22:20 EDT || Beautiful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1300854/ Iron Man 3] || 2013/05/10 19:15 EDT || Exciting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1408101/ Star Trek Into Darkness] (IMAX 3D) || 2013/05/18 12:50 EDT || Enjoyable || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek Into Darkness || 2013/06/15 19:00 EDT || Enjoyable || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek Into Darkness || 2013/06/30 15:20 EDT || Enjoyable || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0770828/ Man of Steel] || 2013/07/04 17:30 EDT || Gratuitous Destruction || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1723121/ We&#039;re the Millers] || 2013/08/17 20:10 EDT || Funny, but vulgar || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2357129/ Jobs] || 2013/08/19 19:20 EDT || Inspiring || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1411250/ Riddick] || 2013/09/10 19:40 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1837703/ The Fifth Estate] || 2013/10/23 19:30 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1535109/ Captain Phillips] || 2013/10/26 21:15 EDT || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1981115/ Thor: The Dark World] || 2013/11/10 19:00 EST || Mostly Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3063516/ Jackass Presents: Bad Grandpa] || 2013/11/23 19:00 EST || Funny || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1205537/ Jack Ryan: Shadow Recruit] || 2014/01/25 17:20 EST || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1418377/ I, Frankenstein] || 2014/02/15 20:00 EST || Strange, but good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2872732/ Lucy] || 2014/08/02 14:10 PDT || Disappointing || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790864/ The Maze Runner] || 2014/10/11 15:25 PDT || Great || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0816692/ Interstellar] || 2014/11/09 14:10 PST || Great || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1809398/ Unbroken] || 2014/12/25 19:40 EST || Long, Unsettling || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2015 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2395427/ Avengers: Age of Ultron] || 2015/05/15 17:30 PDT || Silly || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0369610/ Jurassic World] || 2015/06/20 13:05 PDT || Greedy || [https://en.wikipedia.org/wiki/Cinemark_Theatres Cinemark Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt4046784/ Maze Runner: The Scorch Trials] || 2015/09/19 16:15 PDT || Didn&#039;t match the book || Cinemark Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2279339/ Love the Coopers] || 2015/11/25 12:40 EST || Alright || Regal Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2488496/ Star Wars: The Force Awakens] || 2015/12/29 13:45 EST || Great || Ayrsley Cinemas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2016 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2277860/ Finding Dory] || 2016/06/25 16:20 PDT || Fun || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2709768/ The Secret Life of Pets] || 2016/07/09 14:00 PDT || Fun || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2660888/ Star Trek Beyond] || 2016/07/31 13:30 PDT || Too Much Action || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2387499/ Keeping Up with the Joneses] || 2016/10/29 11:50 PT || Fun || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2543164/ Arrival] || 2016/11/19 16:05 PT || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3183660/ Fantastic Beasts and Where to Find Them] || 2016/12/04 13:30 PT || Alright || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2017 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3748528/ Rogue One: A Star Wars Story] || 2017/01/02 11:30 PT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1219827/ Ghost in the Shell] || 2017/04/08 10:20 PT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3896198/ Guardians of the Galaxy Vol. 2] || 2017/06/11 14:15 PT || Excellent || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3469046/ Despicable Me 3] || 2017/07/04 14:45 PT || Mildly Funny || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2239822/ Valerian and the City of a Thousand Planets] || 2017/07/29 17:10 PT || Decent || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1856101/ Blade Runner 2049] || 2017/10/22 1510 PT || Need to rewatch the original || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3501632/ Thor: Ragnarok] || 2017/12/02 1540 PT || Funny || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2527336/ Star Wars: The Last Jedi] || 2017/12/18 1215 PT || Entertaining || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Wars: The Last Jedi || 2017/12/25 1930 ET || Entertaining || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2018 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1825683/ Black Panther] || 2018-03-17 1045 PT || Lived up to the hype || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt4154756/ Avengers: Infinity War] || 2018-04-27 1645 PT || Wow || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt4123430/ Fantastic Beasts: The Crimes of Grindelwald] || 2018-12-09 1500 PST || Meh || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2019 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt2527338/ Star Wars: Episode IX - The Rise of Skywalker] || 2019-12-25 1515 PST || Decent || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2021 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1160419/ Dune] || 2021-10-22 2040 PDT || Good || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2022 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1745960/ Top Gun: Maverick] || 2022-06-25 1615 EDT || Great || [https://en.wikipedia.org/wiki/Alamo_Drafthouse_Cinema Alamo Drafhouse Cinema]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2023 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt6791350/ Guardians of the Galaxy Vol. 3] || 2023-05-06 1615 EDT || Good || Alamo Drafhouse Cinema&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Movies_seen_by_Mark_Kamichoff&amp;diff=795</id>
		<title>Movies seen by Mark Kamichoff</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Movies_seen_by_Mark_Kamichoff&amp;diff=795"/>
		<updated>2023-05-07T00:50:07Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Mark Kamichoff]] recently started keeping track of what movies he&#039;s seen.&lt;br /&gt;
&lt;br /&gt;
== 2007 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465602/ Shoot &#039;Em Up] || 2007/09/08 22:00 [[EDT]] || Entertaining || [http://en.wikipedia.org/wiki/Regal_Entertainment_Group Regal Entertainment Group]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0431197/ The Kingdom] || 2007/09/28 17:35 EDT || Entertaining || [http://en.wikipedia.org/wiki/AMC_Theatres AMC Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465538/ Michael Clayton] || 2007/10/19 20:05 EDT || [[Good]] || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0765429/ American Gangster] || 2007/11/09 19:40 [[EST]] || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0480249/ I Am Legend] || 2007/12/15 21:50 EST || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0465234/ National Treasure: Book of Secrets] || 2007/12/28 20:25 EST || Boring || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2008 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0880578/ Untraceable] || 2008/02/09 20:00 EST || Unsettling || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1060277/ Cloverfield] || 2008/02/14 19:05 EST || Wow || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443274/ Vantage Point] || 2008/02/22 20:15 EST || Predictable || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0478087/ 21] || 2008/03/29 19:50 EST || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1091617/ Expelled: No Intelligence Allowed] || 2008/04/23 19:25 EDT || Revealing || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0411061/ 88 Minutes] || 2008/04/25 19:30 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0371746/ Iron Man] || 2008/05/07 20:00 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0367882/ Indiana Jones and the Kingdom of the Crystal Skull] || 2008/05/23 18:45 EDT || Entertaining || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0493464/ Wanted] || 2008/06/27 19:55 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0468569/ The Dark Night] || 2008/07/18 21:00 EDT || Awesome (but too long) || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443701/ The X Files: I Want to Believe] || 2008/07/25 19:55 EDT || Blasphemous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0988047/ Traitor] || 2008/09/01 19:50 EDT || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1034331/ Righteous Kill] || 2008/09/12 20:30 EDT || Interesting || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0887883/ Burn After Reading] || 2008/09/19 19:20 EDT || Hilarious || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0830515/ Quantum of Solace] || 2008/11/15 15:55 EST || [http://www.imdb.com/title/tt0381061/ Casino Royale] was better || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2009 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0421715/ The Curious Case of Benjamin Button] || 2009/01/09 22:00 EST || Excellent || [http://www.mezcharlotte.com/ MEZ]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1114740/ Paul Blart: Mall Cop] || 2009/02/06 19:05 EST || Painful, yet humorous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0963178/ The International] || 2009/03/14 16:00 EDT || Banks are evil? || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0473705/ State of Play] || 2009/04/24 19:45 EDT || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0458525/ X-Men Origins: Wolverine] || 2009/04/30 21:20 EDT || Action-packed || [http://www.ayrsleycinemas.com/ Ayrsley Cinemas]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0796366/ Star Trek] || 2009/05/07 19:45 EDT || [http://www.prolixium.com/mynews?id=839 Good] || Ayrsley Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek || 2009/05/08 16:50 EDT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek || 2009/05/09 21:30 EDT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0808151/ Angels &amp;amp; Demons] || 2009/05/15 19:30 EDT || Book was better, except for the end || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek ([[IMAX]]) || 2009/05/20 19:15 EDT || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1049413/ Up] || 2009/06/12 19:00 EDT || Interesting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0417741/ Harry Potter and the Half-Blood Prince] || 2009/08/01 16:30 EDT || Blah || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0361748/ Inglorious Basterds] || 2009/08/23 16:00 EDT || Violent || Ayrsley Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1136608/ District 9] || 2009/08/29 17:40 PDT || Surprising || [http://www.pacifictheatres.com/ Pacific Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1190080/ 2012] || 2009/11/24 12:05 EST || Thrilling || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0499549/ Avatar] [[3D]] || 2009/12/26 23:30 EST || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2010 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1228705/ Iron Man 2] || 2010/05/07 22:00 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0944835/ Salt] || 2010/07/24 13:50 EDT || Entertaining || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1323594/ Despicable Me] 3D || 2010/07/30 19:10 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1375666/ Inception] || 2010/08/07 15:25 EDT || Intriguing || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1001526/ Megamind] 3D || 2010/11/27 17:50 EST || Quite good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1104001/ Tron: Legacy] 3D || 2010/12/17 16:00 EST || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0980970/ The Chronicles of Narnia: The Voyage of the Dawn Treader] || 2010/12/23 18:50 EST || Not bad || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2011 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0970866/ Little Fockers] || 2011/01/02 16:30 EST || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0993842/ Hanna] || 2011/05/07 19:20 EDT || Strange || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0458339/ Captain America: The First Avenger] || 2011/08/07 14:35 EDT || Exciting || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1509767/ The Three Musketeers] || 2011/11/04 22:25 EDT || Fun || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1568911/ War Horse] || 2011/12/29 15:35 EST || Meh || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1229238/ Mission: Impossible - Ghost Protocol] (IMAX) || 2012/01/06 22:10 EST || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0477302/ Extremely Loud and Incredibly Close] || 2012/01/20 21:40 EST || Well done || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1591479/ Act of Valor] || 2012/03/02 22:50 EST || Powerful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1232829/ 21 Jump Street] || 2012/03/30 22:00 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0848228/ The Avengers] || 2012/05/05 21:30 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1409024/ Men in Black III] || 2012/06/09 16:10 EDT || Funny || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2215285/ Madea&#039;s Witness Protection] || 2012/06/30 16:10 EDT || Humorous || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1345836/ The Dark Night Rises] || 2012/07/27 21:00 EDT || Excellent || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790886/ The Campaign] || 2012/08/18 16:50 EDT || Funny, but over the line || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1276104/ Looper] || 2012/10/06 19:30 EDT || Strange || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1074638/ Skyfall] || 2012/11/10 17:20 EST || Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0443272/ Lincoln] || 2012/11/22 19:30 EST || Good || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2013 == &lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1707386/ Les Miserables] || 2013/01/01 16:00 EST || Masterpiece || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790885/ Zero Dark Thirty] || 2013/01/26 16:35 EST || Dramatic || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1606378/ A Good Day to Die Hard] || 2013/02/23 17:40 EST || Explosive || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1623205/ Oz the Great and Powerful] || 2013/03/23 17:05 EDT || Childish || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1483013/ Oblivion] || 2013/04/19 22:20 EDT || Beautiful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1300854/ Iron Man 3] || 2013/05/10 19:15 EDT || Exciting || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1408101/ Star Trek Into Darkness] (IMAX 3D) || 2013/05/18 12:50 EDT || Enjoyable || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek Into Darkness || 2013/06/15 19:00 EDT || Enjoyable || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Trek Into Darkness || 2013/06/30 15:20 EDT || Enjoyable || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0770828/ Man of Steel] || 2013/07/04 17:30 EDT || Gratuitous Destruction || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1723121/ We&#039;re the Millers] || 2013/08/17 20:10 EDT || Funny, but vulgar || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2357129/ Jobs] || 2013/08/19 19:20 EDT || Inspiring || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1411250/ Riddick] || 2013/09/10 19:40 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1837703/ The Fifth Estate] || 2013/10/23 19:30 EDT || Awesome || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1535109/ Captain Phillips] || 2013/10/26 21:15 EDT || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1981115/ Thor: The Dark World] || 2013/11/10 19:00 EST || Mostly Good || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3063516/ Jackass Presents: Bad Grandpa] || 2013/11/23 19:00 EST || Funny || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1205537/ Jack Ryan: Shadow Recruit] || 2014/01/25 17:20 EST || Suspenseful || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1418377/ I, Frankenstein] || 2014/02/15 20:00 EST || Strange, but good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2872732/ Lucy] || 2014/08/02 14:10 PDT || Disappointing || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1790864/ The Maze Runner] || 2014/10/11 15:25 PDT || Great || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0816692/ Interstellar] || 2014/11/09 14:10 PST || Great || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1809398/ Unbroken] || 2014/12/25 19:40 EST || Long, Unsettling || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2015 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2395427/ Avengers: Age of Ultron] || 2015/05/15 17:30 PDT || Silly || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt0369610/ Jurassic World] || 2015/06/20 13:05 PDT || Greedy || [https://en.wikipedia.org/wiki/Cinemark_Theatres Cinemark Theatres]&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt4046784/ Maze Runner: The Scorch Trials] || 2015/09/19 16:15 PDT || Didn&#039;t match the book || Cinemark Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2279339/ Love the Coopers] || 2015/11/25 12:40 EST || Alright || Regal Cinemas&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2488496/ Star Wars: The Force Awakens] || 2015/12/29 13:45 EST || Great || Ayrsley Cinemas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2016 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2277860/ Finding Dory] || 2016/06/25 16:20 PDT || Fun || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2709768/ The Secret Life of Pets] || 2016/07/09 14:00 PDT || Fun || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2660888/ Star Trek Beyond] || 2016/07/31 13:30 PDT || Too Much Action || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2387499/ Keeping Up with the Joneses] || 2016/10/29 11:50 PT || Fun || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2543164/ Arrival] || 2016/11/19 16:05 PT || Awesome || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3183660/ Fantastic Beasts and Where to Find Them] || 2016/12/04 13:30 PT || Alright || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2017 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3748528/ Rogue One: A Star Wars Story] || 2017/01/02 11:30 PT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1219827/ Ghost in the Shell] || 2017/04/08 10:20 PT || Good || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3896198/ Guardians of the Galaxy Vol. 2] || 2017/06/11 14:15 PT || Excellent || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3469046/ Despicable Me 3] || 2017/07/04 14:45 PT || Mildly Funny || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2239822/ Valerian and the City of a Thousand Planets] || 2017/07/29 17:10 PT || Decent || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1856101/ Blade Runner 2049] || 2017/10/22 1510 PT || Need to rewatch the original || Regal Entertainment Group&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt3501632/ Thor: Ragnarok] || 2017/12/02 1540 PT || Funny || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt2527336/ Star Wars: The Last Jedi] || 2017/12/18 1215 PT || Entertaining || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|Star Wars: The Last Jedi || 2017/12/25 1930 ET || Entertaining || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2018 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.imdb.com/title/tt1825683/ Black Panther] || 2018-03-17 1045 PT || Lived up to the hype || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt4154756/ Avengers: Infinity War] || 2018-04-27 1645 PT || Wow || AMC Theatres&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt4123430/ Fantastic Beasts: The Crimes of Grindelwald] || 2018-12-09 1500 PST || Meh || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 2019 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt2527338/ Star Wars: Episode IX - The Rise of Skywalker] || 2019-12-25 1515 PST || Decent || AMC Theatres&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2021 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1160419/ Dune] || 2021-10-22 2040 PDT || Good || Regal Entertainment Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2022 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|[https://www.imdb.com/title/tt1745960/ Top Gun: Maverick] || 2022-06-25 1615 EDT || Great || [https://en.wikipedia.org/wiki/Alamo_Drafthouse_Cinema Alamo Drafhouse Cinema]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2023 ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
!Movie&lt;br /&gt;
!Date&lt;br /&gt;
!Concise rating&lt;br /&gt;
!Theatre franchise&lt;br /&gt;
|-&lt;br /&gt;
|https://www.imdb.com/title/tt6791350/ Guardians of the Galaxy Vol. 3 || 2023-05-06 1615 EDT || Good || Alamo Drafhouse Cinema&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=794</id>
		<title>File:wan.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=794"/>
		<updated>2022-12-27T00:54:15Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:wan.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PCN WAN Architecture&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:bgpnet.png&amp;diff=793</id>
		<title>File:bgpnet.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:bgpnet.png&amp;diff=793"/>
		<updated>2022-11-12T00:39:52Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:bgpnet.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BGP Confederations on [[PCN]]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=792</id>
		<title>File:wan.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=792"/>
		<updated>2022-11-12T00:39:27Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:wan.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PCN WAN Architecture&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=791</id>
		<title>Prolixium Communications Network</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=Prolixium_Communications_Network&amp;diff=791"/>
		<updated>2022-11-11T19:37:16Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:pcn.png|thumb|280px|Prolixium Communications Network Logo]]The Prolixium Communications Network (known also as &#039;&#039;&#039;PCN&#039;&#039;&#039;, &#039;&#039;&#039;mynet&#039;&#039;&#039;, &#039;&#039;&#039;My Network&#039;&#039;&#039;, and &#039;&#039;&#039;Prolixium .NET&#039;&#039;&#039;) is a collection of small, geographically disperse, computer networks that provide [[IPv4]] and [[IPv6]], [[VPN]], and [[VoIP]] services to the [[Kamichoff]] family.  Owned and operated solely by [[Mark Kamichoff]], PCN often serves as a testbed for various network experiments.  The majority of the PCN nodes are connected via residential data services ([[cable modem]]), while some located in [[data center|data centers]] have [[Gigabit Ethernet]] connections to the [[Internet]].&lt;br /&gt;
&lt;br /&gt;
== Current State ==&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
[[file:wan.png|thumb|PCN WAN Architecture]][[file:pcn-world.png|thumb|PCN World Map]]As of February 2, 2022, PCN is composed of several networks in the [[United States]] and across the globe, connected via [[OpenVPN]] and [[Wireguard]] with the IPv6 backbone connected via [[6in4]] tunnels:&lt;br /&gt;
&lt;br /&gt;
* [[North Brunswick, NJ]]: [[nat]].prolixium.com on [[FTTH]] via [[Verizon FiOS]]&lt;br /&gt;
* [[Piscataway, NJ]]: [[excalibur]].prolixium.com on Gigabit Ethernet via [[Choopa]]&lt;br /&gt;
** [[dax]].prolixium.com&lt;br /&gt;
* [[Toronto, Canada]]: [[tiny]].prolixium.com on Virtual I/O via [http://atlantic.net/ atlantic.net]&lt;br /&gt;
* [[Dallas, TX]]: [[nox]].prolixium.com on Virtual I/O via [http://www.linode.com/ Linode]&lt;br /&gt;
* Dallas, TX: [[concorde]].prolixium.com on Virtual I/O via [[Vultr]]&lt;br /&gt;
* [[Ashburn, VA]]: [[pegasus]].prolixium.com on Virtual I/O via [https://freerangecloud.com/ Free Range Cloud]&lt;br /&gt;
* Ashburn, VA: [[matrix]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA: [[elise]].prolixium.com on Virtual I/O via [https://cloud.oracle.com/ Oracle Cloud]&lt;br /&gt;
* Ashburn, VA&lt;br /&gt;
** [[discovery]].prolixium.com via [[Verizon FiOS]]&lt;br /&gt;
** [[sprint]].prolixium.com via [[Verizon Wireless]] (LTE)&lt;br /&gt;
* [[Seattle, WA]]: [[orca]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* Seattle, WA: [[interstellar]].prolixium.com on Virtual I/O via Vultr&lt;br /&gt;
* [[Sarasota, FL]]: [[scimitar]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Los Angeles, CA]]: [[trident]].prolixium.com Virtual I/O via [http://www.arpnetworks.com/ ARP Networks]&lt;br /&gt;
* [[York, SC]]: [[exodus]].prolixium.com on ADSL via [[AT&amp;amp;T]]&lt;br /&gt;
* [[Austin, TX]]: [[photonic]].prolixium.com on DOCSIS via [[Spectrum]]&lt;br /&gt;
* [[Charlotte, NC]]: [[storm]].prolixium.com on FTTH via AT&amp;amp;T&lt;br /&gt;
* [[Agawam, MA]]: [[galactica]].prolixium.com on DOCSIS via Comcast Xfinity&lt;br /&gt;
* [[Amsterdam, Netherlands]]: [[firefly]].prolixium.com on Virtual I/O via [http://www.digitalocean.com/ DigitalOcean]&lt;br /&gt;
* [[Singapore]]: [[centauri]].prolixium.com on Virtual I/O via [http://ec2.amazon.com/ Amazon EC2]&lt;br /&gt;
&lt;br /&gt;
Each site has multiple OpenVPN tunnels to other locations supporting both IPv4 and IPv6.  The network is primarily powered by [[Free Range Routing]] (FRR) with some sites using [[BIRD]].&lt;br /&gt;
&lt;br /&gt;
=== Routing ===&lt;br /&gt;
&lt;br /&gt;
The routing infrastructure consists of several autonomous systems, taken from the IANA-allocated private range: 64512 through 65534.  Each site runs IBGP, possibly with a route reflector, and its own [[IGP]] for local next-hop resolution.  EBGP is used between sites and peering connections.  IPv4 Internet connectivity for each site is achieved by advertisement of default routes from boxes performing NAT.  The [[Prolixium Communications Network#Lab|lab]] is connected to [[starfire]] (core router) in Ashburn, VA.  The PCN used to use one large OSPF area with no EGP.  It was converted to a [[BGP]] confederation setup, which was a bad idea (but educational!), then reconverted to its current state.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet.png|280px|BGP on PCN]]&lt;br /&gt;
&lt;br /&gt;
=== IPv6 Connectivity ===&lt;br /&gt;
&lt;br /&gt;
IPv6 connectivity is provided by four (5) direct connections to Vultr, Choopa (The Constant Company), ARP Networks, and Free Range Cloud.  A Hurricane Electric BGP tunnel is used as backups in LAX and EWR2 but is depreferenced.  The border transit network piece of the PCN provides this connectivity.&lt;br /&gt;
&lt;br /&gt;
IPv6 addressing is out of 2620:6:2000::/44, which is a direct allocation from ARIN.&lt;br /&gt;
&lt;br /&gt;
==== Border Transit Network ====&lt;br /&gt;
&lt;br /&gt;
The border transit network operates in AS395460 and consists of [[excalibur]], [[trident]], [[orca]], [[pegasus]], and [[concorde]].  Connectivity is provided by the following transit peers:&lt;br /&gt;
&lt;br /&gt;
* trident: AS25795 and AS6939&lt;br /&gt;
* excalibur: AS20473 and AS6939&lt;br /&gt;
* orca: AS20473&lt;br /&gt;
* concorde: AS20473&lt;br /&gt;
* pegasus: AS53356&lt;br /&gt;
&lt;br /&gt;
This network injects a default route into the rest of the PCN, which can be referred to PEN (Prolixium Enterprise Network).  The border network receives a full table from all transits and advertises 2620:6:2000::/44 out each peer along with some sites advertising /48 specifics for networks that are nearby.&lt;br /&gt;
&lt;br /&gt;
Hurricane Electric (AS6939) is only used as backup because it is a tunneled connection and is suspected to be throttled.&lt;br /&gt;
&lt;br /&gt;
[[file:bgpnet-transit.png|280px|Border Transit Network]]&lt;br /&gt;
&lt;br /&gt;
[[file:pcn-world2-transit.png|280px|Border Transit Network Map]]&lt;br /&gt;
&lt;br /&gt;
The following hosts do not default route to the border transit network and use their own native IPv6 connectivity:&lt;br /&gt;
&lt;br /&gt;
* centauri&lt;br /&gt;
* firefly&lt;br /&gt;
* storm&lt;br /&gt;
&lt;br /&gt;
The following hosts may have IPv6 connectivity but it&#039;s not currently enabled (at time of writing):&lt;br /&gt;
&lt;br /&gt;
* exodus&lt;br /&gt;
* galactica&lt;br /&gt;
* photonic&lt;br /&gt;
&lt;br /&gt;
=== DNS ===&lt;br /&gt;
&lt;br /&gt;
[[DNS]] is done with two views: internal and external.  PCN has two external nameservers, and four internal ones, all which perform zone transfers from the master nameserver, ns3.antiderivative.net.  antiderivative.net is used for all NS records, as well as glue records at the GTLD servers.  The internal nameservers are ns{1-4} and external ones are ns{2,3}.  Each zone has two views, internal and external, and a common file that is included in both views (SOA, etc.).  The zones include the following:&lt;br /&gt;
&lt;br /&gt;
* Internal view, answering to 10/8, 172.16/12, and 192.168/16 addresses&lt;br /&gt;
** 3.10.in-addr.arpa. and 3.16.172.in-addr.arpa. reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s internal A/CNAME records&lt;br /&gt;
* External view, answering to everything !RFC1918&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s external A/CNAME records&lt;br /&gt;
* Common information, answering for all hosts&lt;br /&gt;
** 180/30.189.9.69.in-addr.arpa., 232/29.186.9.69.in-addr.arpa, 0.0.0.2.6.0.0.0.0.2.6.2.ip6.arpa., and other reverse zones&lt;br /&gt;
** prolixium.com, prolixium.net, antiderivative.net, etc.&#039;s common MX records&lt;br /&gt;
&lt;br /&gt;
Previously, the Xicada DNS Service (developed by Mark Kamichoff) kept track of all the forward delegations as well as IPv4 reverse delegations on Xicada.  The administrator of each node enumerated their zones into a web form, and then configured their DNS server to pull down a forwarders definition for all Xicada zones.  It supported BIND and djbdns, but also outputted a CSV file if someone decided to use another DNS server.  It was originally intended that each DNS server should pull down a fesh copy of the forwarders definition file nightly, but there were really no rules.&lt;br /&gt;
&lt;br /&gt;
Mark Kamichoff has a policy on his network to have DNS entries (includes A, AAAA, and PTR) for each and every active IP address.  If a host is offline, the DNS records should be immediately expunged.  This precludes the requirement of a host management system or a collection of poorly-maintained spreadsheets.  If an IP is needed, the PTR should be checked.  All [[DHCP]]-assigned IP addresses are created via {side ID}-{lastoctet}.prolixium.com.  Again, no confusion.  DNS itself is a database, so why not use it?&lt;br /&gt;
&lt;br /&gt;
All transit links on PCN are addressed using the prolixium.net domain.  The format is {unit/VLAN}.{interface}.{host}.prolixium.net.  For example, the xl1 interface on starfire would be: xl1.starfire.prolixium.net.  There is a collection of DNS entries for every IPv4 and IPv6 transit link.  There is not one hop in my network which has no PTR record (or a PTR record w/out a corresponding A or AAAA record).  Each router has a loopback interface with IPv4 and IPv6 addresses (if supported).&lt;br /&gt;
&lt;br /&gt;
=== Ashburn-Specific Setup ===&lt;br /&gt;
&lt;br /&gt;
[[file:charlotte.png|thumb|Ashburn LAN]]The network setup in Ashburn (formerly Seattle, WA and Charlotte, NC) is slightly different from the other sites, where there is a single router with a dynamic address.  In the Ashburn location there are two ISPs and they&#039;re terminated in separate LXC instances (all with VPNs to at least one of interstellar, nox, dax, or elise - the &amp;quot;enterprise&amp;quot; network):&lt;br /&gt;
&lt;br /&gt;
* discovery (on evolution) - Verizon FiOS&lt;br /&gt;
* sprint (on evolution) - Verizon Wireless (LTE)&lt;br /&gt;
&lt;br /&gt;
starfire and evolution are the two core routers with multiple Gigabit Ethernet interfaces.  The current routing setup is as follows:&lt;br /&gt;
&lt;br /&gt;
* IPv6 (Internet &amp;amp; internal) inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via VPN&lt;br /&gt;
* IPv4 Internet inbound &amp;amp; outbound traffic traverses discovery (Verizon FiOS) via NAT&lt;br /&gt;
* All LXCs above advertise an IPv4 default route into OSPFv2&lt;br /&gt;
* LOCAL_PREF and AS_PATH prepending influence the traffic flow&lt;br /&gt;
&lt;br /&gt;
In the case of backup, discovery is replaced with the LXC sprint.&lt;br /&gt;
&lt;br /&gt;
In the past, NetFlow was used on atlantis, which was depicted in the drawing below:&lt;br /&gt;
&lt;br /&gt;
[[file:netflow.png|280px|PCN NetFlow Setup]]&lt;br /&gt;
&lt;br /&gt;
The NetFlow collector ran [http://www.ntop.org/ ntop], but this was uninstalled due to instability.&lt;br /&gt;
&lt;br /&gt;
=== Printing ===&lt;br /&gt;
&lt;br /&gt;
The whole printing/CUPS/lpd setup is mostly an annoyance.  Most people would want to run CUPS on every Unix client on the network.  Mark Kamichoff believes it&#039;s better to have a lightweight client send a [http://en.wikipedia.org/wiki/PostScript PostScript] file via lpd to a CUPS server rather than sending a huge RAW raster stream across the network and have both the client and server do print processing.  See the diagram to the bottom:&lt;br /&gt;
&lt;br /&gt;
[[file:printing.png|280px|PCN Printing Setup]]&lt;br /&gt;
&lt;br /&gt;
=== SmokePing ===&lt;br /&gt;
&lt;br /&gt;
For monitoring, PCN uses a combination of Nagios, SmokePing, and [[MRTG]].  The SmokePing setup itself is a combination of slaves and masters, both IPv4 and IPv6.&lt;br /&gt;
&lt;br /&gt;
[[file:smokeping.png|280px|SmokePing]]&lt;br /&gt;
&lt;br /&gt;
[[nox]] is the master for a few slaves:&lt;br /&gt;
&lt;br /&gt;
* [[tiny]] - VPS connected to atlantic.net&lt;br /&gt;
* [[storm]] - RPi 3 connected to AT&amp;amp;T Fiber&lt;br /&gt;
* [[exodus]] - RPi 3 connected to AT&amp;amp;T DSL&lt;br /&gt;
* [[galactica]] - RPi 4 B connected to Comcast Xfinity&lt;br /&gt;
* [[photonic]] - RPi 4 B connected to Charter Spectrum&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&amp;gt;History is hidden by default.  Click &#039;&#039;&#039;expand&#039;&#039;&#039; to see it.&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&#039;&#039;Warning: This entire section is written in the first-person ([[Mark Kamichoff|Mark Kamichoff&#039;s]]) point of view&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Beginnings ===&lt;br /&gt;
&lt;br /&gt;
After joining the [[http://xicada.sf.net Xicada] network back at [[RPI]], I decided to continue linking all of my networks and sites together via various VPN technologies.  At first, the network was just a simple VPN between my network at home and a few computers in my dorm room at RPI.  The connection tunnelled through RPI&#039;s firewall like a knife through warm butter, using OpenVPN&#039;s [[UDP]] encapsulation mode.  Actually, a site to site UDP tunnel was the only thing OpenVPN offered, back then.  My router at RPI was a blazing-fast [[Pentium]] 166MHz box running [[Debian GNU/Linux]].  At that point, my Xicada tunnels were terminated on another box I found in the trash, an old AMD K6-300, which eventually ran FreeBSD 4.&lt;br /&gt;
&lt;br /&gt;
The network quickly started expanding, and I was able to move the K6-300 box (starfire) into the ACM&#039;s lab, which was given a 100mbit link, in the basement of the DCC.  At this point in time, my network had three sites: home, the lab, and my dorm room.  Since I didn&#039;t stick around RPI during most summers, I reterminated the Xicada links on starfire, since it sported a more permanent link.&lt;br /&gt;
&lt;br /&gt;
Shortly after starfire was moved to the lab, I started toying with IPv6, and acquired a tunnel via Freenet6 (now Hexago, since they&#039;re actually trying to sell products, or something).  RPI&#039;s firewall wouldn&#039;t allow IP protocol 41 through the firewall, and my attempts at getting this opened up for my IP failed.  So, I terminated the IPv6 tunnel on my box at home, which sat on Optimum Online.  Freenet6 gave me a /48 block out of the 3ffe::/16 6bone space, and I started distributing /64&#039;s out to all of my LAN segments.  I started running Zebra&#039;s OSPFv3 daemon, and realized it was buggy as all get out.  It mostly worked, though.  Since Freenet6 gave me an ip6.int. delegation, I spent some time applying tons of patches to djbdns, my DNS server of choice, back then.  After tons of patching, I got IPv6 support, which was fairly neat at the time.  What did I use this new-found IPv6 connectivity for?  IRC and web site hosting. www.prolixium.com has had an AAAA record since at least 2003.&lt;br /&gt;
&lt;br /&gt;
Sometime in 2003 (I forget when), I moved my IPv6 tunnel to BTExact, British Telecom&#039;s free tunnel broker that actually gave out non-6bone /48&#039;s and ip6.arpa. DNS delegations.  I quickly moved to them, and enjoyed quicker speeds than Freenet6 for about a year.  Of course, after a year, my parents had a power outage at home, and my server lost the IP it had with OOL for the past two years.  BTExact, at that time, had frozen their tunnel broker service, and didn&#039;t allow any modifications or new tunnels to be created.  I went back to Freenet6, who had changed to 2001::/16 space.&lt;br /&gt;
&lt;br /&gt;
After leaving RPI, and getting a job, I decided to purchase a dedicated server from SagoNet.  I extended my network down to Tampa, FL, where the server was located.&lt;br /&gt;
&lt;br /&gt;
Fast-forwarding to the present day, I currently have six sites, and native IPv6 from Voxel dot Net.  Almost every host on the network is IPv6-aware, and the IPv6 connectivity is controlled completely by pf.&lt;br /&gt;
&lt;br /&gt;
Xicada connectivity at this point has been terminated, due to lack of interest.&lt;br /&gt;
&lt;br /&gt;
=== [[VLAN]] Conversion (Laundry Room Data Center) ===&lt;br /&gt;
&lt;br /&gt;
[[file:vlan.png|thumb|VLAN Setup]]I&#039;m lucky to have CAT5(e?) cabled to every room in my condo, all aggregated in the [[laundry room]], I figured it was time to deploy a couple different VLANs on my network.  Initially, I just had a dumb switch connecting all of the various ports in different rooms together.  Since that was too simple of a solution, I picked up a Cisco 2940 switch on [http://www.ebay.com/ eBay], and setup a 1Gbit trunk between starfire and the laundry room.  I setup 4x VLANs:&lt;br /&gt;
&lt;br /&gt;
* 2: Various wall jacks&lt;br /&gt;
* 3: Media center link (connected to kamikaze)&lt;br /&gt;
* 4: Linksys link (connected to mercury)&lt;br /&gt;
* 5: Lab link (connected to hysteresis)&lt;br /&gt;
&lt;br /&gt;
I ended up throwing some other gear in the laundry room along with the switch, and ended up moving my lab (3.0) there.&lt;br /&gt;
&lt;br /&gt;
=== BGP (Confederations) Conversion ===&lt;br /&gt;
&lt;br /&gt;
==== History ====&lt;br /&gt;
&lt;br /&gt;
Starting with the Xicada project, my network was one big OSPF backbone area.  Entirely flat, except for some route redistribution for the lab connection.  When I added OSPFv3 for IPv6 reachability, it was no different - one big area: no stub areas, no frills.  It worked, but was boring, and didn&#039;t provide the flexibility required if I wanted to start redirecting Internet traffic.&lt;br /&gt;
&lt;br /&gt;
After reading up on BGP, I realized I could make my network 1000% more complex, while gaining some real-world experience.  Sounds like a plan, huh?&lt;br /&gt;
Preparation and Design&lt;br /&gt;
&lt;br /&gt;
Due to some Quagga instability issues, I originally tested out some alternate BGP/OSPF implementations, including XORP.  Unfortunately, none of them fit the bill, and XORP, although promising, was horribly unstable and appeared to suffer from configuration file parsing issues, more than anything else.  So I decided to stick with Quagga.  I also decided to keep two separate BGP connections, one for IPv4 and one for IPv6 (so I didn&#039;t run into any nasty next-hop accessibility problems).&lt;br /&gt;
&lt;br /&gt;
One of the goals of the redesign was to eliminate the large network-wide IGP process and break down each site into sub-ASes, using BGP confederations and route reflectors.  This required a partial mesh of CBGP (confederation BGP - like EBGP, but more attributes are retained) between all the sites, to take advantage of the tunnels.  Unfortunately, this meant that I had to renumber all of my IPv6 tunnels, since they were all /128&#039;s.  Not a big deal.  I didn&#039;t want to do this with the IPv4 (OpenVPN) tunnels, since the documentation strongly recommended against the use of anything other than a 32-bit netmask.  This required the use of the ebgp-multihop command, since according to most [E]BGP implementations, /32&#039;s or /128&#039;s connecting to each other is not classified as &#039;directly connected&#039; for some reason.  (doesn&#039;t make sense to me, since even a TTL of 1 should theoretically allow communication to succeed)&lt;br /&gt;
&lt;br /&gt;
At each site, I wanted to run IBGP internally, and designate one box to be the route reflector, in order to loosen the IBGP full-mesh requirement.  Some of the OpenWrt devices did not have loopbacks at the time, so I needed to shuffle around some addresses and fix this.&lt;br /&gt;
&lt;br /&gt;
I&#039;d still run an IGP internal to each site (not nox or dax, since they are only one router), and advertise a default route via OSPFv2 within the site, for Internet access.  I could also advertise default routes from two different routers within a site, for redundancy and failover Internet access.&lt;br /&gt;
&lt;br /&gt;
So, here&#039;s some of the tasks I performed prior to making any routing changes:&lt;br /&gt;
&lt;br /&gt;
# Add loopbacks to all routers&lt;br /&gt;
# Redo all IPv6 tunnel interfaces, converted to /126&#039;s to avoid subnet-router anycast issues&lt;br /&gt;
# Redo tunnel naming standards (was too long before)&lt;br /&gt;
&lt;br /&gt;
==== IPv6 Migration ====&lt;br /&gt;
&lt;br /&gt;
I figured, since on most platforms, IGP routes take precedence over BGP routes, I could add all the peering relationships and get everything setup without skipping a beat.  Quagga&#039;s zebra process wouldn&#039;t insert or remove anything from the FIB (the kernel routing table).  Then I could remove OSPFv3 from all the WAN links, and zebra would just shuffle around the routes, but reachability would come back within a few minutes, maybe?&lt;br /&gt;
&lt;br /&gt;
So I started building the BGP neighbors, and quickly ran into a problem.  For some reason, no IPv6 BGP routes were being sent to other peers from Quagga&#039;s bgpd.  I posted a message to the mailing list, and quickly got a helpful response.  Apparently I was hitting a bug that&#039;s been in Quagga for awhile (typo) that dealt with the address-family negotiation between peers.  The quick fix was to add &#039;override-capability&#039; to each neighbor (or peer group) and it would accept all advertised address families.&lt;br /&gt;
&lt;br /&gt;
After all the peers were setup, I disabled [[OSPFv3]] on all the WAN links, and everything reconverged... oddly.  It looked like BGP was doing path-selection based on tiebreakers, and picking the higher peer address as the best path for a destination, even if it meant not utilizing the directly connected link.  After scratching my head for a few minutes, I realized my stupidity.  Normal BGP treats AS_CONFED_SEQUENCE and AS_CONFED_SET as a length of one, so all paths through my network looked like they had an AS path length of *1*.  Luckily, Quagga had a nice bgp bestpath as-path confed command that modified the path selection algorithm, and gave me what I wanted.  I described this a blog entry.&lt;br /&gt;
&lt;br /&gt;
Since I wanted all loopbacks and transit interfaces reachable from anywhere, I added a ton of network statements to bgpd.  It felt like a hack, but isn&#039;t too bad, since there&#039;s really no other way of doing it, without using a network-wide IGP.&lt;br /&gt;
&lt;br /&gt;
==== IPv4 Migration ====&lt;br /&gt;
&lt;br /&gt;
Since the IPv6 migration was successful, I figured the IPv4 migration would turn out the same - and it did, mostly.&lt;br /&gt;
&lt;br /&gt;
I started setting up the IPv4 BGP neighbors, and ran into a strange issue with ScreenOS.  I&#039;ve documented it here.  Basically, my two Juniper firewalls wouldn&#039;t establish IBGP connections unless they were configured as passive neighbors (wait for a connection).&lt;br /&gt;
&lt;br /&gt;
After all the IPv4 BGP connections were up and running, I killed the network-wide IGP process entirely (shut off ospfd/ospf6d on dax and nox), and let everything reconverge.  It worked out of the box - success!&lt;br /&gt;
&lt;br /&gt;
I removed the static default routes on my OpenWrt routers, and advertised defaults at each site.  No problem there.&lt;br /&gt;
&lt;br /&gt;
==== Finish ====&lt;br /&gt;
&lt;br /&gt;
Although I ran into a number of problems, and probably complicated troubleshooting of my network by an order of magnitude, I think the conversion was worth it.  Now if anyone wants to start Xicada 2.0, we can do it right, this time...&lt;br /&gt;
&lt;br /&gt;
=== EBGP Conversion ===&lt;br /&gt;
&lt;br /&gt;
I got sick of confederations, so I just removed the confederation statements and converted all of the inter-site links to straight EBGP.&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
PCN enables several applications:&lt;br /&gt;
&lt;br /&gt;
* VoIP (via [[SIP]] / G.711u)&lt;br /&gt;
* IPv6 Internet access&lt;br /&gt;
* Streaming audio&lt;br /&gt;
&lt;br /&gt;
== Lab ==&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Main Article: [[PCN Lab]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The PCN lab is Mark Kamichoff&#039;s network proving ground and general hacking arena.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.prolixium.com/mrtgfe PCN MRTG]&lt;br /&gt;
* [http://www.prolixium.net/ PCN Home Page]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=790</id>
		<title>File:wan.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=790"/>
		<updated>2022-11-06T16:51:44Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:wan.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PCN WAN Architecture&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:bgpnet.png&amp;diff=789</id>
		<title>File:bgpnet.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:bgpnet.png&amp;diff=789"/>
		<updated>2022-11-06T16:51:35Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:bgpnet.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BGP Confederations on [[PCN]]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:bgpnet.png&amp;diff=788</id>
		<title>File:bgpnet.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:bgpnet.png&amp;diff=788"/>
		<updated>2022-10-23T23:04:48Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:bgpnet.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BGP Confederations on [[PCN]]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=787</id>
		<title>File:wan.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=787"/>
		<updated>2022-10-23T23:04:23Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:wan.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PCN WAN Architecture&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:bgpnet.png&amp;diff=786</id>
		<title>File:bgpnet.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:bgpnet.png&amp;diff=786"/>
		<updated>2022-10-02T02:14:40Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:bgpnet.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BGP Confederations on [[PCN]]&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=785</id>
		<title>File:wan.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=785"/>
		<updated>2022-10-02T02:14:20Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:wan.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PCN WAN Architecture&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
	<entry>
		<id>https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=784</id>
		<title>File:wan.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.prolixium.com/mediawiki/index.php?title=File:wan.png&amp;diff=784"/>
		<updated>2022-09-08T03:49:33Z</updated>

		<summary type="html">&lt;p&gt;Prolixium: Prolixium uploaded a new version of File:wan.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PCN WAN Architecture&lt;/div&gt;</summary>
		<author><name>Prolixium</name></author>
	</entry>
</feed>