from mininet.node import Node class LinuxRouter(Node): def config(self, **params): self.cmd('sysctl net.ipv4.ip_forward=1') def terminate(self): self.cmd('sysctl net.ipv4.ip_forward=0') super(LinuxRouter, self).terminate() class OLSRRouter(LinuxRouter): def config(self, **params): super(OLSRRouter, self).config(**params) self.servicePid = self.cmd('olsrd -nofork -i ' + ' '.join(self.intfNames()) + ' >/dev/null 2>&1 & echo $!') print(self.servicePid) def terminate(self): self.cmd('kill ', self.servicePid) super(OLSRRouter, self).terminate() class BATMANRouter(LinuxRouter): def config(self, **params): super(BATMANRouter, self).config(**params) self.servicePid = self.cmd('batmand ' + ' '.join(self.intfNames()) + '& echo $!') print(self.servicePid) def terminate(self): self.cmd('kill ' + self.servicePid) super(BATMANRouter, self).terminate()