Adding necessary patches to run NDN module
diff --git a/patches/0004-visualizer-Adding-plugin-to-display-a-CCNx-FIB-state.patch b/patches/0004-visualizer-Adding-plugin-to-display-a-CCNx-FIB-state.patch
new file mode 100644
index 0000000..450c374
--- /dev/null
+++ b/patches/0004-visualizer-Adding-plugin-to-display-a-CCNx-FIB-state.patch
@@ -0,0 +1,108 @@
+From 84d6db685c4ee5cbce89b4424c68f5d40c2b976b Mon Sep 17 00:00:00 2001
+From: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+Date: Wed, 29 Feb 2012 16:59:59 -0800
+Subject: [PATCH] visualizer: Adding plugin to display a CCNx FIB state
+
+---
+ src/visualizer/visualizer/plugins/ccnx_fib.py |   89 +++++++++++++++++++++++++
+ 1 file changed, 89 insertions(+)
+ create mode 100644 src/visualizer/visualizer/plugins/ccnx_fib.py
+
+diff --git a/src/visualizer/visualizer/plugins/ccnx_fib.py b/src/visualizer/visualizer/plugins/ccnx_fib.py
+new file mode 100644
+index 0000000..3f09212
+--- /dev/null
++++ b/src/visualizer/visualizer/plugins/ccnx_fib.py
+@@ -0,0 +1,89 @@
++import gtk
++
++import ns.core
++import ns.network
++import ns.internet
++import ns.NDNabstraction
++
++from visualizer.base import InformationWindow
++
++class ShowCcnxFib(InformationWindow):
++    (
++        COLUMN_PREFIX,
++        COLUMN_FACE
++        ) = range(2)
++
++    def __init__(self, visualizer, node_index):
++        InformationWindow.__init__(self)
++        self.win = gtk.Dialog(parent=visualizer.window,
++                              flags=gtk.DIALOG_DESTROY_WITH_PARENT|gtk.DIALOG_NO_SEPARATOR,
++                              buttons=(gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE))
++        self.win.connect("response", self._response_cb)
++
++        self.node = ns.network.NodeList.GetNode (node_index)
++        node_name = ns.core.Names.FindName (self.node)
++
++        title = "CCNx FIB for node %i" % node_index
++        if len(node_name) != 0:
++            title += " (" + str(node_name) + ")"
++
++        self.win.set_title (title) 
++        self.visualizer = visualizer
++        self.node_index = node_index
++
++        self.table_model = gtk.ListStore(str, str, int)
++
++        treeview = gtk.TreeView(self.table_model)
++        treeview.show()
++        sw = gtk.ScrolledWindow()
++        sw.set_properties(hscrollbar_policy=gtk.POLICY_AUTOMATIC,
++                          vscrollbar_policy=gtk.POLICY_AUTOMATIC)
++        sw.show()
++        sw.add(treeview)
++        self.win.vbox.add(sw)
++        self.win.set_default_size(600, 300)
++        
++        # Dest.
++        column = gtk.TreeViewColumn('Destination', gtk.CellRendererText(),
++                                    text=self.COLUMN_PREFIX)
++        treeview.append_column(column)
++
++        # Interface
++        column = gtk.TreeViewColumn('faceType[nodeId](routingCost,status,metric)', gtk.CellRendererText(),
++                                    text=self.COLUMN_FACE)
++        treeview.append_column(column)
++
++        self.visualizer.add_information_window(self)
++        self.win.show()
++
++    def _response_cb(self, win, response):
++        self.win.destroy()
++        self.visualizer.remove_information_window(self)
++    
++    def update(self):
++        ccnxFib = self.node.GetObject(ns.NDNabstraction.CcnxFib.GetTypeId())
++        
++        if ccnxFib is None:
++            return
++
++        self.table_model.clear()
++        
++        for fibI in range(ccnxFib.GetCcnxFibEntryCount()):
++            entry = ccnxFib.GetCcnxFibEntry(fibI)
++            tree_iter = self.table_model.append()
++            self.table_model.set(tree_iter,
++                                 self.COLUMN_PREFIX, str(entry.GetPrefix()),
++                                 self.COLUMN_FACE, str(entry))
++
++def populate_node_menu(viz, node, menu):
++    menu_item = gtk.MenuItem("Show CCNx FIB")
++    menu_item.show()
++
++    def _show_ccnx_fib(dummy_menu_item):
++        ShowCcnxFib(viz, node.node_index)
++
++    menu_item.connect("activate", _show_ccnx_fib)
++    menu.add(menu_item)
++
++def register(viz):
++    viz.connect("populate-node-menu", populate_node_menu)
+-- 
+1.7.10.2
+