% IFE test campaign # # execute test: # > test/run_tests -P "load_contrib('ife')" -t test/contrib/ife.uts # + Basic layer handling = build basic IFE frames frm = Ether()/IFE(tlvs=[IFESKBMark(value=3), IFETCIndex(value=5)]) frm = Ether(bytes(frm)) assert IFE in frm assert frm[IFE].tlvs[0].type == 1 assert frm[IFE].tlvs[0].length == 8 assert frm[IFE].tlvs[0].value == 3 assert frm[IFE].tlvs[1].type == 5 assert frm[IFE].tlvs[1].length == 6 assert frm[IFE].tlvs[1].value == 5 = add padding if required frm = Ether()/IFE(tlvs=[IFETCIndex()]) assert len(raw(frm)) == 24 frm = Ether()/IFE(tlvs=[IFESKBMark(), IFETCIndex()]) assert len(raw(frm)) == 32 = variable payload frm = Ether(src="aa:aa:aa:aa:aa:aa", dst="bb:bb:bb:bb:bb:bb")/IFE(tlvs=[IFETlvStr(b"testsr")]) assert bytes(frm) == b'\xbb\xbb\xbb\xbb\xbb\xbb\xaa\xaa\xaa\xaa\xaa\xaa\xed>\x00\x08testsr'