1% IFE test campaign 2 3# 4# execute test: 5# > test/run_tests -P "load_contrib('ife')" -t test/contrib/ife.uts 6# 7 8+ Basic layer handling 9= build basic IFE frames 10 11frm = Ether()/IFE(tlvs=[IFESKBMark(value=3), IFETCIndex(value=5)]) 12 13frm = Ether(bytes(frm)) 14 15assert IFE in frm 16assert frm[IFE].tlvs[0].type == 1 17assert frm[IFE].tlvs[0].length == 8 18assert frm[IFE].tlvs[0].value == 3 19assert frm[IFE].tlvs[1].type == 5 20assert frm[IFE].tlvs[1].length == 6 21assert frm[IFE].tlvs[1].value == 5 22 23= add padding if required 24 25frm = Ether()/IFE(tlvs=[IFETCIndex()]) 26assert len(raw(frm)) == 24 27 28frm = Ether()/IFE(tlvs=[IFESKBMark(), IFETCIndex()]) 29assert len(raw(frm)) == 32 30 31= variable payload 32 33frm = Ether(src="aa:aa:aa:aa:aa:aa", dst="bb:bb:bb:bb:bb:bb")/IFE(tlvs=[IFETlvStr(b"testsr")]) 34assert bytes(frm) == b'\xbb\xbb\xbb\xbb\xbb\xbb\xaa\xaa\xaa\xaa\xaa\xaa\xed>\x00\x08testsr' 35