added 3 bmv2 examples: copy_to_cpu, meter, TLV_parsing

This commit is contained in:
Antonin Bas
2015-10-22 16:04:30 -07:00
parent c8205b938b
commit 996bbbad31
20 changed files with 868 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
from scapy.all import *
import sys
import threading
big_lock = threading.Lock()
class Receiver(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.daemon = True
def received(self, p):
big_lock.acquire()
print "Received one"
big_lock.release()
def run(self):
sniff(iface="veth2", prn=lambda x: self.received(x))
def main():
try:
packet_int = int(sys.argv[1])
print "Sending packet with interval", packet_int
except:
print "Usage: sudo python send_and_receive.py <packet_int (seconds)>"
sys.exit(1)
Receiver().start()
p = Ether(src="aa:aa:aa:aa:aa:aa") / IP(dst="10.0.1.10") / TCP() / "aaaaaaaaaaaaaaaaaaa"
while True:
big_lock.acquire()
sendp(p, iface="veth0", verbose=0)
print "Sent one"
big_lock.release()
time.sleep(packet_int)
if __name__ == '__main__':
main()