Commit Graph

144 Commits

Author SHA1 Message Date
Gavin Lee 39a676c496 Correct license header mainly for patches folder
Signed-off-by: Chip Childers <chip.childers@gmail.com>
I've assumed that Gavin's commit is appropriate, based
on an assumption that we will keep these files in the source
tree.  If https://issues.apache.org/jira/browse/LEGAL-146
results in a different opionion from the members, then we
will end up having to do something more drastic anyway.
2012-08-31 10:50:46 -04:00
Rohit Yadav 2296dc4acc bug CS-15942: Fixes port forwarding issue for redundant routers 2012-08-28 12:11:55 +05:30
Sheng Yang dd50bdf38e CS-15731: Make S2S VPN no-nat rule the top of POSTROUTING 2012-07-27 18:49:25 -07:00
bfederle c8f72c9198 Merge branch 'master' into vpc
Conflicts:
	ui/scripts/network.js
2012-07-23 10:36:25 -07:00
David Nalley 67bc9c819a fixing some more license headers 2012-07-20 15:59:31 -04:00
anthony c75fe80125 VPC : use routerProxy to call networkUsage.sh
Conflicts:

	core/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
2012-06-15 14:25:21 -07:00
anthony a08c9e7890 VPC : move acl.sh ipassoc.sh to /opt/cloud/bin/ 2012-06-15 14:24:09 -07:00
anthony 1a621a01f5 typo fix 2012-06-15 14:19:02 -07:00
anthony c442d6d7ab add guestnw.sh
add acl.sh
merge setup_dhcpsvr and setup_route
2012-06-15 14:18:47 -07:00
Sheng Yang 96e7e3d1ca CS-15175: Fix public interfaces of redundant router
We need to use ifup/ifdown to bring up the interfaces, because ifconfig don't
know the ip of the interface after we modify cloud-early-config to avoid
first start up of public interface.

Reviewed-by: Edison
2012-05-31 17:58:02 -07:00
anthony 3d74115769 CS-14784, CS-15065 , after release IP, reapply other IPs in the same eth device, to prevent secondary IPs are removed when primary IP is removed 2012-05-23 18:42:53 -07:00
Jayapal 5485faae3a CS-13500 Added hairpin NAT fix for static NAT 2012-05-23 12:15:33 +05:30
anthony 297996e907 CS-14784 support multiple subnets
resolved fixed
2012-05-16 16:26:00 -07:00
Naredula Janardhana Reddy d0a09732d2 Bug 14120: Enabling SNAT for all the public NICs.
Summary of changes:
    - snat flag is set to true if it is first ip of the NIC.

reviewed-by: Abhi
2012-05-07 10:08:51 +05:30
frank 2f634c0913 Switch to Apache license 2012-04-03 04:50:05 -07:00
Sheng Yang 1ca493e4fa bug 14042: Don't set dhcp:router option on DHCP server for non-default network on CentOS/RHEL
The routing table with two nics may be messed up, due to we sent same
router(gateway) information from different DHCP server, in order to specify
default gateway. E.g.

Network A: 192.168.1.0/24, gw 192.168.1.1
Network B: 192.168.2.0/24, gw 192.168.2.1

User VM: Nic 1 connect to network A, get ip 192.168.1.10; nic 2 connect to
network B, get ip 192.168.2.10.

Set network A as the default network of user VM.

Currently we would send this information to user VM through DHCP offer:
In network A: dhcp-option:router 192.168.1.1
In network B: dhcp-option:router 192.168.1.1

So both NIC in the guest VM would receive 192.168.1.1 as router(gateway).

But, in CentOS 5.6, dhclient-scripts try to tell if the gateway is reachable
for current subnet.

So when we try to enable nic 2(eth1) of user VM, dhclient would receive:
IP: 192.168.2.10
Mask: 255.255.255.0
Router: 192.168.1.1

Then it would found that the specified gateway(router) is not within its own
subnet(192.168.2.0/24). But since we send out this ip(192.168.1.1) as the
gateway for it, dhclient thought that it should got someway to access the
network through this IP. So it would execute:

ip route add 192.168.1.1 dev eth1
ip route replace default via 192.168.1.1 dev eth1

But it can never reach 192.168.1.1(which is in the eth0's subnet and the
gateway of eth0) by go through eth1 interface. So it is messed up.

We've tested Windows 2008 R2, CentOS 5.3, CentOS 5.6 and Ubuntu 10.04. Windows
and Ubuntu are fine with above policy.

To solve this, we send different dhcp:router option according to the guest OS
type now.

We may need expand this list later, but for now we only know that CentOS and
RHEL would behavior in this way.

status 14042: resolved fixed
2012-03-21 10:38:18 -07:00
Sheng Yang 02595f1b33 bug 12706: Add broadcast address for the network interface
status 12706: resolved fixed
2012-02-23 15:50:50 -08:00
Naredula Janardhana Reddy 5af6fbef83 Bug 13375:
Summary of changes:
  - Fix the order of source nat ip's : Static Nat IP's will be on top of Router source nat IP's. means Static NAT ip will take higher preference when compare to router ip while picking ip for source nat.

Reviewed-by: Abhi
2012-02-20 16:22:44 +05:30
Naredula Janardhana Reddy 623e7d93a8 Bug 13964:
Summary of changes: Added Hairpin Nat.
  - defined Harpin NAT function.
  - Called Hairpin NAT while adding/deleting port forwading and Static NAT rules.
  - added rules in IPtables config file, this will be iniated during bootup to forward New/established connectons from eth0 to eth0.
2012-02-20 16:16:53 +05:30
Naredula Janardhana Reddy 94e016b0c3 Bug 12808: ignoring errors on delete. 2012-02-14 11:58:27 +05:30
Naredula Janardhana Reddy 523da5b3f4 Bug 12808:
Summary of Changes:   Using multiple routing tables to send the packets on the public NIC's based on source IP for the following type of connections:
  - Inbound connections of Static NAT ip .
  - Outbound connections of static-NAT (using static NAT-ip for SNAT).
2012-02-13 15:08:24 +05:30
Sheng Yang 924366d056 bug 13606: Fix releasing of the first IP of second public nic
The problem is remove_first_ip() in ipassoc.sh can't be called more than one.
The call after the first time would result in iptable and ip command failure,
thus result in failure of execution of IpAssocCommand.

Use the same way to detect already disassociated ip address of non-first
IP(remove_an_ip()) to fix the issue.

reviewed-by: Edison Su

status 13606: resolved fixed
2012-02-10 18:52:15 -08:00
Naredula Janardhana Reddy 72fb7256d7 Bug 13297,13375,12705 :
Summary of changes :
        - Added a new flag -s to ipassoc command to carry if the ip address is
used for SNAT or not.
        - SNAT is completly decoupled from the first flag. first flag is used
to decide if the ip address is first ip address of the interface.
        - -s and -f are independent, SNAT can be enabled on the non-first ip
also.
2012-02-01 12:39:10 +05:30
Naredula Janardhana Reddy e52ac3ae31 Bug 12808: Logging added, Improved remove_routing 2012-01-25 12:54:36 +05:30
Naredula Janardhana Reddy 5ca5851b1b Bug 12808:
Summary of changes:
  - Mutiple routing table for each public interface is added (previously there is only one routing table ). when the packet is send out of public interface corresponding per-interface routing table will be used. per-interface routing table will modified when ever ip/interface added/deleted.
  - New parameter is added to ipassoc command  to include the default gateway for every interface/ip. prevously it is using only one public interface to send out, default gateway is obtained at the boot up time.
  - In the DNAT case. In the revese path(from guest vm to outside, or when DNAT packet receives from the eth0) the public ip/source ip will not be available till POSTROUTING. to overcome this, DNAT connection are marked with routing table number at the time of connection creation, in the reverse path the routing table# from DNAT connection is used to detect per-interface routing table.
2012-01-25 12:54:00 +05:30
Naredula Janardhana Reddy de8ba55d85 Bug 12496: Allowing guest vm's to access virtual router LB service 2012-01-25 12:17:39 +05:30
frank 52610ffcb3 add copyright header to shell scripts 2012-01-11 18:41:53 -08:00
Sheng Yang f98191be5c Fix domr's file lock
And add more information for domr's file lock
2012-01-10 14:25:43 -08:00
Sheng Yang 59981f71c1 bug 12883: Fix numerous NETWORK_STAT related rule in iptables
Also use script in the router for the execution.

status 12883: resolved fixed
2012-01-09 20:04:45 -08:00
Sheng Yang 7e6bbf9b16 Discard rrouter lock
Then we can make all the actions in sequence
2011-12-30 15:00:59 -08:00
Sheng Yang aeda3f3a1c bug 11056: Add customized iptables and kernel modules to the system template
The new kernel module xt_CHECKSUM.ko is based on [1], and back ported to 2.6.32
kernel. New iptables is based on adding a new extension from [2].

[1]https://lwn.net/Articles/396466/
[2]https://git.netfilter.org/cgi-bin/gitweb.cgi?p=iptables.git;a=commit;h=9d1b11102b53103c00b7fddf4658a4d2bdee1338

status 11056: resolved fixed
2011-12-28 20:20:35 -08:00
Sheng Yang 14d6c85176 bug 12727: Add arping to update the vSwitch cache
We need to broadcast all our public IP address's ARP, not only the gateway one.

status 12727: resolved fixed
2011-12-22 17:24:57 -08:00
Sheng Yang 3b2e2b079b bug 12704: Fix multiply public nics with redundant router
status 12704: resolved fixed
2011-12-21 16:01:58 -08:00
Chiradeep Vittal 797836723d bug 10804: add default dns provider 2011-12-05 16:56:31 -08:00
Chiradeep Vittal 89f13ad700 bug 10804 virtual router support for per-vm default network 2011-12-05 14:53:42 -08:00
Edison Su 782b4d97b2 bug 11835: don't return error if it's delete firewall rules
status 11835: resolved fixed
Reviewed-by: frank
2011-11-10 17:59:01 -08:00
Naredula Janardhana Reddy 00ea2a5995 bug 11590:
reviewed-by: Abhi

Summary of Changes:
 while adding a primary address to the domR interface, previous primaray addresses(ip) are removed and added as with 32-bit netmask.
   This is to avoid two same ip's with different netmask attached to the interface.
2011-11-09 16:44:47 +05:30
Sheng Yang c44db2557d bug 11772: Add improved version of locking for the scripts in the systemvm
Because currently the lock in the script is retried every 1 second, and it's a
quite a long time that it's possible for some other active script can be
executed and retain the lock again. So it's possible that the first one request
the lock is always being preemptted by others, then finally got timeout.

To fix this issue, the retry interval is reduced to 0.1 seconds, which would
provide more retry times. And each process want to get the lock would create a
file named lockname-PID.lock, and only the first one(judged by timestamp) would
get the lock. The remaining ones would retry every 0.1 seconds to see if it can
get the lock.

Also timeout time is extended to 30 seconds.

And add testcase for it.

status 11772: resolved fixed
2011-11-01 19:06:14 -07:00
kishan a4af6d43f8 bug 11547: VMware - Reset iptables counter when a public interface on domR is
removed
status 11547: resolved fixed
reviewed-by: Ram
2011-09-28 16:50:57 +05:30
kishan 8ffeddb020 bug 11547: Reset iptables counter when a public interface on domR is removed 2011-09-23 15:43:45 +05:30
Naredula Janardhana Reddy db75bf2072 bug 11455: adding firewall rule chain to the main chain in the case when vpn chain is not present. 2011-09-16 17:30:41 +05:30
Sheng Yang fe838c5528 bug 11233: Update switch's cache using ping
We would ping the gateway after transit to MASTER, this should speed up the
update of switch's cache.
2011-09-14 16:26:54 -07:00
Sheng Yang c47bc3664e Add rrouter lock for edithost.sh and ipassoc.sh 2011-09-14 16:26:09 -07:00
Sheng Yang ba2fc97865 bug 11351: Add monitor process for keepalived
Then when the process dead, we can know it and prevent two MASTER case happened.
2011-09-14 16:25:17 -07:00
Sheng Yang d3b0f04877 bug 11351: Add checkrouter.sh.templ
Also modify ipassoc.sh to use checkrouter.sh
2011-09-14 16:25:03 -07:00
Sheng Yang b007e24e59 bug 11351: Add parameters for binary file/log file 2011-09-14 16:24:50 -07:00
Sheng Yang 4bbfa2513e bug 11307: Add PRIORITY bump up script for redundant virtual routers 2011-09-14 16:18:55 -07:00
Sheng Yang 0553c543a1 bug 11421: Add missing source cmd for ipassoc.sh
status 11421: resolved fixed
2011-09-13 11:08:32 -07:00
Sheng Yang 97d788dfc9 Add log for reconfigLB.sh 2011-09-12 17:00:53 -07:00
Sheng Yang abc44ac283 bug 11266: Add lock file for every script in the systemVM
To prevent them from racy.

status 11266: resolved fixed
2011-09-09 18:27:33 -07:00