Adding P4D2_2018_East Folder (#116)
* Copying P4D2 Fall 2017 into P4D2 2018 East. * Updated P4D2_2018_East VM. Added vagrant URL workaround, cdrom to VM. Updated to latest commits of BMV2, p4c, PI. Known issue with p4runtime exercise. * Applied patch from @antoninbas in and updated solution
This commit is contained in:
42
P4D2_2018_East/utils/Makefile
Normal file
42
P4D2_2018_East/utils/Makefile
Normal file
@@ -0,0 +1,42 @@
|
||||
BUILD_DIR = build
|
||||
PCAP_DIR = pcaps
|
||||
LOG_DIR = logs
|
||||
|
||||
TOPO = topology.json
|
||||
P4C = p4c-bm2-ss
|
||||
RUN_SCRIPT = ../../utils/run_exercise.py
|
||||
|
||||
source := $(wildcard *.p4)
|
||||
outfile := $(source:.p4=.json)
|
||||
|
||||
compiled_json := $(BUILD_DIR)/$(outfile)
|
||||
|
||||
# Define NO_P4 to start BMv2 without a program
|
||||
ifndef NO_P4
|
||||
run_args += -j $(compiled_json)
|
||||
endif
|
||||
|
||||
# Set BMV2_SWITCH_EXE to override the BMv2 target
|
||||
ifdef BMV2_SWITCH_EXE
|
||||
run_args += -b $(BMV2_SWITCH_EXE)
|
||||
endif
|
||||
|
||||
all: run
|
||||
|
||||
run: build
|
||||
sudo python $(RUN_SCRIPT) -t $(TOPO) $(run_args)
|
||||
|
||||
stop:
|
||||
sudo mn -c
|
||||
|
||||
build: dirs $(compiled_json)
|
||||
|
||||
$(BUILD_DIR)/%.json: %.p4
|
||||
$(P4C) --p4v 16 $(P4C_ARGS) -o $@ $<
|
||||
|
||||
dirs:
|
||||
mkdir -p $(BUILD_DIR) $(PCAP_DIR) $(LOG_DIR)
|
||||
|
||||
clean: stop
|
||||
rm -f *.pcap
|
||||
rm -rf $(BUILD_DIR) $(PCAP_DIR) $(LOG_DIR)
|
||||
Reference in New Issue
Block a user