diff --git a/oltbase.py b/oltbase.py
index 1118054..2baf37c 100644
--- a/oltbase.py
+++ b/oltbase.py
@@ -57,7 +57,8 @@
             verify_packet_in(self, pkt, of_port, ofp.OFPR_ACTION)
             verify_packets(self, pkt, [])
 
-    def processEapolRule(self, in_port, install=True):
+    def installEapolRule(self, in_port=None, install=True):
+        in_port = onu_port if in_port is None else in_port
         match = ofp.match()
         match.oxm_list.append(ofp.oxm.eth_type(0x888e))
         match.oxm_list.append(ofp.oxm.in_port(in_port))
@@ -91,6 +92,15 @@
         self.controller.message_send(request)
         do_barrier(self.controller)
 
+    def sendEapolIn(self, in_port=None):
+        """Send in an EAPOL frame and verify that the controller receives it"""
+
+        in_port = onu_port if in_port is None else in_port
+        pkt = str(simple_eth_packet(eth_dst='01:00:5e:7f:ff:ff', eth_type=0x888e, pktlen=60))
+        self.dataplane.send(in_port, pkt)
+        verify_packet_in(self, pkt, in_port, ofp.OFPR_ACTION)
+        verify_packets(self, pkt, [])
+
     def testPacketFlow(self,
                        s_vlan_id,
                        c_vlan_id,
@@ -248,7 +258,7 @@
         do_barrier(self.controller)
         verify_no_errors(self.controller)
 
-    def setupIgmpCaptureFlowRules(self, cookie):
+    def installIgmpRule(self, cookie):
         """Etsablish flow rules that will forward any incoming
            IGMP packets to controller (from any port, OLT and ONUs)
         """
