#!/usr/bin/python # Copyright 2013-present Barefoot Networks, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from scapy.all import Ether, IP, sendp import networkx as nx import sys def read_topo(): nb_hosts = 0 nb_switches = 0 links = [] with open("topo.txt", "r") as f: line = f.readline()[:-1] w, nb_switches = line.split() assert(w == "switches") line = f.readline()[:-1] w, nb_hosts = line.split() assert(w == "hosts") for line in f: if not f: break a, b = line.split() links.append( (a, b) ) return int(nb_hosts), int(nb_switches), links def main(): for i in range(1): p = Ether(dst="00:00:00:00:00:02")/IP(dst="10.0.0.2") print p.show() sendp(p, iface = "eth0") if __name__ == '__main__': main()