* whenever the wire protocol changes. try to keep this string length
* constant.
*/
-#define CEPH_BANNER "ceph v026"
+#define CEPH_BANNER "ceph v027"
#define CEPH_BANNER_MAX_LEN 30
* entity_addr -- network address
*/
struct ceph_entity_addr {
- __le64 nonce; /* unique id for process (e.g. pid) */
+ __le32 type;
+ __le32 nonce; /* unique id for process (e.g. pid) */
struct sockaddr_storage in_addr;
} __attribute__ ((packed));
}
struct entity_addr_t {
- __u64 nonce;
+ __u32 type;
+ __u32 nonce;
sockaddr_storage addr;
- entity_addr_t() : nonce(0) {
+ entity_addr_t() : type(0), nonce(0) {
memset(&addr, 0, sizeof(addr));
}
entity_addr_t(const ceph_entity_addr &o) {
+ type = o.type;
nonce = o.nonce;
addr = o.in_addr;
addr.ss_family = ntohs(addr.ss_family);
operator ceph_entity_addr() const {
ceph_entity_addr a;
+ a.type = 0;
a.nonce = nonce;
a.in_addr = addr;
a.in_addr.ss_family = htons(addr.ss_family);
}
void encode(bufferlist& bl) const {
+ ::encode(type, bl);
::encode(nonce, bl);
::encode(addr, bl);
}
void decode(bufferlist::iterator& bl) {
+ ::decode(type, bl);
::decode(nonce, bl);
::decode(addr, bl);
}