Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            using (TikSession session = new TikSession(TikConnectorType.Api))
            {
                //REMARS - works without access to mikrotik router

                FirewallMangleList dest   = CreateList();
                FirewallMangleList srcTmp = CreateList();

                List <FirewallMangle> src = new List <FirewallMangle>(srcTmp);
                FirewallMangle        additionalMangle = new FirewallMangle()
                {
                    SrcAddress = "192.168.1.4", Action = "allow"
                };
                src.Insert(0, additionalMangle);

                dest.MergeSubset(dest, src, dest.First(), m => m.SrcAddress,
                                 (d, s) => d.Action = s.Action);


                foreach (FirewallMangle mangle in dest)
                {
                    Console.WriteLine(mangle);
                }
                Console.WriteLine("I/U/D/M {0}/{1}/{2}/{3}", dest.NewCount, dest.UpdatedCount, dest.DeletedCount, dest.MovesCount);
                Console.ReadLine();
            }
        }
Ejemplo n.º 2
0
        private static FirewallMangleList CreateList()
        {
            FirewallMangleList result = new FirewallMangleList();

            for (int i = 1; i <= 3; i++)
            {
                string         address = string.Format("192.168.1.{0}", i);
                FirewallMangle mangle  = new FirewallMangle()
                {
                    SrcAddress = address, Action = "allow"
                };
                result.Add(mangle);

                mangle.MarkClear(); //workaround
            }

            result.ClearMoves();

            return(result);
        }