Date: Thu, 18 Sep 2014 14:45:09 GMT From: dpl@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r274311 - soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw Message-ID: <201409181445.s8IEj96W027950@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dpl Date: Thu Sep 18 14:45:08 2014 New Revision: 274311 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=274311 Log: Added the rule_macaddr2, rule_mac_type, rule_diverted, and rule_proto calls. Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc ============================================================================== --- soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Thu Sep 18 14:32:05 2014 (r274310) +++ soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc Thu Sep 18 14:45:08 2014 (r274311) @@ -1341,7 +1341,6 @@ Value *OpcodeL = Irb.CreateLoad(Opcode); // Opcode is u_int8 Value *OpcodeL32 = Irb.CreateZExt(OpcodeL, Int32Ty); - RuleForwardMac->dump(); Irb.CreateCall(RuleForwardMac, {OpcodeL32}); } @@ -1422,11 +1421,19 @@ void emit_macaddr2() { + // rule_macaddr2(&match, args, cmd); + Value *CmdL = Irb.CreateLoad(Cmd); + Irb.CreateCall(RuleMacaddr2, {Match, Args, CmdL}); } void emit_mac_type() { + // rule_mac_type(&match, args, cmd, cmdlen, etype); + Value *CmdL = Irb.CreateLoad(Cmd); + Value *CmdlenL = Irb.CreateLoad(Cmdlen); + Value *EtypeL = Irb.CreateLoad(Etype); + Irb.CreateCall(RuleMacType, {Match, Args, CmdL, CmdlenL, EtypeL}); } // XXX Exec not tested. @@ -1457,11 +1464,18 @@ void emit_diverted() { + // rule_diverted(&match, args, cmd); + Value *CmdL = Irb.CreateLoad(Cmd); + Irb.CreateCall(RuleDiverted, {Match, Args, CmdL}); } void emit_proto() { + // rule_proto(&match, proto, cmd); + Value *CmdL = Irb.CreateLoad(Cmd); + Value *ProtoL = Irb.CreateLoad(Proto); + Irb.CreateCall(RuleProto, {Match, ProtoL, CmdL}); } // XXX Exec not tested. @@ -1873,7 +1887,7 @@ compiler.emit_inner_for_prologue(); // Rule to test printf("Testing rule compilation\n"); - compiler.emit_forward_mac(); + compiler.emit_proto(); printf("emit_inner_for_epilogue()\n"); compiler.emit_inner_for_epilogue(); printf("emit_outer_for_epilogue()\n");
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201409181445.s8IEj96W027950>