OpenVZ Forum


Home » General » Support » Howto set static MAC for bridge device?
Howto set static MAC for bridge device? [message #22118] Sun, 21 October 2007 11:05 Go to previous message
piavlo is currently offline  piavlo
Messages: 159
Registered: January 2007
Senior Member
Hi,
Is there a way to assign a static mac to bridge device?
What i've noticed is that each time i add vethXXX.0 device
to brigde, the bridge mac address gets changed to the mac
of the newly added vethXXX.0 device.
This causes a delay for active connections to all the VE's and the VE0 , since the remote hosts arp entry is now wrong and needs to be revalidated.
The second BIG problem this causes is then i try live migration
of one of the VE - on the host to which the VE is migrated
the bridge mac gets changed to the mac of the migrated VE, while
on the host from which the VE is migrating the bridge has still
the same mac. Thus the migration get's stuck and both openvz host
bridges have the same macs and everything is in a big mess Sad

projsrv1 ~ # brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.00142275864a       no              eth0
projsrv1 ~ # ip addr
2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:14:22:75:86:4a brd ff:ff:ff:ff:ff:ff
10: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:14:22:75:86:4a brd ff:ff:ff:ff:ff:ff
    inet 132.72.41.116/21 brd 132.72.47.255 scope global br0
projsrv1 ~ # vzctl start 103
Warning: configuration file for distribution cs-nis-gentoo-amd64-11-10-2007 not found default used
Starting VE ...
VE is mounted
Setting CPU units: 120000
Configure meminfo: 606496
Configure veth devices: veth103.0 
VE start in progress...
projsrv1 ~ # ip addr
2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:14:22:75:86:4a brd ff:ff:ff:ff:ff:ff
10: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:0c:29:8d:0c:cf brd ff:ff:ff:ff:ff:ff
    inet 132.72.41.116/21 brd 132.72.47.255 scope global br0
23: veth103.0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:0c:29:8d:0c:cf brd ff:ff:ff:ff:ff:ff


And live migration from projsrv1 to projsrv3 gets stuck.
projsrv1# vzmigrate -v -r no --keep-dst --online projsrv3 102
OPT:-v
OPT:-r
OPT:--keep-dst
OPT:--online
OPT:projsrv3
Starting online migration of VE 102 on projsrv3
 * status:  started
    Loading /etc/vz/vz.conf and /etc/vz/conf/102.conf files
    Check IPs on destination node:
Preparing remote node
    Copying config file
102.conf                                                                                   100% 1871     1.8KB/s   00:00    
Saved parameters for VE 102
    Creating remote VE root dir
    Creating remote VE private dir
Initializing remote quota
    Quota init
    Turning remote quota on
Syncing private
Live migrating VE
    Suspending VE
Setting up checkpoint...
        suspend...
        get context...
Checkpointing completed succesfully
    Dumping VE
Setting up checkpoint...
        join context..
        dump...
Checkpointing completed succesfully
    Copying dumpfile
dump.102                                                                                   100%  161MB  40.3MB/s   00:04    
    Syncing private (2nd pass)
Syncing 2nd level quota
    Dumping 2nd level quota
    Copying 2nd level quota
quotadump.102                                                                              100%   21     0.0KB/s   00:00    
    Load 2nd level quota
    Undumping VE
Restoring VE ...
Warning: configuration file for distribution cs-nis-gentoo-amd64-11-10-2007 not found default used
Starting VE ...
vzquota : (warning) Quota is running for id 102 already
VE is mounted
        undump...
Setting CPU units: 200000
Configure meminfo: 606496
Configure veth devices: veth102.0 
... STUCK HERE ...

From ps i see that the following ssh process is stuck
ssh,7118 root@projsrv3 vzctl restore 102 --undump --dumpfile /var/tmp/dump.102 --skip_arpdetect

From remote host arp i see that both projsrv1 & projsrv3
get the same MAC address
remotehostonthelan# arp -a  | grep projsrv
projsrv3 (132.72.41.118) at 00:0C:29:6D:7B:0E [ether] on eth0
projsrv1 (132.72.41.116) at 00:0C:29:6D:7B:0E [ether] on eth0

 
Read Message
Read Message
Read Message
Previous Topic: vps.mount and vps.unmount
Next Topic: PS on HN shows all process--even those in the VE
Goto Forum:
  


Current Time: Sun Jun 29 22:54:43 GMT 2025

Total time taken to generate the page: 0.01804 seconds