- 18 Mar, 2013 6 commits
-
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This uses the "t1" field, introduced two commits ago, instead of local variables in the functions handling sync/follow_up. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This commit simply reorders the TimeInternal fields of pp_instance, to make the structure more understandable. It also adds t1 that will be used by a later commit. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This renames sync_receive_time to t2, delay_req_send_time to t3 and delay_req_receive_time to t4 (there is "t1" field in ppi yet). Such naming is what the official documents use everywhere, so it's better to respect that naming, that everybody in the field is familiar with. Besides, they are shorter and they can be used unchanged for pdelay operations (the previous pdelay implementation we inherited from ptpd, used a separate set of fields that are not really needed). Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 16 Mar, 2013 1 commit
-
-
Aurelio Colosimo authored
This patch introduces struct pp_globals in include/ppsi/pp-instance.h and starts using it in arch-gnu-linux. Actually, the behaviour does not change yet, and only one interface is taken into account. In main-loop.c there is a proposal for interfaces enumeration, based on runtime env variables: - one PPROTO_IF_NUM (number of interfaces); - many PPROTO_IF_XX (each one defining an interface name). Signed-off-by: Aurelio Colosimo <aurelio@aureliocolosimo.it>
-
- 14 Mar, 2013 18 commits
-
-
Alessandro Rubini authored
This includes the functionality of tools/ptpdump inside the ppsi executable. Each net_ops->send and net_ops->recv must call the dumping functions (gnu-linux and bare-* already to in this branch; arch-wrpc does not, and I'll all it later).
-
Alessandro Rubini authored
I don't want to declare globals in header files by error (see previous commit). So I'd better use this flag to request "multiple definition" errors at build time. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The new diagnostics for frame input/output, based on tools/dump-funcs.c, reports all information, more orderly. The diagnostic prints in msg.c are thus duplicates (provided all architectures use the new diagnostics in ->recv), and this commit removes them. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
In commit 7c14152c I removed some typedef, in my quest for getting rid of them. But I forgot to remove the type name, so we got "TLV" and similar global variables in the object files. This fixes the buglet, then I add -fno-common to prevent this for happening againg. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Like what I did in two commits ago, now if debug level for "frames" is 2 or more, net_ops->send and net_ops->recv now dump the data to stdout. The format is the same of tools/ptpdump, but the time is not showing the local time, as we miss localtime() and I don't want to waste time recoding it. This is an example of a bare-i386 slave requesting its master: send: TIME: (1363278286 - 0x5141f9ce) 1363278286.52969000 send: ETH: 88f7 (00:25:11:86:1f:d2 -> 01:1b:19:00:00:00) send: VERSION: 2 (type 1, len 44, domain 0) send: FLAGS: 0x0002 (correction 0x00000000) send: PORT: 00-25-11-ff-fe-86-1f-d2-00-01 send: REST: seq 2, ctrl 1, log-interval 127 send: MESSAGE: (E) DELAY_REQ send: MSG-DELAY_REQ: 1363278286.052689000 send: DUMP: payload (size 44) send: DUMP: 81 02 00 2c 00 00 02 00 00 00 00 00 00 00 00 00 send: DUMP: 00 00 00 00 00 25 11 ff fe 86 1f d2 00 01 00 02 send: DUMP: 01 7f 00 00 51 41 f9 ce 03 23 f8 68 diag-frames-1-eth0: SENT 44 bytes at 1363278286.052969000 (delay_req) This is a bare-i386 master receiving the same frame: recv: TIME: (1363278286 - 0x5141f9ce) 1363278286.92899000 recv: ETH: 88f7 (00:25:11:86:1f:d2 -> 01:1b:19:00:00:00) recv: VERSION: 2 (type 1, len 44, domain 0) recv: FLAGS: 0x0002 (correction 0x00000000) recv: PORT: 00-25-11-ff-fe-86-1f-d2-00-01 recv: REST: seq 2, ctrl 1, log-interval 127 recv: MESSAGE: (E) DELAY_REQ recv: MSG-DELAY_REQ: 1363278286.052689000 recv: TLV: too short (46 - 44 = 2) recv: DUMP: payload (size 46) recv: DUMP: 81 02 00 2c 00 00 02 00 00 00 00 00 00 00 00 00 recv: DUMP: 00 00 00 00 00 25 11 ff fe 86 1f d2 00 01 00 02 recv: DUMP: 01 7f 00 00 51 41 f9 ce 03 23 f8 68 00 00 diag-frames-1-eth0: RECV 46 bytes at 1363278286.092899000 (type 1) And this is tools/ptprump running on the master, for the same frame: TIME: (1363278286 - 0x5141f9ce) 17:24:46.092814 ETH: 88f7 (00:25:11:86:1f:d2 -> 01:1b:19:00:00:00) VERSION: 2 (type 1, len 44, domain 0) FLAGS: 0x0002 (correction 0x00000000) PORT: 00-25-11-ff-fe-86-1f-d2-00-01 REST: seq 2, ctrl 1, log-interval 127 MESSAGE: (E) DELAY_REQ MSG-DELAY_REQ: 1363278286.052689000 TLV: too short (46 - 44 = 2) DUMP: payload (size 46) DUMP: 81 02 00 2c 00 00 02 00 00 00 00 00 00 00 00 00 DUMP: 00 00 00 00 00 25 11 ff fe 86 1f d2 00 01 00 02 DUMP: 01 7f 00 00 51 41 f9 ce 03 23 f8 68 00 00 Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This file includes data structures that are needed by tools/dump-funcs.c to be built in freestanding environments. It is included by ptpdump.h, but only for freestanding builds. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
If debug level for "frames" is 2 or more, net_ops->send and net_ops->recv now dump the data to stdout. The format is the same of tools/ptpdump, with "send:" and "recv:" in front. This is an example: send: TIME: (1363277414 - 0x5141f666) 17:10:14.748281 send: VERSION: 2 (type 11, len 64, domain 0) send: FLAGS: 0x0002 (correction 0x00000000) send: PORT: 00-22-15-ff-fe-d7-c0-ef-00-01 send: REST: seq 9, ctrl 5, log-interval 1 send: MESSAGE: (G) ANNOUNCE send: MSG-ANNOUNCE: stamp 0.000000000 send: MSG-ANNOUNCE: grandmaster-quality f8-fe-60f0 send: MSG-ANNOUNCE: grandmaster-prio 248 248 send: MSG-ANNOUNCE: grandmaster-id 00-22-15-ff-fe-d7-c0-ef send: DUMP: payload (size 64) send: DUMP: 8b 02 00 40 00 00 02 00 00 00 00 00 00 00 00 00 send: DUMP: 00 00 00 00 00 22 15 ff fe d7 c0 ef 00 01 00 09 send: DUMP: 05 01 00 00 00 00 00 00 00 00 00 00 00 00 11 f8 send: DUMP: f8 fe f0 60 f8 00 22 15 ff fe d7 c0 ef 00 00 a0 diag-frames-1-eth0: SENT 64 bytes at 1363277414.748281517 (announce) And this is the same frame in the other host: recv: TIME: (1363277414 - 0x5141f666) 17:10:14.691032 recv: VERSION: 2 (type 11, len 64, domain 0) recv: FLAGS: 0x0002 (correction 0x00000000) recv: PORT: 00-22-15-ff-fe-d7-c0-ef-00-01 recv: REST: seq 9, ctrl 5, log-interval 1 recv: MESSAGE: (G) ANNOUNCE recv: MSG-ANNOUNCE: stamp 0.000000000 recv: MSG-ANNOUNCE: grandmaster-quality f8-fe-60f0 recv: MSG-ANNOUNCE: grandmaster-prio 248 248 recv: MSG-ANNOUNCE: grandmaster-id 00-22-15-ff-fe-d7-c0-ef recv: DUMP: payload (size 64) recv: DUMP: 8b 02 00 40 00 00 02 00 00 00 00 00 00 00 00 00 recv: DUMP: 00 00 00 00 00 22 15 ff fe d7 c0 ef 00 01 00 09 recv: DUMP: 05 01 00 00 00 00 00 00 00 00 00 00 00 00 11 f8 recv: DUMP: f8 fe f0 60 f8 00 22 15 ff fe d7 c0 ef 00 00 a0 diag-frames-1-eth0: RECV 64 bytes at 1363277414.691032726 (type b) This is what I got for the same frame in a ptpdump running in the master. TIME: (1363277414 - 0x5141f666) 17:10:14.748376 ETH: 0800 (00:22:15:d7:c0:ef -> 01:00:5e:00:01:81) IP: 17 (192.168.16.1 -> 224.0.1.129) len 92 UDP: (320 -> 320) len 72 VERSION: 2 (type 11, len 64, domain 0) FLAGS: 0x0002 (correction 0x00000000) PORT: 00-22-15-ff-fe-d7-c0-ef-00-01 REST: seq 9, ctrl 5, log-interval 1 MESSAGE: (G) ANNOUNCE MSG-ANNOUNCE: stamp 0.000000000 MSG-ANNOUNCE: grandmaster-quality f8-fe-60f0 MSG-ANNOUNCE: grandmaster-prio 248 248 MSG-ANNOUNCE: grandmaster-id 00-22-15-ff-fe-d7-c0-ef DUMP: payload (size 64) DUMP: 8b 02 00 40 00 00 02 00 00 00 00 00 00 00 00 00 DUMP: 00 00 00 00 00 22 15 ff fe d7 c0 ef 00 01 00 09 DUMP: 05 01 00 00 00 00 00 00 00 00 00 00 00 00 11 f8 DUMP: f8 fe f0 60 f8 00 22 15 ff fe d7 c0 ef 00 00 a0 Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This is oh so boring, but I need to differentiate send from receive when dumping from withing ppsi itself. This is a long patch that has no effect on tools/ptpdump, since it pases the empty string as prefix. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This moves some stuff between dump-main.c and dump-funcs.c, preparing for dump-funcs to be used within ppsi itself. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
pp_diag_allow(ppi, thing, level) can be used as a conditional to mask off diagnostic prints that cannot be individually written as pp_diag() (this mainly applies to frame dumping, introduced in later commits). Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Since dump-funcs.c is going to be used within ppsi itself, print the empty separating lines, as well as the time difference from the previous frame in main, not in dumping functions. This has no effect on ptpdump itself, it's only a preparation for reuse of the code. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
When building freestanding we need to save space. Avoid printing pdelay messages that are neither sent nor used if received. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
I'm adding generic dump code to the receive and send code paths, so I need the length of the incoming frame when first "unpacking" it, to dump the whole frame using code from tools/dump-funcs.c Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This commit allows dump-funcs.c to be build from a freestanding environment. It uses __STDC_HOSTED__ to select what to include, and relies on "network_types.h" to fill the gaps. Such header is not part of this commit. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Include <ppsi/ieee1588_types.h> in tools/, like the rest of the code does. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This commit removes the "dest" argument to dumpstruct(), which now uses printf() and not fprintf(dest,). I plan to use these functions withing PPSi itself if the "frames" diagnostic level is 2, and I'd better avoid to hack around fprintf. ptpdump is not changed, as it already used dumpstruct() with stdout as destination. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 12 Mar, 2013 3 commits
-
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Commit f9f487ff made ClockIdentity into a structure, but I didn't rebuild the tools, which are affected by the type definitions. This fixes the building of ptpdump. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 11 Mar, 2013 2 commits
-
-
Aurelio Colosimo authored
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
- 08 Mar, 2013 10 commits
-
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This simplifies the dataset_cmp a little more, and adds some comment. Nothing changes in the outcome of this commit but I'm unsure about the code (i.e about the original code). The specification says to compare *port* identities, but we are comparing clock identities instead. This is the same in the original ptpd, so if it is wrong it has always been. We'll be able to see what happens when checking with several masters, after porting ppsi to multi-link setup. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
This replaces memcmp(a, b, PP_CLOCK_IDENTITY_LENGTH) with idcmp(a, b) and makes no other changes. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
We should use time operations instead. I forgot the protorype in the header, and now we fail the link step of wrpc-sw with ppsi. Bug introduced in 4b07d444, 106 commits ago. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
We don't have st_com_restart_annrec_timer any more, but I forgot to remove its prototype from the headers. This lead to a link failure in wrpc-sw with the ppsi submodule. But introduced in 415e530e, 96 commits ago. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
the field is used in wrpc-sw, so move it out of "#if 0". Bug introduced by e441b48b, 134 commits ago. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
The code, when receiving announce, was setting a flag in order to run bmc at the next iteration, when that happened, the frame just received was discarded in favour for the programmed state update. This commits remove some fields and one helper function, so the new announce is immediately processed and no frame is lost. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-
Alessandro Rubini authored
the portState field is probably a relic of ptpd, then the state machine was a single switch() statement. Many places were still setting it, but nobody was ever reading the field. Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
-