I think you're confusing logical DDS-partitions (i.e. the DDS QoS Policy that you set on publishers and subscribers) and what is called 'physical' network-partitions in OpenSplice DDS which are characterized by a multicast-group.
The 'PartitionMapping' defines the relationship (or 'mapping') between a 'logical' Partition/Topic combination on DDS-level and an OpenSplice DDS NetworkPartition as a powerful and transparent optimization of traffic flow and confinement (utilizing hardware multicasting capabilities of the utilized network).
In your configuration example, you map ALL (*) topics in ALL (*) partitions (DCPSPartitionTopic="*.*") to the physical NetworkPartition called "receiver" that uses the 220.127.116.11 multicast address. So with such configuration the 'GlobalPartition' (i.e. the partition that will be used if no specific mapping applies) will not be utilized at all.
From a DDS-API perspective, physical partitions are transparent and communication will ONLY occur when there's a partition-match between the partition specified for the publisher a nd the subscriber. If you specify a partition called "receiver" at the subscriber, then you will only receive information if there's also a publisher that publishes into that "receiver" partition.
So to use multicast you don't need to define any NetworkPartitions at all, just specifying a multicast address for the 'GlobalPartition' (as you did) is enough. Just don't forget to use matching partition-names for the publisher and the subscriber.
hope this helps a little.
posted on Monday, March 16, 2009 - 01:06 pm
thanks and Yes I confused DDS-partitions and network-partitions but at first I try also just to specifying a multicast address for the 'GlobalPartition' for example 18.104.22.168 and I didnt get any samples trough but when I use broadcast it works fine.
I am using ubuntu linux 8.4. Must I configure everything else or just GlobalPartition multicast address?
Note the MULTICAST attribute in the third line of the eth0 properties. If this is not present, it's possible that your kernel has not been compiled with multicast support. But before re-compiling the kernel try enabling multicast on your network interface (eth0 in this case) via ifconfig:
Do you see anything suspicious in the ospl-info.log file? Or is there a ospl-error.log? Can you check wether the networking services have indeed joined the multicast group? cat /proc/net/igmp should show that.