Syed, each network rule – PF/LB – currently has entries in in 2 tables. PublicIp/PublicPort/Protocol + State/Purpose and other generic fields that are the same for all the networking rules, are being stored in firewall_rules. Other information is being stored in child tables. As an example, for PF rules we store rule to vm mapping in portforwardingrules table.
Firewall_rules table is being used by RulesManagerImpl/NetworkManagerImpl to manage the life cycle of all the rules extending FirewallRule. -Alena. From: Syed Ahmed <sah...@cloudops.com<mailto:sah...@cloudops.com>> Reply-To: "dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>" <dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>> Date: Monday, October 28, 2013 11:39 AM To: "dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>" <dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>> Subject: Adding "protocol" parameter to CreateLoadBalancerRule API Hi, As a part of implementing the SSL termination functioanlity, I was trying to add a protocol parameter to the CreateLoadBalancerRule API so that the correct type of LB can be created to which the certificate can be bound. I see that the LoadBalancerVO is an extension of FirewallVO which has its own protocol field which is used for some other purpose. Why do we have Firewall and LB as the same entity? Also, If I were to add protocol for the LB, is it OK if I create another field "lb_protocol" in the load_balancing_rules table ? Thanks, -Syed